Totally confused about Debian 8, device-tree overlays, and SPIDEV

I’ve a Beaglebone white running Debian 8 image from Robert Nelson:
cat /etc/dogtag: BeagleBoard.org Debian Image 2015-08-16
uname -a: 4.1.6-ti-r14 #1 SMP PREEMPT Thu Sep 3 18:56:03 UTC 2015 armv7l GNU/Linux
ls /dev/spi*: /dev/spidev1.0 /dev/spidev1.1 /dev/spidev2.0 /dev/spidev2.1

I’ve an A5A BeableboneBlack running debian 8 image from Rebort Nelson:
cat /etc/dogtag: BeagleBoard.org Debian Image 2015-04-12
uname -a: 4.1.6-ti-r14 #1 SMP PREEMPT Thu Sep 3 18:56:03 UTC 2015 armv7l GNU/Linux
ls /dev/spi*: ls: cannot access /dev/spi*: No such file or directory

I’ve played with a variety of kernels on both systems trying to track down a USB webcam issue without any success, and have settled on 4.1.6-ti-r14 for no particular reason.

I don’t recall doing anything specific to get SPIDEV active on the BBW and am at a loss as to why its not available on the BBB.

I do note these entries are in /lib firmware on the White but not the Black (along with some others that don’t seem relative at the moment:
BB-ADC-00A0.dtbo
BB-BBBMINI-00A0.dtbo
BB-BONE-AUDI-02-00A0.dtbo
BB-BONE-BACONE-00A0.dtbo
BB-BONE-CRYPTO-00A0.dtbo
BB-BONE-DVID-01-00A3.dtbo
BB-BONE-LCD3-01-00A2.dtbo
BB-BONE-LCD4-01-00A1.dtbo
BB-BONE-LCD7-01-00A3.dtbo
BB-BONE-REPLICAP-00B1.dtbo
BB-BONE-SERL-03-00A1.dtbo
BB-CAN1-00A0.dtbo
BB-I2C1-00A0.dtbo
BB-I2C1-PCA9685-00A0.dtbo
BB-RELAY-4PORT-00A0.dtbo
BB-RTC-01-00A0.dtbo
BB-SPI0-MCP3008-00A0.dtbo
BB-SPIDEV0-00A0.dtbo
BB-SPIDEV1-00A0.dtbo
BB-SPIDEV1A1-00A0.dtbo
BB-UART1-00A0.dtbo
BB-UART2-00A0.dtbo
BB-UART4-00A0.dtbo
BB-UART5-00A0.dtbo

Presumably one of the other kernels I tried has installed these dtbo files. Can I just copy them from the White to the Black and expect SPIDEV to work?
Do I have to do something else on the BBB?

Neither system has anything in /etc/default/capemgr and I’ve never touched uEnv.txt on the white, and on the Black I only changed the cmdline
since my monitor doesn’t do edid right on the BBB and this gives a more readable display:

default

#cmdline=quiet

my monitor that doesn’t get edid right

cmdline=quiet video=HDMI-A-1:1280x720M@60

I've a Beaglebone white running Debian 8 image from Robert Nelson:
cat /etc/dogtag: BeagleBoard.org Debian Image 2015-08-16
uname -a: 4.1.6-ti-r14 #1 SMP PREEMPT Thu Sep 3 18:56:03 UTC 2015 armv7l
GNU/Linux
ls /dev/spi*: /dev/spidev1.0 /dev/spidev1.1 /dev/spidev2.0
/dev/spidev2.1

I've an A5A BeableboneBlack running debian 8 image from Rebort Nelson:
cat /etc/dogtag: BeagleBoard.org Debian Image 2015-04-12
uname -a: 4.1.6-ti-r14 #1 SMP PREEMPT Thu Sep 3 18:56:03 UTC 2015 armv7l
GNU/Linux
ls /dev/spi*: ls: cannot access /dev/spi*: No such file or directory

I've played with a variety of kernels on both systems trying to track down a
USB webcam issue without any success, and have settled on 4.1.6-ti-r14 for
no particular reason.

I don't recall doing anything specific to get SPIDEV active on the BBW and
am at a loss as to why its not available on the BBB.

I do note these entries are in /lib firmware on the White but not the Black
(along with some others that don't seem relative at the moment:
BB-ADC-00A0.dtbo
BB-BBBMINI-00A0.dtbo
BB-BONE-AUDI-02-00A0.dtbo
BB-BONE-BACONE-00A0.dtbo
BB-BONE-CRYPTO-00A0.dtbo
BB-BONE-DVID-01-00A3.dtbo
BB-BONE-LCD3-01-00A2.dtbo
BB-BONE-LCD4-01-00A1.dtbo
BB-BONE-LCD7-01-00A3.dtbo
BB-BONE-REPLICAP-00B1.dtbo
BB-BONE-SERL-03-00A1.dtbo
BB-CAN1-00A0.dtbo
BB-I2C1-00A0.dtbo
BB-I2C1-PCA9685-00A0.dtbo
BB-RELAY-4PORT-00A0.dtbo
BB-RTC-01-00A0.dtbo
BB-SPI0-MCP3008-00A0.dtbo
BB-SPIDEV0-00A0.dtbo
BB-SPIDEV1-00A0.dtbo
BB-SPIDEV1A1-00A0.dtbo
BB-UART1-00A0.dtbo
BB-UART2-00A0.dtbo
BB-UART4-00A0.dtbo
BB-UART5-00A0.dtbo

So what you are seeing with "2015-08-16" is the full integration of
v4.1.x + bb.org-overlays (1) + config-pin (2), known as the
"universal-io"...

1: GitHub - beagleboard/bb.org-overlays: Device Tree Overlays for bb.org boards
2: GitHub - cdsteinkuehler/beaglebone-universal-io: Device tree overlay and support scripts for using most available hardware I/O on the BeagleBone without editing dts files or rebuilding the kernel

Presumably one of the other kernels I tried has installed these dtbo files.
Can I just copy them from the White to the Black and expect SPIDEV to work?
Do I have to do something else on the BBB?

So to "sync" 2015-04-12 to 2015-08-16..

1: Update /opt/scripts/

cd /opt/scripts/
git pull

Based on a whole list of critera, we load a specific: "config-pin overlay"

2: Update "bb.org-overlays"

git clone GitHub - beagleboard/bb.org-overlays: Device Tree Overlays for bb.org boards
cd ./bb.org-overlays

./dtc-overlay.sh
./install.sh

3: update "config-pin"..

git clone GitHub - cdsteinkuehler/beaglebone-universal-io: Device tree overlay and support scripts for using most available hardware I/O on the BeagleBone without editing dts files or rebuilding the kernel
sudo cp -v ./beaglebone-universal-io/config-pin /usr/local/bin/
sudo chmod +x /usr/local/bin/config-pin

Neither system has anything in /etc/default/capemgr and I've never touched
uEnv.txt on the white, and on the Black I only changed the cmdline
since my monitor doesn't do edid right on the BBB and this gives a more
readable display:
# default
#cmdline=quiet
# my monitor that doesn't get edid right
cmdline=quiet video=HDMI-A-1:1280x720M@60

Btw, since the white lacks emmc/hdmi we can assume a few things, so if
you need a specific perpheral that's used by eMMC/hdmi/etc, make sure
you enable the custom "black" *.dtb

Regards,

Thank you so much.
Its easy when you tell me how to do it :slight_smile:

If I’d updated the kernel with your /opt/scripts/update_kernel.sh instead of using apt-get install linux-image- would all this have happened "automatically?

If so perhaps a little more details in the Kernel Upgrade section of the BeagleBoard:BeagleBoneBlack Debian Wiki about the shell script parameters would help with making a kernel selection.

Thanks again for a quick and correct response to solve my issue!

–wally.

Thank you so much.
Its easy when you tell me how to do it :slight_smile:

If I'd updated the kernel with your /opt/scripts/update_kernel.sh instead of
using apt-get install linux-image- would all this have happened
"automatically?

update_kernel.sh only installs the linux-image + (sgx kernel modules)
via apt-get...

If so perhaps a little more details in the Kernel Upgrade section of the
BeagleBoard:BeagleBoneBlack Debian Wiki about the shell script parameters
would help with making a kernel selection.

Thanks again for a quick and correct response to solve my issue!

For the overlay repo, i'm currently waiting to this dtc patchset hits
the dtc repo..

Then i'll package dtc & bb.org-overlays...

Just don't want to get stuck in a pant's down 3.8 situation again.

Regards,