Nont able to use overlay at boot time

Hi All,

I face this problem of not being able to make overlay work at boot time.I checked these threads,

https://stackoverflow.com/questions/17768714/bbb-automatically-load-a-device-tree-overlay-on-boot

https://groups.google.com/forum/#!msg/beagleboard/jYpYHZPl1ig/90BPMxxhWLMJ

and I added optargs=capemgr.enable_partno=BB-I2C2-ADXL in uEnv.txt

This is my uboot version
U-Boot 2017.09-dirty (Oct 14 2017 - 21:00:59 +0530)

I am booting with this kernl image
vmlinuz-4.4.92-bone-rt-r19

and I am trying to add an overlay at boot time for adxl345.

1)go to /boot/uEnv.txt add following two lines
root@arm:~# cat /boot/uEnv.txt
uname_r=4.4.92-bone-rt-r19
cmdline=coherent_pool=1M quiet cape_universal=enable optargs=capemgr.enable_partno=BB-I2C2-ADXL

I compiled overlay file(BB-I2C2-ADXL-00A0.dts) and put it into lib/firmware
BB-I2C2-ADXL-00A0.dtbo

Standalone this works
echo “BB-I2C2-ADXL” > slots
I can see my driver probing it.

But adding this functionality in eEnv.txt does not take effect.

Overlay file

https://pastebin.com/raw/T3bZKyT8

This is my kernel log while boot up,

https://pastebin.com/raw/EmiAedQz

this is dmesg

https://pastebin.com/raw/6PVVBHeD

What I am missing?

Just use u-boot overlays:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays

in /boot/uEnv.txt:

enable_uboot_overlays=1
uboot_overlay_addr0=/lib/firmware/BB-I2C2-ADXL-00A0.dtbo

Regards,

That works.
I removed other entried in uEnv.txt and changed it to
enable_uboot_overlays=1
uboot_overlay_addr0=/lib/firmware/BB-I2C2-ADXL-00A0.dtbo
Now I can see my driver probing.

One thing happened. I tried to see slots
cat /sys/device/platform/bone.capemgr/slots
cat: slots: No such file or directory

slots file itself is not present now.

Correct, when using U-Boot overlays, the slots file is removed, as it’ll only cause issues. Aka, don’t mix and match uboot and kernel overlays.

Regards,

Thanks for the clarification.

One suggestion I need.
What is the best way to keep up with these changes, because these information is so volatile that it may be redundant in few weeks.
Should I go with the source of overlay files and understand from the implementation point of view rather than trying to just make it work somehow.
Which source files or functions would be best to start?
I just need a direction from where I can start.

Well the decision was made back in March of 2017 to completely scrap
kernel overlays and move to u-boot overlays.

An announcement was made to this mailing list.

Regards,