Input: ads7846 - SPI_CPHA mode bugfix
authorSemih Hazar <semih.hazar@indefia.com>
Wed, 23 May 2007 03:35:12 +0000 (23:35 -0400)
committerDmitry Torokhov <dtor@insightbb.com>
Wed, 23 May 2007 03:35:12 +0000 (23:35 -0400)
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 <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/ads7846.c

index b0110fe65dae746a16b58b07d8b2a0e665eadd01..1c9069cd3bae4228fe1ed142c8c6543b4467ad11 100644 (file)
@@ -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;