首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用beaglebone黑色的spidev

禁用beaglebone黑色的spidev
EN

Unix & Linux用户
提问于 2018-10-19 14:03:15
回答 1查看 726关注 0票数 0

我想使用PRU运行McSPI抛出注册程序上的beaglebone黑色。因此,我需要禁用spi模块的spidev,以便根据技术参考手册AM335x操作mcspi的注册。换句话说,我想从spidev控制spi模块,并使用寄存器级编程。我怎么能禁用spidev模块?

同样在我的BBB命令中,显示两个spi模块的spidev是活动的:

代码语言:javascript
复制
root@beaglebone:~# ls /dev/sp*
/dev/spidev1.0  /dev/spidev1.1  /dev/spidev2.0  /dev/spidev2.1
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-10-19 14:30:33

答案将因所使用的GNU/Linux发行版和内核版本而略有不同,但一般来说,您必须使用设备树或设备树覆盖。

在那里,您需要禁用spi1spi2,并将引脚标记为由PRU控制。

对于Linux4.4.x,设备树看起来有点像这样:

代码语言:javascript
复制
/dts-v1/;

#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"
#include "am33xx-pruss-rproc.dtsi"

&am33xx_pinmux {
    pru_cape_bone_pins: pru_cape_bone_pins {
        pinctrl-single,pins = <
            BONE_P9_22 ( PIN_INPUT_PULLUP | MUX_MODE0 ) // SCLK
            BONE_P9_21 ( PIN_INPUT_PULLUP | MUX_MODE0 ) // MISO
            BONE_P9_18 ( PIN_OUTPUT_PULLUP | MUX_MODE0 ) // MOSI
            BONE_P9_17 ( PIN_OUTPUT_PULLUP | MUX_MODE0 ) // CS0
        >;
    };
};

&pruss {
    pinctrl-names = "default";
    pinctrl-0 = <&pru_cape_bone_pins>;
};

&spi0 {
    status = "disabled";
};

&spi1 {
    status = "disabled";
};

但是:不要以-原样使用此代码!

我不确定是否包含了.dtsi文件、确切的引脚或部分/设备名称,对于其他内核版本也可能需要进行一些小的修改。

这只是我基于我更完整的设备树的一个例子,它启用了spidev和I2C总线,设置了一些PRU引脚等可用的这里。请记住,它的目标是使用4.4.x内核运行BeagleBone Green Wireless。

虽然这不是最完整的答案,但我希望它能引导你朝着正确的方向前进。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/476558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档