您尚未登录。

楼主 # 2021-07-21 15:07:03

Arkanee
会员
注册时间: 2021-07-03
已发帖子: 1
积分: 0.5

求助:全志H3 使用主线linux 用户空间spi设备spedev 设备树修改没有效果

按照官方说明在编译选项中添加

CONFIG_SPI=y
CONFIG_SPI_SUN4I=y
CONFIG_SPI_SUN6I=y
# add spidev
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_MASTER=y
CONFIG_EXPERIMENTAL=y

修改dts文件

&spi0 {
        status = "okay";
        cs-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>;
        spidev0: spidev@0 {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <800000>;
        };
};

编译之后在/proc/device-tree/soc/spi@1c68000中找不到spidev

spiroot@machine:/proc/device-tree/soc/spi@1c68000# ls
'#address-cells'   clocks       dmas         pinctrl-0       resets
'#size-cells'      compatible   interrupts   pinctrl-names   status
 clock-names       dma-names    name         reg

在/sys/bus/spi/devices/中也没有设备,但是在/sys/bus/spi/drivers/中有spidev出现。

root@machine:/sys/bus/spi/devices# ls
root@machine:/sys/bus/spi/devices# cd ../drivers
root@machine:/sys/bus/spi/drivers# ls
spidev
root@machine:/sys/bus/spi/drivers# cd spidev/
root@machine:/sys/bus/spi/drivers/spidev# ls
bind  uevent  unbind

请问是我的dts设备树文件或者编译选项有什么错误或者缺少的地方吗?

嗯 问题好像解决了 我把spidev作为一个模块编译了一遍"CONFIG_SPI_SPIDEV=m", 然后手动"insmod spidev.ko",现在“spidev0.0”设备出现了,还没有测试。

为什么将“spidev"编译进内核,"spidev"不会自动加载呢?不太懂。

最近编辑记录 Arkanee (2021-07-21 18:05:57)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn