Linux4.1.12: omap2_mcspi 48030000.spi: chipselect 0 already in use

Hi Guys,

I’m trying to enable SPI using the cape manager on a 4.1.12 kernel, but keep getting the following errors. Can anyone suggest why?

I’m using the overlays from https://github.com/RobertCNelson/bb.org-overlays

/ # echo BB-SPIDEV0 > /sys/devices/platform/bone_capemgr/slots
[ 72.388319] bone_capemgr bone_capemgr: part_number ‘BB-SPIDEV0’, version ‘N/A’
[ 72.395754] bone_capemgr bone_capemgr: slot #5: override
[ 72.401214] bone_capemgr bone_capemgr: Using override eeprom data at slot 5
[ 72.408221] bone_capemgr bone_capemgr: slot #5: ‘Override Board Name,00A0,Override Manuf,BB-SPIDEV0’
[ 72.425331] omap2_mcspi 48030000.spi: chipselect 0 already in use
[ 72.441138] spi_master spi2: spi_device register error /ocp/spi@48030000/channel@0
[ 72.452230] of_spi_notify: failed to create for ‘/ocp/spi@48030000/channel@0’
[ 72.473986] __of_changeset_entry_notify: notifier error @/ocp/spi@48030000/channel@0
[ 72.482189] omap2_mcspi 48030000.spi: chipselect 1 already in use
[ 72.488410] spi_master spi2: spi_device register error /ocp/spi@48030000/channel@1
[ 72.496047] of_spi_notify: failed to create for ‘/ocp/spi@48030000/channel@1’
[ 72.503347] __of_changeset_entry_notify: notifier error @/ocp/spi@48030000/channel@1
[ 72.511260] bone_capemgr bone_capemgr: slot #5: dtbo ‘BB-SPIDEV0-00A0.dtbo’ loaded; overlay id #1

/ # echo BB-SPIDEV1 > /sys/devices/platform/bone_capemgr/slots
[ 14.440083] bone_capemgr bone_capemgr: part_number ‘BB-SPIDEV1’, version ‘N/A’
[ 14.447374] bone_capemgr bone_capemgr: slot #4: override
[ 14.452885] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 14.459954] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,BB-SPIDEV1’
[ 14.480507] omap2_mcspi 481a0000.spi: chipselect 0 already in use
[ 14.486650] spi_master spi1: spi_device register error /ocp/spi@481a0000/channel@0
[ 14.520627] of_spi_notify: failed to create for ‘/ocp/spi@481a0000/channel@0’
[ 14.527821] __of_changeset_entry_notify: notifier error @/ocp/spi@481a0000/channel@0
[ 14.536247] omap2_mcspi 481a0000.spi: chipselect 1 already in use
[ 14.542494] spi_master spi1: spi_device register error /ocp/spi@481a0000/channel@1
[ 14.550255] of_spi_notify: failed to create for ‘/ocp/spi@481a0000/channel@1’
[ 14.557425] __of_changeset_entry_notify: notifier error @/ocp/spi@481a0000/channel@1
[ 14.565331] bone_capemgr bone_capemgr: slot #4: dtbo ‘BB-SPIDEV1-00A0.dtbo’ loaded; overlay id #0

Check:

cat /sys/devices/platform/bone_capemgr/slots

Something is already taking over the spi chipselect

More then likely it's cape-universal, just remove the
"cape_universal=enable from /boot/uEnv.txt

Regards,

Thanks Robert. Still struggling on this one.

I have no capes loaded in the capemgr when I “cat /sys/devices/platform/bone_capemgr/slots”

If I check /sys/bus/spi, I originally had a driver da9052 loaded, but I have since removed it.

My sysfs now looks like:

/sys/bus/spi # ls -R *
drivers_autoprobe drivers_probe uevent

devices:

drivers: