BB-SPIDEV0 is automagically configured

Hi all,
my SPI0 is configured and it works (the device which is connected to SPI0 functions properly)
Unfortunately, I do not understand how it is configured and I cannot ask the author.

Can you please give me a hint where I can find the configuration ?

root@beaglebone:~# uname -a
Linux beaglebone 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux

  1. The overlay looks good:
    root@beaglebone:~# cat /sys/devices/bone_capemgr.9/slots
    0: 54:PF—
    1: 55:PF—
    2: 56:PF—
    3: 57:PF—
    4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
    5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
    7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPIDEV0

  2. dmesg does not not say why BB-SPIDEV0 is loaded:

[ 177.147378] bone-capemgr bone_capemgr.9: part_number ‘BB-SPIDEV0’, version ‘N/A’
[ 177.150423] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 177.150483] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 177.150533] bone-capemgr bone_capemgr.9: slot #7: ‘Override Board Name,00A0,Override Manuf,BB-SPIDEV0’
[ 177.150781] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-SPIDEV0-00A0.dtbo
[ 177.150828] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘BB-SPIDEV0-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 177.150898] bone-capemgr bone_capemgr.9: slot #7: dtbo ‘BB-SPIDEV0-00A0.dtbo’ loaded; converting to live tree
[ 177.154033] bone-capemgr bone_capemgr.9: slot #7: #2 overlays

  1. /boot/uEnv.txt does NOT have any changes (everything is commented out)

  2. /etc/default/capemgr does not contain SPI:

Default settings for capemgr. This file is sourced by /bin/sh from

/etc/init.d/capemgr.sh

Options to pass to capemgr

CAPE=

  1. /etc/init.d/capemgr.sh does not have hard-coded BB-SPIDEV0

  2. I decompile am335x-boneblack.dtb but there is no BB-SPIDEV0:

dtc -O dts -o ~/am335x-boneblack.dts -I dtb /boot/dtbs/3.8.13-bone70/am335x-boneblack.dtb

root@beaglebone:~# grep part-number ~/am335x-boneblack.dts | sed ‘s/^\s+//’
part-number = “BB-BONE-GEIGER”;
part-number = “BB-BONE-NIXIE”;
part-number = “BB-BONE-TFT-01”;
part-number = “BB-BONE-RTC-01”;
part-number = “BB-BONE-HEXY-01”;
part-number = “BB-BONE-MRF24J40”;
part-number = “BB-BONE-RS232-01”;
part-number = “BB-BONE-GPS-01”;
part-number = “BB-BONE-EMMC-2G”;
part-number = “BB-BONELT-HDMI”;
part-number = “BB-BONELT-HDMIN”;
part-number = “BB-BONE-DVID-01”;
part-number = “BB-BONE-EMMC-2G”;
part-number = “BB-BONE-GEIGER”;
part-number = “BB-BONE-LCD3-01”;
part-number = “BB-BONE-WTHR-01”;
part-number = “BB-BONELT-HDMI”;
part-number = “BB-BONE-NIXIE”;
part-number = “BB-BONE-TFT-01”;
part-number = “BB-BONE-RTC-01”;
part-number = “BB-BONE-HEXY-01”;
part-number = “BB-BONE-MRF24J40”;
part-number = “BB-BONE-EXPTEST”;
part-number = “BB-BONE-RS232-01”;
part-number = “BB-BONE-GPS-01”;
part-number = “BB-BONELT-HDMIN”;
part-number = “2191”;
part-number = “BB-BONE-LOGIBONE”;

Why BB-SPIDEV0 is loaded ?

Cheers,
Andrey

cat /proc/cmdline

Regards,

Well, I still do not get how BB-SPIDEV0 is configured:

root@beaglebone:~# cat /proc/cmdline
console=ttyO0,115200n8 root=UUID=6ba432c0-fb8d-4d56-862d-bb29f5c790d3 ro rootfstype=ext4 rootwait fixrtc quiet init=/lib/systemd/systemd

I searched the whole file system and could not find a text file with BB-SPIDEV0.

Can it be a compiled library which was installed ?

Cheers,
Andrey