How is a default Device Tree Blob determined?

83 views
Skip to first unread message

Greg

unread,
Mar 21, 2016, 9:21:21 PM3/21/16
to BeagleBoard
I am trying to learn how a Device Tree Blob is selected (BeagleBoneBlack) if:

1.  No cape is plugged in.
2.  All dtb and cape lines in uEnv.txt are commented.

In other words a default set-up with no specific DTB or DTBO specified.

What is the process or data used for determining which DTB is used?

Regards,
Greg

Robert Nelson

unread,
Mar 21, 2016, 9:54:12 PM3/21/16
to Beagle Board

Greg

unread,
Mar 21, 2016, 10:43:52 PM3/21/16
to BeagleBoard

I think that's a significant piece of info in understanding how the device tree data structure works for the Beaglebones.
I've got several books on the Beaglebone + Google searching did not yield an answer.

Thanks!
Greg

Greg

unread,
Dec 7, 2016, 8:23:46 PM12/7/16
to BeagleBoard


On Monday, March 21, 2016 at 9:54:12 PM UTC-4, RobertCNelson wrote:
We look at the eeprom:

http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/am335x_evm.h;h=150c5235d230f597641bd8a8fbd8e4afa0fd16cd;hb=HEAD#l164

Regards,


--
Robert Nelson
https://rcn-ee.com/

OK, so let's say I have a version 4.4.30-ti-r64 kernel, and I get this after boot:

 debian@BBG2:/sys/devices/platform/bone_capemgr$ cat slots
 0: PF----  -1 
 1: PF----  -1 
 2: PF----  -1 
 3: PF----  -1 
 4: P-O-L-   0 Override Board Name,00A0,Override Manuf,cape-universal

According to this (I think),

 I should be able to remove slot 4 by:
sudo sh -c "echo '-4' > /sys/devices/platform/bone_capemgr/slots" 

But that doesn't work, and there is all sorts of mayhem, including this from dmesg:

[ 251.257614] Unable to handle kernel NULL pointer dereference at virtual address 0000000d

So, the question is, what is the proper procedure for removing a universal overlay, and then putting in a different one?
The config-pin utility is capable of adding an overlay, but can it remove one???

Regards,
Greg

Robert Nelson

unread,
Dec 7, 2016, 9:33:22 PM12/7/16
to Beagle Board, Soapy Smith
>
> OK, so let's say I have a version 4.4.30-ti-r64 kernel, and I get this after
> boot:
>
> debian@BBG2:/sys/devices/platform/bone_capemgr$ cat slots
> 0: PF---- -1
> 1: PF---- -1
> 2: PF---- -1
> 3: PF---- -1
> 4: P-O-L- 0 Override Board Name,00A0,Override Manuf,cape-universal
>
> According to this (I think),
> https://github.com/beagleboard/bb.org-overlays
>
> I should be able to remove slot 4 by:
> sudo sh -c "echo '-4' > /sys/devices/platform/bone_capemgr/slots"
>
> But that doesn't work, and there is all sorts of mayhem, including this from
> dmesg:
>
> [ 251.257614] Unable to handle kernel NULL pointer dereference at virtual
> address 0000000d
>
> So, the question is, what is the proper procedure for removing a universal
> overlay, and then putting in a different one?
> The config-pin utility is capable of adding an overlay, but can it remove
> one???

removing capes works in 1-5% of overlays...

from /boot/uEnv.txt remove the cape_universal=enable and it'll come up
with nothing on your next bootup..

Greg

unread,
Dec 7, 2016, 10:43:14 PM12/7/16
to BeagleBoard, soapy...@comcast.net


On Wednesday, December 7, 2016 at 9:33:22 PM UTC-5, RobertCNelson wrote:
removing capes works in 1-5% of overlays...

from /boot/uEnv.txt remove the cape_universal=enable and it'll come up
with nothing on your next bootup..

Regards,
--
Robert Nelson
https://rcn-ee.com/

Got it...info much appreciated.

Greg 
Reply all
Reply to author
Forward
0 new messages