ele1000 发表于 2017-4-22 14:54:43

OK_MX6X_C_V1.1 spi 模式设置遇到问题

本帖最后由 ele1000 于 2017-4-22 15:08 编辑

测试时自发自收可以正常工作。,模式0 和 模式1可以正常工作,
spi设置成模式3,时钟空闲时没有变成高电平。


飞凌-unix 发表于 2017-4-26 14:00:37

您好;您说的这个问题我们这边仔细测试了下,可以通过修改驱动来解决,方法如下:修改/drivers/spi/spi_imx.c
185行左右,带+的就是另外增加的
#define SPI_IMX2_3_CONFIG_SCLKPOL(cs)        (1 << ((cs) +4))
#define SPI_IMX2_3_CONFIG_SBBCTRL(cs)        (1 << ((cs) +8))
#define SPI_IMX2_3_CONFIG_SSBPOL(cs)        (1 << ((cs) + 12))
+#define SPI_IMX2_3_CONFIG_SCLKCTL(cs)(1 << ((cs) + 20))
#define SPI_IMX2_3_INT                0x10
275行左右,-号是去掉的,+号是增加的
static int __maybe_unused spi_imx2_3_config(struct spi_imx_data *spi_imx, cfg |= SPI_IMX2_3_CONFIG_SBBCTRL(config->cs);
        if (config->mode & SPI_CPHA)
                cfg |= SPI_IMX2_3_CONFIG_SCLKPHA(config->cs);
        if (config->mode & SPI_CPOL)
-                cfg |= SPI_IMX2_3_CONFIG_SCLKPOL(config->cs);
+                cfg |= SPI_IMX2_3_CONFIG_SCLKPOL(config->cs) | SPI_IMX2_3_CONFIG_SCLKCTL(config->cs);
        if (config->mode & SPI_CS_HIGH) cfg |= SPI_IMX2_3_CONFIG_SSBPOL(config->cs);
有问题可以直接给我们发邮件或者拨打技术支持电话。

ele1000 发表于 2017-5-9 12:24:38

谢谢熊猫大哥 飞凌-unix
页: [1]
查看完整版本: OK_MX6X_C_V1.1 spi 模式设置遇到问题