就是说增加片选就能扩展了?分时复用?但多任务环境中是否要特别小心加锁,毕竟硬SPI 就一个。而且速度肯定上不去
离线
mt7688上已经有客户这样使用了,就是拿多余的GPIO来做CS,共用一个SPI控制器操作多个外设,CS线本身速度很低,没什么问题。
歪朵拉开源硬件: https://widora.cn
淘宝: https://widora.taobao.com/
离线
V3S的datasheet,8.2.5.2 transfer control register,
寄存器 SPI_INTCTL,
SS_OWNER==1,由软件控制cs。其实在spi驱动中,设置了这个后,硬件cs就不再自动拉低,需要gpio-cs片选的时候,设置对应的GPIO就行了吧?
ss_sel,选择当前片选。明明有4个硬件片选的,究竟是哪几个引脚?pin_mux怎样设置?
ss_level,设置cs的高低
最近编辑记录 jacob1934 (2018-09-30 20:37:20)
离线
寄存器 SPI_INTCTL中,
SS_OWNER==1,由软件控制cs。其实在spi驱动中,设置了这个后,需要片选的时候,直接设置对应的GPIO就行了吧?
ss_sel,选择当前片选。明明有4个硬件片选的,究竟是哪几个引脚?pin_mux怎样设置?
ss_level,设置cs的高低
https://blog.csdn.net/manfeel/article/details/43635529
这个博客貌似讲得很透彻
离线
https://blog.csdn.net/manfeel/article/details/43635529
的作者manfeel研究了7620的DTS和spi驱动的联系,但没有7620spi寄存器的部分。
想要用gpio-cs,需要spi控制器提供“手动”控制片选的选项,也就是我说的,类似V3S的SPI_INTCTL寄存器SS_OWNER位。
当然也有其他方式,比如外接1:n的选择器,另用几个gpio控制选择器,也就是对cs的复用。当然,也需要修改spi驱动以提供复用支持。
不过,我找到7620 datasheet中没有寄存器描述,没法去验证7620是否也有类似SS_OWNER的寄存器位,我认为应当是有的。
我手里还没有成品V3S的PCB,现在没法验证我的想法。我就提供个思路,希望有大能尝试下。
最近编辑记录 jacob1934 (2018-10-01 12:23:24)
离线
你最终是想在 V3s 平台实现 spi 总线复用对吧?我觉得 cs-gpios 应该可行,感觉不用改驱动,配置一下设备树就可以了。
离线