作者| 技术运营官、wenju.lu、shaojun.ke、sz.chen、alan.ma、eason.chen、koda.xu、Aaron Guo
Comake社区技术问题汇总,第20231013期,本期将分享spi相关的问题。
本期问题速览
▪ spi的miso/mosi/di/do的命名
▪ ttl+spi屏在ini屏参配置文件中SPI参数的解释说明
▪ SSD212/SSD222X/SSC9211 SPI全双工速度提升方法
▪ 点SPI Panel时,要如何配置所用的spi控制器
▪ SPI 双工与DMA功能互斥
▪ SPI 9Bit 模式如何配置和传输数据?
▪ kernel mode 添加spi设备驱动,比如spi 驱动tpm设备?
▪ SPI是否支持3线模式?
▪ SPI的clk设置说明
▪ SSR621 SPI 使用参考
Q1:spi的miso/mosi/di/do的命名
A1:ssd22x芯片只包含master 控制器,硬件设计上命名,miso /mosi 分别代表master的数据输入和输出。
早期软件上命名,
通常驱动中没有使用MDRV_PUSE_SPI0_DI/MDRV_PUSE_SPI0_DI 这两个标识。所以,发现填写错误也无影响。
Q2:【8826芯片】使用ttl+spi屏,如何在ini屏参配置文件中配置SPI参数呢?各参数是什么意思呢?
A2:ini配置文件中与SPI有关的有8个参数。
1、m_ePanelIntfType是用于选择panel的输出,如果是ttl+spi的屏幕的话,需要设置为17,如果设置为ttl(即0)则不会输出spi数据,仅输出RGB数据
2、m_wGpioSpiClk,该参数需要配置为SPI-CLK引脚的GPIO index值
3、m_wGpioSpiSDA,该参数需要配置为SPI-MOSI引脚的GPIO index值
4、m_wGpioSpiSCE,该参数需要配置为SPI-CS引脚的GPIO index值
5、m_wGpioSpiRST,该参数需要配置为SPI-RST引脚的GPIO index值
6、m_wGpioBLEn,该参数需要配置为SPI-backlight引脚(屏的背光)的GPIO index值
7、m_wSpiBitsMode,该参数对应的是发送的m_pSpiCmdTable数组中SPI命令的位数
8、m_pSpiCmdTable,该参数为SPI命令;格式为
Q3:SSD212/SSD222X/SSC9211 SPI全双工速度提升方法
A3:通过配置kernel/arch/arm/boot/dts/pioneer3.dts
(1)合上附件的patch 改动的文件有:
arm/boot/dts/pioneer3.dtsi
drivers/sstar/mspi/drv_mspi.c
drivers/sstar/mspi/pioneer3/hal_mspi.h
drivers/sstar/mspi/pioneer3/hal_mspi.c
2884_2022-05-14-1726-ALL-Spi双工速度提升Patch.7z
(2)打开spi0@0或spi1@1中的buff-use-polling的注释;
(3)如果Spi Clock低于1MHz,不建议使用上述方法,因为提升速度有限。
Q4:点SPI Panel时,要如何配置所用的spi控制器?
A4:spi panel的配置可参考 《SSD_TFT-LCD驱动使用参考》
下面介绍如何配置spi控制器
在加载fbtft_device.ko时,通过 busnum / cs 两个参数来控制,其中
busnum:SPI bus number (default=0)
cs:SPI chip select (default=0)
因此,文档中所用的spi控制器即为 spidev1.0
其它参数的含义参见 kernel/drivers/staging/fbtft/fbtft_device.c 中的对应参数说明。此外,SPI驱动的配置参见 《SSD_SPI使用参考》。
Q5:SPI 双工与DMA功能互斥
如您在开发的过程中遇到spi相关问题,或您需要技术支持、选型支持、商务支持,欢迎进入Comake社区开发论坛发帖咨询,社区技术工程师和运营人员将会及时响应您的诉求。
往期回顾
周五见| GPIO相关问题讲解
周五见| USB相关问题讲解
周五见|kernel相关问题讲解
周五见|i2c相关问题讲解
周五见| SSD21X/22X相关问题讲解
扫码进入论坛
原厂答疑|产品选型|官方资源
扫码咨询客服
SDK下载|芯片、开发板购买