projects/linux·commit 230ffc8e

Input: ads7846 - SPI_CPHA mode bugfix

230ffc8e · Semih Hazar <[email protected]> · 2007-05-22 23:35:12 -04:00

In commit [1] the SPI mode is set to 1, but it should be 0.  As stated
in the commit, ads784x samples the data on the rising edge.  SPI mode 1
samples on the falling edge [2] though.

The root cause of this is a bug in the omap_uwire code, which treats
CPHA=1 incorrectly; so these two bugs cancel each other out on one
of the main regression test platforms for this driver.

[1] kernel.org GIT 7937e86a70235e1584486654687dc9908a11e00a
[2] http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Signed-off-by: David Brownell <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
Commit
230ffc8e348e7841b79fd7c659d16aa5d7ec8a69
Parents
bff0de5f

Changes

1 files changed · +1 −1

FileStatusAddDelContent
drivers/input/touchscreen/ads7846.cmodified+1−1View file

drivers/input/touchscreen/ads7846.c

View file
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index b0110fe..1c9069c 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -848,7 +848,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
* may not. So we stick to very-portable 8 bit words, both RX and TX.
*/
spi->bits_per_word = 8;
- spi->mode = SPI_MODE_1;
+ spi->mode = SPI_MODE_0;
err = spi_setup(spi);
if (err < 0)
return err;