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,