AM335x Device Tree Overlay

Hello,

I’m using Yocto with [meta-ti] to create images for the Ti’s AM335x EVM Starter Kit or a Beaglebone black (linux-ti-staging 3.12.10)

Since last days everything went perfectly fine, but I’ve now some issues with the device tree.

I created a device tree overlay (dtbo file) to enable SPI0 and now I’m looking how can I load this overlay during the runtime. I saw that the beaglebone team created a capemgr system to load dtbo dynamically (based on the I2C EEPROM data of the cape).

My question is, how can I load my overlay on my linux who didn’t implement the capemgr… Is there a standard way to do that ? It should be possible I guess, but I’m not a device tree specialist.

Thank you in advance for your help !

Best regards

Piziwate

I am not an expert, but I would guess that if your system didn’t implement capemgr, you won’t be able to load device tree overlays. I would assume the capemgr would be an integral part of all kernels above 3.8, but I may be wrong. If you still use the device tree, you can edit the am335x-bone-common.dtsi or am335x-boneblack.dts directly, and add the appropriate “fragments” from the overlay source into the appropriate stanzas. Then recompile the dtb, and copy it onto your board.

Otherwise you would have to implement/enable the capemgr.

Hello Porkupan,

Thank you for your fast answer !
I searched in the meta-ti > linux-ti-staging kernel (git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git), and I didn’t found it.

Does somebody know which files and dependencies are required to implement it ?

porkupan <vladimir.boroda@gmail.com> writes:

I am not an expert, but I would guess that if your system didn't implement
capemgr, you won't be able to load device tree overlays. I would assume
the capemgr would be an integral part of all kernels above 3.8, but I may
be wrong.

I think you may be wrong. As far as I know capemgr isn't even
implemented in RobertCNelson's v3.13 kernel. An easy way to verify this
would be to look at the patches, in particular for changes to the dts.

Cheers,

- Ben

Hello Porkupan,

Thank you for your fast answer !
I searched in the meta-ti > linux-ti-staging kernel (git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git), and I didn’t found it.

Does somebody know which files and dependencies are required to implement it ?

I am not an expert, but I would guess that if your system didn’t implement capemgr, you won’t be able to load device tree overlays. I would assume the capemgr would be an integral part of all kernels above 3.8, but I may be wrong. If you still use the device tree, you can edit the am335x-bone-common.dtsi or am335x-boneblack.dts directly, and add the appropriate “fragments” from the overlay source into the appropriate stanzas. Then recompile the dtb, and copy it onto your board.

Rather use the extension .dtsi for your overlay and then in the am-335x-boneblack.dts add /include/ “your overlay.dtsi”. Make your overlay the last /include/

Regards
John