On Wed, May 14, 2014 at 9:54 AM, James S <[email protected]> wrote:
> I followed the instructions here
> http://elinux.org/BeagleBone_Black_Enable_SPIDEV but SPI1 is still not
> initialising properly.
>
> uEnv.txt
> optargs=quiet drm.debug=7
> capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
> capemgr.enable_partno=BB-SPI1-01
>
> The result is:
> root@beaglebone:~# dmesg | grep SPI
> [    0.000000] Kernel command line: console=tty0 console=ttyO0,115200n8
> quiet drm.debug=7 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
> capemgr.enable_partno=BB-SPI1-01 root=/dev/mmcblk0p2 ro rootfstype=ext4
> rootwait fixrtc quiet init=/lib/systemd/systemd
> [    0.732452] bone-capemgr bone_capemgr.9: enabled_partno part_number
> 'BB-SPI1-01', version 'N/A', prio '0'
> [    0.732498] bone-capemgr bone_capemgr.9: slot #7: 'Override Board
> Name,00A0,Override Manuf,BB-SPI1-01'
> [    0.736957] bone-capemgr bone_capemgr.9: loader: before slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.736974] bone-capemgr bone_capemgr.9: loader: check slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.736990] bone-capemgr bone_capemgr.9: loader: after slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.737006] bone-capemgr bone_capemgr.9: slot #7: Requesting part
> number/version based 'BB-SPI1-01-00A0.dtbo
> [    0.737024] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware
> 'BB-SPI1-01-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
> [    1.110253] bone-capemgr bone_capemgr.9: failed to load firmware
> 'BB-SPI1-01-00A0.dtbo'
> [    1.118721] bone-capemgr bone_capemgr.9: loader: failed to load slot-7
> BB-SPI1-01:00A0 (prio 0)
> root@beaglebone:~# cat /sys/devices/bone_capemgr.*/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-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
>  6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
>
> Then doing a
>  echo BB-SPI1-01 > /sys/devices/bone_capemgr.9/slots
>
> the output is
> root@beaglebone:~# dmesg | grep SPI
> [    0.000000] Kernel command line: console=tty0 console=ttyO0,115200n8
> quiet drm.debug=7 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
> capemgr.enable_partno=BB-SPI1-01 root=/dev/mmcblk0p2 ro rootfstype=ext4
> rootwait fixrtc quiet init=/lib/systemd/systemd
> [    0.732452] bone-capemgr bone_capemgr.9: enabled_partno part_number
> 'BB-SPI1-01', version 'N/A', prio '0'
> [    0.732498] bone-capemgr bone_capemgr.9: slot #7: 'Override Board
> Name,00A0,Override Manuf,BB-SPI1-01'
> [    0.736957] bone-capemgr bone_capemgr.9: loader: before slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.736974] bone-capemgr bone_capemgr.9: loader: check slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.736990] bone-capemgr bone_capemgr.9: loader: after slot-7
> BB-SPI1-01:00A0 (prio 0)
> [    0.737006] bone-capemgr bone_capemgr.9: slot #7: Requesting part
> number/version based 'BB-SPI1-01-00A0.dtbo
> [    0.737024] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware
> 'BB-SPI1-01-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
> [    1.110253] bone-capemgr bone_capemgr.9: failed to load firmware
> 'BB-SPI1-01-00A0.dtbo'
> [    1.118721] bone-capemgr bone_capemgr.9: loader: failed to load slot-7
> BB-SPI1-01:00A0 (prio 0)
> [  353.544405] bone-capemgr bone_capemgr.9: part_number 'BB-SPI1-01',
> version 'N/A'
> [  353.544700] bone-capemgr bone_capemgr.9: slot #8: 'Override Board
> Name,00A0,Override Manuf,BB-SPI1-01'
> [  353.544960] bone-capemgr bone_capemgr.9: slot #8: Requesting part
> number/version based 'BB-SPI1-01-00A0.dtbo
> [  353.545012] bone-capemgr bone_capemgr.9: slot #8: Requesting firmware
> 'BB-SPI1-01-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
> [  353.552302] bone-capemgr bone_capemgr.9: slot #8: dtbo
> 'BB-SPI1-01-00A0.dtbo' loaded; converting to live tree
>
> I then changed uEnv.txt to:
> ##Disable HDMI
> optargs=quiet drm.debug=7
> capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
> #capemgr.enable_partno=BB-SPI1-01
>
> After reboot I get:
> root@beaglebone:~# dmesg | grep SPI
> root@beaglebone:~#
>
> When I enter:
> root@beaglebone:~# cat /sys/devices/bone_capemgr.*/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-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
>  6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
> root@beaglebone:~#
>
> And then type:
> root@beaglebone:~# echo BB-SPI1-01 > /sys/devices/bone_capemgr.9/slots
>
> I get:
> root@beaglebone:~# cat /sys/devices/bone_capemgr.*/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-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
>  6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
>  7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPI1-01
> root@beaglebone:~#
>
> It looks like SPI1 is there!

Correct,

Due to userspace limitations, the initrd and the kernel config, all
"capes" must be built-in to use the
"capemgr.enable_partno=BB-SPIDEV1".

With built-in capes it works fine:
http://pastebin.com/pFfFuG7G

However, as your "custom" cape is not actually available at boot time
as /lib/firmware isn't mounted yet the kernel can't see your cape.  So
if you don't mind waiting 2 minutes for bootup i can change that for
wheezy. (that's sarcasm, i'm not going to make people wait 2 minutes).

So add "BB-SPI1-01" as "CAPE=BB-SPI1-01" to /etc/default/capemgr and
it'll be shortly loaded on startup after the rootfs is mounted.

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to