Hi!
I am working on a new Home Automation cape using three uarts (1,2,4). The eeprom is set up according to the current SRM with format A1 and gets read correctly on startup. The device tree overlay was compiled using the patch allowing for overlays (so dtc knows -@ and \plugin). After that I placed the resulting “ibb-0001.dtbo” in /lib/firmware.
This is what I get on startup:
[ 1.619295] bone-capemgr bone_capemgr.8: Baseboard: ‘A335BNLT,0A5A,1613BBBK2649’
[ 1.627084] bone-capemgr bone_capemgr.8: compatible-baseboard=ti,beaglebone-black
[ 1.659113] bone-capemgr bone_capemgr.8: slot #0: ‘Home Automation Cape,0001,IBB Robert Budde,ibb’
[ 1.698749] bone-capemgr bone_capemgr.8: slot #1: No cape found
[ 1.735857] bone-capemgr bone_capemgr.8: slot #2: No cape found
[ 1.772966] bone-capemgr bone_capemgr.8: slot #3: No cape found
[ 1.779219] bone-capemgr bone_capemgr.8: slot #4: specific override
[ 1.785819] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 4
[ 1.793855] bone-capemgr bone_capemgr.8: slot #4: ‘Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G’
[ 1.804003] bone-capemgr bone_capemgr.8: slot #5: specific override
[ 1.810600] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 5
[ 1.818633] bone-capemgr bone_capemgr.8: slot #5: ‘Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI’
[ 1.828671] bone-capemgr bone_capemgr.8: slot #6: specific override
[ 1.835267] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 6
[ 1.843302] bone-capemgr bone_capemgr.8: slot #6: ‘Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN’
[ 1.853925] bone-capemgr bone_capemgr.8: loader: before slot-0 ibb:0001 (prio 0)
[ 1.861713] bone-capemgr bone_capemgr.8: loader: check slot-0 ibb:0001 (prio 0)
[ 1.869517] bone-capemgr bone_capemgr.8: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.878378] bone-capemgr bone_capemgr.8: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.887249] bone-capemgr bone_capemgr.8: loader: before slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.896016] bone-capemgr bone_capemgr.8: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.904720] bone-capemgr bone_capemgr.8: initialized OK.
[ 1.910323] bone-capemgr bone_capemgr.8: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.919173] bone-capemgr bone_capemgr.8: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.941732] bone-capemgr bone_capemgr.8: loader: after slot-0 ibb:0001 (prio 0)
[ 1.949423] bone-capemgr bone_capemgr.8: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.958196] bone-capemgr bone_capemgr.8: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.973258] bone-capemgr bone_capemgr.8: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.982040] bone-capemgr bone_capemgr.8: slot #0: Requesting part number/version based 'ibb-0001.dtbo
[ 1.997835] bone-capemgr bone_capemgr.8: slot #0: Requesting firmware ‘ibb-0001.dtbo’ for board-name ‘Home Automation Cape’, version ‘0001’
[ 2.829291] bone-capemgr bone_capemgr.8: failed to load firmware ‘ibb-0001.dtbo’
[ 2.837120] bone-capemgr bone_capemgr.8: loader: failed to load slot-0 ibb:0001 (prio 0)
[ 2.845627] bone-capemgr bone_capemgr.8: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
But - the dtbo exists in /lib/firmware and the rights are ok as well.
I tried to manually enabling the overlay:
root@arm:~# echo ibb-0001 > /sys/devices/bone_capemgr.8/slots
-bash: echo: write error: No such file or directory
(same for just “ibb” or “/lib/firmware/ibb” and so on)
Enabling the BB-UART by this way works as intended.
Do I have to register the dtbo somewhere to get it found?
Thank you very much!
Robert