在Beaglebone Black Boots期间未加载SPI0的设备树

时间:2016-02-14 06:06:55

标签: beagleboneblack device-tree

我目前在BBB上使用Debian GNU / Linux 7.9(wheezy)[内核版本3.8.13-bone70]。一切正常,直到我重新启动BBB。在重新启动之前,我会执行以下操作来验证SPI0是否已启用。

root@beaglebone:/sys/devices/bone_capemgr.9# echo ADAFRUIT-SPI0 > slots
root@beaglebone:/sys/devices/bone_capemgr.9# cat 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
**8: ff:P-O-L Override Board Name,00A0,Override Manuf,ADAFRUIT-SPI0**

第8个插槽装有SPI 0

root@beaglebone:~# ls -al /dev/spidev*
crw-rw---T 1 root spi 153, 0 Feb 14 05:53 /dev/spidev1.0

它显示了spidev1.0,所以很好

root@beaglebone:~#  cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups
group: spi0_pins_s0
pin 84 (44e10950),
pin 85 (44e10954),
pin 86 (44e10958),

显示SPI引脚。

root@beaglebone:~# sudo nano /boot/uEnv.txt 

我打开了uEnv.txt文件并添加了这一行,以便在系统启动时加载SPI0 DT

optargs=capemgr.enable_partno=ADAFRUIT-SPI0

问题:为什么我的SPI0 DT在系统启动时没有加载?,重新启动后我做了上面提到的前三个步骤来检查,但注意到重启后DT无法加载。为什么会这样?

1 个答案:

答案 0 :(得分:0)

经过一段时间的研究,我得到了解决方案。可悲的是,输入" optargs = capemgr.enable_partno = ADAFRUIT-SPI0"在uEnv.txt中,系统启动时不会加载设备发送。

  1. 我发现的一个解决方案是包括线路" echo ADAFRUIT-SPI0> /sys/devices/bone_capemgr.9/slots"在/etc/rc.local中提到here
  2. 另一个解决方案也很简单,只需要包含行" CAPE = ADAFRUIT-SP0"在/ etc / default / capemgr文件中。然后重新启动,一切都应该正常工作。