From e11798334ab7fbe330b68c7512cb1e0f5cce46b3 Mon Sep 17 00:00:00 2001 From: luowei Date: Tue, 22 Jan 2013 17:25:05 +0800 Subject: [PATCH] SPIM:fix SPI_MODE_2 bug --- drivers/spi/rk29_spim.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/spi/rk29_spim.c b/drivers/spi/rk29_spim.c index 8fca6a804297..1810c54f2bc9 100755 --- a/drivers/spi/rk29_spim.c +++ b/drivers/spi/rk29_spim.c @@ -896,7 +896,8 @@ static void pump_transfers(unsigned long data) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); - cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (spi->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); } @@ -1105,7 +1106,8 @@ static void dma_transfer(struct rk29xx_spi *dws) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); - cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (chip->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); } @@ -1527,6 +1529,8 @@ static int rk29xx_pump_transfers(struct rk29xx_spi *dws, int mode) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (spi->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); } -- 2.34.1