BBB Ubuntu 3.8.13-bone28 cross compiled from Robert Nelson's source

I have been trying to use P9-25 as a GPIO output (gpio3_21), but couldn't 
change it's mode. I tried to do this with an overlay file and got the error 
message (in dmesg)

[177534.038798] bone-capemgr bone_capemgr.9: slot #10: generic override
[177534.038816] bone-capemgr bone_capemgr.9: bone: Using override eeprom 
data at slot 10
[177534.038834] bone-capemgr bone_capemgr.9: slot #10: 'Override Board 
Name,00A0,Override Manuf,cape-bone-pru'
[177534.040746] bone-capemgr bone_capemgr.9: slot #10: Requesting part 
number/version based 'cape-bone-pru-00A0.dtbo
[177534.040775] bone-capemgr bone_capemgr.9: slot #10: Requesting firmware 
'cape-bone-pru-00A0.dtbo' for board-name 'Override Board Name', version 
'00A0'
[177534.041685] bone-capemgr bone_capemgr.9: slot #10: dtbo 
'cape-bone-pru-00A0.dtbo' loaded; converting to live tree
[177534.041964] bone-capemgr bone_capemgr.9: slot #10: cape-bone-pru 
conflict P9.25 (#5:BB-BONELT-HDMI)
[177534.051650] bone-capemgr bone_capemgr.9: slot #10: Failed verification

But from the BBB technical reference P9.25 is not one of the HDMI reserved 
pins. My guess (after lots of looking around etc.) is the HDMI is loaded by 
the following lines in
am335x-boneblack.dts (after uncompiling from *.dtb) in /boot/dtbs:

                        slot@101 {
                                ti,cape-override;
                                priority = <0x1>;
                                compatible = "ti,beaglebone-black";
                                board-name = "Bone-Black-HDMI";
                                version = "00A0";
                                manufacturer = "Texas Instruments";
                                part-number = "BB-BONELT-HDMI";
                        };

My guess? is this loads an appropriate *.dtbo /lib/firmware that has a line:
        part-number = "BB-BONELT-HDMI";
in the header section of it's */dts file; could someone confirm my 
understanding here?

Going to /lib/firmware I ran >grep -i BB-BONELT-HDMI *
and found the canditates:
Binary file cape-boneblack-hdmi-00A0.dtbo matches
Binary file cape-boneblack-hdmin-00A0.dtbo matches

In the file cape-boneblack-hdmi-00A0.dts (after un-compiling) are the lines:

        exclusive-use = "P9.25", "P9.28", "P9.29", "P9.31", "P8.45", 
"P8.46", "P8.43", "P8.44", "P8.41", "P8.42", "P8.39", "P8.40", "P8.37", 
"P8.38", "P8.36", "P8.34", "P8.35", "P8.33", "P8.31", "P8.32", "P8.27", 
"P8.29", "P8.28", "P8.30", "gpio1_27", "mcasp0", "lcd";

        fragment@0 {
                target = <0xdeadbeef>;

                __overlay__ {

                        nxp_hdmi_bonelt_pins {
                                pinctrl-single,pins = <0x1b0 0x3 0xa0 0x8 
0xa4 0x8 0xa8 0x8 0xac 0x8 0xb0 0x8 0xb4 0x8 0xb8 0x8 0xbc 0x8 0xc0 0x8 
0xc4 0x8 0xc8 0x8 0xcc 0x8 0xd0 0x8 0xd4 0x8 0xd8 0x8 0xdc 0x8 0xe0 0x0 
0xe4 0x0 0xe8 0x0 0xec 0x0>;
                                linux,phandle = <0x1>;
                                phandle = <0x1>;
                        };

It appears to me that the pinctrl-single,pins do correspond to Table 13 in 
section 7.10.1 of the BeagleBone Black System Reference Manual, but there 
appears to be too many
values for exclusive-use, and that these values do not correspond to 
the pinctrl-single,pins values. In particular there should not be any 
header pins from P9, and I also do understand why
"gpio1_27", "mcasp0", "lcd" are included. Indeed, gpio1_27 is not even a 
possibility for the headers. (I'm also wondering why pinctrl-single,pins 
appear to be a random order?).
After backing up cape-boneblack-hdmi-00A0.dts, I edited it take 
out "P9.25", "P9.28", "P9.29", "P9.31" from exclusive-use, and then 
re-compiled using:
 sudo sh -c "dtc -@ -O dtb -o cape-boneblack-hdmi-00A0.dtbo 
cape-boneblack-hdmi-00A0.dts"
After re-booting (and waiting 5 minutes before I could ssh in - I sure wish 
I could fix this and/or get the usb-ether working), I then loaded the 
overlay again, but I still had the conflict

/lib/firmware\> dmesg | tail -2
[  196.851263] bone-capemgr bone_capemgr.9: slot #7: cape-bone-pru conflict 
P9.25 (#5:BB-BONELT-HDMI)
[  196.860761] bone-capemgr bone_capemgr.9: slot #7: Failed verification
/lib/firmware\> 

It looks like my guess on where the exclusive-use is loaded from is 
incorrect. Any suggestions on what to try next? Is it necessary to 
recompile the kernel to change the exclusive-use
pins determined at boot? If so, any links to help with this? Thanks.
Bit_Pusher

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to