I was having an issue loading multiple device tree overlays. I was hoping that someone could help me or maybe point me to a discussion thread I have overlooked.
The issue is that I have three device tree overlays that I would like to manually upload on my beaglebone. However, only the first of the overlays that I echo to slots will show up on pingroups and be recognized by the machine.
My device info:
root@arm:/boot/uboot# uname -a
Linux arm 3.8.13-bone40 #1 SMP Fri Jan 31 07:31:37 UTC 2014 armv7l GNU/Linux
This is how my slot configuration appears upon starting. As can be seen there are 4 overlays that are automatically loaded:
root@arm:/lib/firmware# cat /sys/devices/bone_capemgr.8/slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART2
6: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART4
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART5
8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPIDEV1
Using the command below I am able to manually add an overlay. This will be recognized in the pingroups without issue.
root@arm:/lib/firmware# echo enable-uart3 > /sys/devices/bone_capemgr.8/slots
How my slots appear after the addition.
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART2
6: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART4
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART5
8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPIDEV1
11: ff:P-O-L Override Board Name,00A0,Override Manuf,enable-uart3
However when I try to add another overlay, it appears in slots but does have any effect in pingroups. The commands I used are below.
root@arm:/lib/firmware# echo enable-gpio32> /sys/devices/bone_capemgr.8/slots
root@arm:/boot/uboot# cat /sys/devices/bone_capemgr.8/slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART2
6: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART4
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART5
8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPIDEV1
11: ff:P-O-L Override Board Name,00A0,Override Manuf,enable-uart3
12: ff:P-O-L Override Board Name,00A0,Override Manuf,enable-gpio32
My third overlay is called enable-dcan1 but it exhibits the same behavior as above so I will not show the process of adding it.
Initially assumed that I had compiled an overlay incorrectly, but upon further experimentation I realized that the first overlay was always the one that got recognized by the machine and the other two were ignored.
A few of my thoughts:
Could the skipping of slots (4-6) and (8-11) be causing some sort of issue.
Is there a maximum number of possible overlays that I have reached which prevents any more from being recognized.
I would appreciate any help that people can supply.
Thanks,
Tim Rackers