如何解决如何为 Beaglebone 的 SPI 接口添加对 4 个以上芯片选择的支持
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 举报,一经查实,本站将立刻删除。