Unable to update device tree overlay file

In adding Audio Cape (BB-BONE-AUDI-02-00A0) to beaglebone black which also has LCD4 mounted I receive a GPIO 19 conflict error.

Looking at the dts file I see it has specified exclusive use for gpio1_18 and gpio1_19. In the past I circumvented this error by commenting these two pins out of the exclusive list and all works fine (doesn’t appear that these pwm pins are used by audio cape)

Now I upgraded debian to 3.8.13-bone70 and in performing upgrade and setting up new board I forgot to exclude these two pins from dts file before compiling, only to see the conflict error again.

My problem is that no matter what I do, (edit out pins, compile and copy new dtbo to /lib/firmware), I keep getting the same conflict error. If I edit the dts file and change the part number to something else and load it manually it works so I know the change and compile is valid.

It appears that my original compiled dtbo file is somehow being cached/persisted through power off/power on and my updated dtbo is not being ‘seen’.

I’d appreciate any suggestions on next steps.

Colin

Adding to this;

If I remove the compiled dtbo file from /lib/firmware directory and power-off/power-on the board running manual insert “echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr.9/slots” gives error write error: File Exists and dmesg shows BB-BONE-AUDI-02 conflict gpio1_19 (#3:BB-BONE-LCD4-01) where I expect it to throw error stating No such file or directory. I validated expected error by trying

echo BB-BONE-AUDI-03 > /sys/devices/bone_capemgr.9/slots which does give expected error of “write error: No such file or directory”

The issue is name collision… That dtbo is already built into the kernel. Also see

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Loading_custom_capes

And search this list as we gone over it multiple times.

Thanks for your rapid response.

I did originally suspect it may already be included but a system wide search through folders did not reveal bb-bone-audi-02.dtbo file so I figured it wasn’t included - I guess it has a different file name.

Would suggested fix be creating by own cape based on original dts and giving it a different name?

~C

Yeap, just call it "bb-bone-audi-03.dtbo" and it should load just fine..

Regards,

Hello your problem solved?
I have this problem, but not done?
Can you help me in the end?
fixed?

Robert’s suggestions/explanations worked for me and solved issue.

hi dear robert
i am farahani
we designed new pcb with base “begaleboneblack” siatara am3358
i run kernel version 3.8.x bone 80
bone 80 need for rtl8732 wifi
i run lcd 4.3" for 4dsystem company and run .dtbo " BB-BONE-LCD4-01-00A1" when use cat /sys/devices/bone_capemgr*/slots
run config file or dtbo in eeprom when startup.
and run , no problom,
in the my pcb place aic codec and run with echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
run cound card and no problem.
when i use both.mean lcd with audio renamue BB-BONE-AUDI-02-00A0.DTS TO BB-BONE-AUDI-03-00A0.DTS
AND

dtc -O dtb -o BB-BONE-AUDI-03-00A0.dtbo -b 0 -@ BB-BONE-AUDI-03-00A0.dts
AND MOVE
mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware
AND