DTB help with Relay Cape

I just got a Logic Supply Relay Cape, and I'm trying it out with a recent Debian. I put their supplied .dtbo file in /boot/dtbs/3.8.13-bone70. I disabled HDMI and tried to enable the cape, and I get this at boot:

Uncompressing Linux... done, booting the kernel.
[ 0.337870] omap2_mbox_probe: platform not supported
[ 0.492868] tps65217-bl tps65217-bl: no platform data provided
[ 0.577268] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.614377] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.651486] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.669029] bone-capemgr bone_capemgr.9: slot #7: CBB-Relay conflict P8.26 (#0:CBB-Relay)
[ 0.677638] bone-capemgr bone_capemgr.9: slot #7: Failed verification
[ 0.684383] bone-capemgr bone_capemgr.9: loader: failed to load slot-7 CBB-Relay:00A0 (prio 0)
[ 0.696333] bone-iio-helper CBB-Relay-ain.17: Could not get AIN1 analog input
[ 0.708964] omap_hsmmc mmc.5: of_parse_phandle_with_args of 'reset' failed
[ 0.772848] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 0.784533] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 0.791815] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single

Clearly I'm missing something, and googling has turned up nothing on how to use it with debian. I also can't seem to find Logic Supply's github repo for it.

Has anyone made this work with Debian? Thanks!

Rick, have you read this yet ? http://inspire.logicsupply.com/2014/06/relay-cape.html

Particularly the comments. Seems they are unconcerned with making it work with Debian. Which I would think would be fairly easy once one knows how to muck around in device tree blobs. But hey, I’m not the one trying to sell this product :wink:

Three options I can see, short of finding some one who has already “ported” the device tree to debian.

1). Ask for your money back.

  1. Ask them to fix the problem.

  2. Fix it yourself . . .

It’s been quite a while since the BBB’s have been shipped with Angstrom. Yet they’re still selling the product. Personally I think this is on them to fix. If they expect to capitalize on this product. But maybe reassigning a pin, or a few pins would be trivial for someone ?

Thanks, William.

Yeah, I saw that post. I've also emailed them for support. I could try to fix it myself, but despite much time invested, I just don't "get" DTBs (and I've written a lot of code on a lot of different platforms, and designed and built boards around a lot of different MCUs). Their DTB source doesn't seem to be available (I've asked for that, too), so I'd have to make one from scratch.

They don't have a proper schematic that I can find, but they do show the GPIO and ADC pins used (https://docs.google.com/document/d/1XQtcoCa3WckPbJZpxYE6ueTVv-GCCfnqHIo7_dZ5UUs/edit, page 4). This might be a good Cape for me to finally learn how to write an overlay, but I feel completely helpless and don't even know where to begin.

Rick, I forget the steps, but last year, or even before that someone on the groups showed how to use the device tree compiler to decompile a blob file. So if you have the dtb for Angstrom, it should be decompilable.

The post in question was in relation to the sdcard operating in 2bit mode ? versus 4bit. But maybe someone else here recalls how to decompile dt’s using the device tree compiler ?

Then if you can not get your hands on a device tree compiler old enough. I do have several images ( including original Angstrom- updated to 3.8.8 ) that should do the trick. SO at minimum if i can remember how, and had the binary file i could decompile it myself, and give you a pastebin link to the source.

This post here, Jen S’ post

https://groups.google.com/forum/#!searchin/beagleboard/sdcard$20device$20tree/beagleboard/fOGeXCub9OY/lSNBcjpLvgkJ

Thanks!

Yeah, no problem. let me know how that works out. For the record, I suck with device tree files too . . . it seems very counter intuitive. Well I mean if you’re a C programmer, the “syntax” is very odd. And I have not really found a decent write up of how it works. Bill King and Panto had a google doc on the subject a couple years back, but unfortunately the document for me was not concise enough.

But I’m sure it makes better sense to people who are used to hardware stuff ?

I've programmed bare-metal on a pretty beefy ARM-core SoC, and I still don't get it.

Why?

It should already be 'supported'..

https://github.com/beagleboard/linux/blob/3.8/firmware/capes/CBB-Relay-00A0.dts

Regards,

I just got a Logic Supply Relay Cape, and I'm trying it out with a recent Debian. I put their supplied .dtbo file in /boot/dtbs/3.8.13-bone70.

Why?

Because that's what they said to do (well, they said /lib/firmware, I tried to put it where I thought Debian wanted these things). In any case, I'm not sure it was being found at all. I'll try again when I get home.

It should already be 'supported'..

https://github.com/beagleboard/linux/blob/3.8/firmware/capes/CBB-Relay-00A0.dts

Should there be a file somewhere in the filesystem for that?

Thanks!

It's built-into the kernel..

Regards,

Thanks!

I removed the .dtbo file I had, and rebooted. I still get the conflicts:

Uncompressing Linux... done, booting the kernel.
[ 0.337811] omap2_mbox_probe: platform not supported
[ 0.492836] tps65217-bl tps65217-bl: no platform data provided
[ 0.581105] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.618214] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.655323] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.673520] bone-capemgr bone_capemgr.9: slot #7: CBB-Relay conflict P8.26 (#0:CBB-Relay)
[ 0.682111] bone-capemgr bone_capemgr.9: slot #7: Failed verification
[ 0.688849] bone-capemgr bone_capemgr.9: loader: failed to load slot-7 CBB-Relay:00A0 (prio 0)
[ 0.700818] bone-iio-helper CBB-Relay-ain.17: Could not get AIN1 analog input
[ 0.712777] omap_hsmmc mmc.5: of_parse_phandle_with_args of 'reset' failed
[ 0.776696] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 0.788378] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 0.795662] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single

My uEnv.txt:

$ cat uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=3.8.13-bone70
#dtb=
cmdline=quiet init=/lib/systemd/systemd

##Example
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Disable HDMI/eMMC
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##Disable HDMI
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

##Disable eMMC
#cape_disable=capemgr.disable_partno=BB-BONE-EMMC-2G

##Audio Cape (needs HDMI Audio disabled)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02

##Logic Supply Relay Cape
cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
cape_enable=capemgr.enable_partno=CBB-Relay

##enable BBB: eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh