问题描述
Beaglebone 的 SPI1 接口有 2 个原生 CS。我想再向 SPI1 添加 4 个 GPIO CS。总共 6 个 CS。
我将所有 6 个 CS 条目添加到设备树的 cs-gpios
中,如下所示。
cs-gpios = <0>,<0>,<&gpio3 19 GPIO_ACTIVE_HIGH>,<&gpio1 18 GPIO_ACTIVE_HIGH>,<&gpio1 16 GPIO_ACTIVE_HIGH>,<&gpio1 17 GPIO_ACTIVE_HIGH>;
在测试时,我观察到只有连接到前 4 个 CS 的设备运行良好。与最后 2 个设备的事务抛出超时错误(从 dmesg 验证的超时错误)。
查看 am33xx.dtsi 和 spi-omap2-mcspi.c 驱动文件后,似乎 SPI 驱动只支持 4 个 CS。
如何扩展 SPI 驱动程序以支持 6 个 CS?
基本上,我试图通过 SPI1 连接 6 个 mcp4921 设备。
使用内核版本 4.14.108-ti-r134。
参考资料
Beaglebone 的 version.sh 输出 here
spi-omap2-mcspi driver
mcp4922 driver
omap2 dtsi
omap4 dtsi
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)