Thanks for the explanation, but could you elaborate a bit more on it?
As far as I understand the world as it is now works this way:
0- If you are running anything beyond kernel 4.1 you should be using uboot
overlays. Be careful to load the latest bb-cape overlays and be sure that
uboot is the latest version, check via /opt/script/tools/version.sh,
look for
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2015.01-00001-gb2412df]
this is wrong:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Should be something like:
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot
2017.09-00002-g0f3f1c7907]If not, do
/opt/scripts/tools/developers/update_bootloader.sh
This should put an updated bootloader in the boot block of your Beaglebone.
Careful: you should have booted from the internal flash, not from an
external flash-card.1-Overlays are now loaded in /boot/uEnv.txt at boot time.
Cape-universal or the other universal capes make it possible to use
config-pin to configure the pins that you want to use,
example:
config-pin -l p9-21
gives all the possible settings
config-pin -q p9-21
gives the current setting
config-pin -a p9-21 i2c
makes the pin respond to i2c signals.<SPECULATIVE STEPS: DO NOT USE IN THE REAL WORLD:>
2-if another overlay is loaded in /bootuEnv.txt which is not of the
universal type, config-pin does not work anymore???
Correct, someone needs to write a pin manager for U-Boot.. Currently
what we do, if a custom cape is defined, cape_universal is disabled..
However you can toggle oneboard devices:
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Disable_on-board_devices
and the cape-universal knows what to do..
3-To find out which overlay is loaded if config-pin does not run, use
command ??? to find out which overlay(s) is/are currently running
sudo /opt/scripts/tools/version.sh
&
USB Serial Debug cable, to track what U-Boot did..
&
cat /proc/cmdline | sed 's/ /\n/g' | grep uboot_detected_capes= || true
(very new: uboot_detected_capes )
4-If you want to make a combination of some of the universal settings plus
an overlay, ???
Source is here:
here is cape universal with
https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/univ-bbb-EVA-00A0.dts
</SPECULATIVE STEPS: DO NOT USE IN THE REAL WORLD>
I am pretty sure it's all wrong, but I am struggling with the info too. I am
trying to modernize gobot to the latest uboot overlay stufff (it is still
looking for cape_mgr slots file), but it is not exactly clear how I can find
out if an overlay is set, or if I am able to set a specific pin after some
overlay has been loaded.
Regards,