BB-SPIDEV1.dto conflict with univ-emmc on BBG

Hi everybody,

I’m trying to use the SPI interface on my new Beaglebone Green.
I was used to use the SPIDEV1 on my former BBB just loading the BB-SPIDEV1 DTO, but with this new board this DTO conflicts with the “univ-emmc” one.
Below my Linux version and errors I get when loading the SPIDEV1 DTO file.
The same problem with the PWM controller.
I’m wondering how to to use the pins P9.31 and P9.22 allocated by the univ-emmc DTO.
Having a look to the univ-emmc.dts file I’ve discovered P9.31 pin is allocated for “audio”.
I really don’t know what does it mean…
Could you help me please?
Thank you in advance.

Best regards,
Stefano

root@beaglebone:~# uname -a
Linux beaglebone 4.1.20-ti-r58 #1 SMP Thu Apr 14 22:53:06 UTC 2016 armv7l GNU/Linux
root@beaglebone:~# cat /proc/version
Linux version 4.1.20-ti-r58 (root@b1-omap5-uevm-2gb) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Thu Apr 14 22:53:06 UTC 2016
root@beaglebone:~#

root@beaglebone:~# sh -c “echo bone_pwm_P9_22 > $SLOTS”
sh: echo: I/O error
root@beaglebone:~#
root@beaglebone:~# sh -c “echo BB-SPIDEV1 > $SLOTS”
sh: echo: I/O error
root@beaglebone:~#

dmesg:

[ 2536.415851] bone_capemgr bone_capemgr: Using override eeprom data at slot 8
[ 2536.415897] bone_capemgr bone_capemgr: slot #8: ‘Override Board Name,00A0,Override Manuf,BB-SPIDEV1’
[ 2536.428067] bone_capemgr bone_capemgr: slot #8: BB-SPIDEV1 conflict P9.31 (#4:univ-emmc)
[ 2536.436253] bone_capemgr bone_capemgr: slot #8: Failed verification
[ 4277.900682] bone_capemgr bone_capemgr: part_number ‘bone_pwm_P9_22’, version ‘N/A’
[ 4277.900728] bone_capemgr bone_capemgr: slot #9: override
[ 4277.900751] bone_capemgr bone_capemgr: Using override eeprom data at slot 9
[ 4277.900776] bone_capemgr bone_capemgr: slot #9: ‘Override Board Name,00A0,Override Manuf,bone_pwm_P9_22’
[ 4277.905430] bone_capemgr bone_capemgr: slot #9: bone_pwm_P9_22 conflict P9.22 (#4:univ-emmc)
[ 4277.914128] bone_capemgr bone_capemgr: slot #9: Failed verification

open /boot/uEnv.txt

remove cape_universal=enable

as that loaded "univ-emmc".

Regards,

Hi Robert,

thank you very much for your prompt reply!
Yesterday night I removed the line as you suggested me, and now I’m able to load my .dto files without any errors:

export SLOTS=/sys/devices/platform/bone_capemgr/slots
export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins

sh -c “echo BB-SPI1-STD > $SLOTS”
sh -c “echo DM-GPIO-Test > $SLOTS”
sh -c “echo bone_pwm_P9_22 > $SLOTS”
sh -c “echo am33xx_pwm > $SLOTS”

The devices /dev/spidev2.x (btw, previously they were /dev/spidev1.x) are created and the DTO is loaded, but pins are not configured, according to
/sys/kernel/debug/pinctrl/44e10800.pinmux/pins.

Only DM-GPIO-Test (not in the Debian distribution whereas the other ones are all coming with the board) configures the pins.

I’m wondering what am I supposed to do with this new Debian distribution, it seems a lot of things are changed.

Thank you again!

Best regards,
Stefano

With this line in uEnv.txt I solved my problems with pins configuration of PWM and SPI interfaces:

cape_enable=bone_capemgr.enable_partno=BB-SPIDEV1,am33xx_pwm,BB-PWM0

Frankly, I don’t know why now it is not possible to load these DTOs from Linux shell.
I hope this will help.

Best regards,
Stefano

the pin's for spidev don't get correctly muxed if done from the
shell.. (aka something it too late..)

Regards,

Hi Stefano,

Do I understand that you were able to get SPI1.1 (P9_42) working?

I can get SPI1.0 working with my BBB by disabling HDMI and loading BB-SPIDEV1 in uEnv.txt.

This works with CS0, but this doesn’t seem to allow me to use CS1.

Any ideas?