NXP linux SPI多字节时钟连续没有间隔问题
项目场景:
硬件平台:NXP Cortex-A9 双核
linux内核版本:4.19.35
问题描述:
使用SPI通讯时,当传输数据小于32字节时发现SPI时序单个字节与单个字节之间时钟是连在一起的,没有间隔。大于32字节时,时序是分开的,由于SPI另一端接的是单片机,速度慢,需要把时序分开。问题时序
正常时序
原因分析:
查看NXP SPI底层驱动发现当传输字节小于32字节时,系统会使用IO方式传输,反之这会使用DMA传输。
解决方案:
根据原因修改驱动的判断条件,由于我们不想使用IO方式,并且传输数据都会大于10个字节,所以我这里把判断条件改到了10。
需要修改的文件为:drivers/spi/spi-imx.c
需要修改的部分截图: