2

For a while I've been using BlackLib to run the IO on BeagleBone blacks and greens. Specifically for SPI and some GPIO. Recently I have undergone an overdue upgrade to the latest image, Debian 10.3. I have discovered that BlackLib no longer works after they disabled the "bone_capemgr" and moved to u-boot overlays instead.

Would it be possible to make relatively simple changes to BlackLib to make it compatible again. Or is something more drastic required.

How would I otherwise move from using the cape manager to using u-boot overlays.

NOTE: I would prefer to not just re-enable the cape manager to give me some more support and a longer life.

Charkrit_A
  • 59
  • 5
  • what level or "relatively simple" do you have in mind? that seems very ill-defined. – umläute Jun 03 '21 at 21:16
  • @umläute simpler or faster than finding and implementing a new library. – Charkrit_A Jun 04 '21 at 01:50
  • 1
    Having glanced at the library code, its dependency on loading device trees runtime appears quite weak. It's likely that you can easily find and comment out all attempts to load device trees runtime. Then just make sure the device trees for your required peripherals are loaded by u-boot. De Funct's answer helps you with that. Finally try running your code which uses the library, fix any remaining problems. – Tarmo Jun 04 '21 at 11:16

1 Answers1

3

In /lib/firmware/, there are many uboot-overlays one could use in /boot/uEnv.txt on your BBB.

Also, BeagleBoard.org has other uboot-overlays in their repos. online at github.com.

...

For instance, if I wanted my BBB to understand that I will be using UART2 onboard the header pins, I would simply put BB-UART2-00A0.dtbo in the uboot-overlays section of the /boot/uEnv.txt file.

De Funct
  • 452
  • 2
  • 10