Well it looks like they deleted the post that I used as a reference. That's not very helpful.
I think I was able to find the change that I made.
diff --git a/drivers/spi/spi_imx.c b/drivers/spi/spi_imx.c
index be58e17..4bc1b70 100644
--- a/drivers/spi/spi_imx.c
+++ b/drivers/spi/spi_imx.c
@@ -185,6 +185,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin,
#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
#define SPI_IMX2_3_INT_TEEN (1 << 0)
@@ -276,7 +277,10 @@ static int __maybe_unused spi_imx2_3_config(struct spi_imx_data *spi_imx,
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);
+ cfg |= SPI_IMX2_3_CONFIG_SCLKCTL(config->cs);
+ }
if (config->mode & SPI_CS_HIGH)
cfg |= SPI_IMX2_3_CONFIG_SSBPOL(config->cs);
That may help. Although in the end I ended up bit banging the SPI.