Files
ubports_kernel_google_msm/include/linux
David Brownell d29389de0b spi_gpio driver
Generalize the old at91rm9200 "bootstrap" bitbanging SPI master driver as
"spi_gpio", so it works with arbitrary GPIOs and can be configured through
platform_data.  Such SPI masters support:

 - any number of bus instances (bus_num is the platform_device.id)
 - any number of chipselects (one GPIO per spi_device)
 - all four SPI_MODE values, and SPI_CS_HIGH
 - i/o word sizes from 1 to 32 bits;
 - devices configured as with any other spi_master controller

When configured using platform_data, this provides relatively low clock
rates.  On platforms that support inlined GPIO calls, significantly
improved transfer speeds are also possible with a semi-custom driver.
(It's still painful when accessing flash memory, but less so.)

Sanity checked by using this version to replace both native controllers on
a board with six different SPI slaves, relying on three different
SPI_MODE_* values and both SPI_CS_HIGH settings for correct operation.

[akpm@linux-foundation.org: cleanups]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Magnus Damm <damm@igel.co.jp>
Tested-by: Magnus Damm <damm@igel.co.jp>
Cc: Torgil Svensson <torgil.svensson@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06 15:59:19 -08:00
..
2009-01-04 12:17:43 +01:00
2009-01-04 12:17:42 +01:00
2009-01-06 15:59:19 -08:00
2008-12-30 16:51:43 -05:00
2008-12-29 08:29:50 +01:00
2009-01-06 15:59:19 -08:00
2009-01-01 10:12:19 +10:30
2008-12-29 08:29:50 +01:00
2009-01-04 13:33:20 -08:00
2009-01-06 15:59:01 -08:00
2009-01-02 12:19:34 -08:00
2008-12-29 17:47:23 +10:00
2008-12-25 11:01:43 +11:00
2008-12-31 18:07:38 -05:00
2008-12-29 07:39:34 -05:00
2009-01-04 13:33:20 -08:00
2009-01-04 13:33:20 -08:00
2008-12-29 11:27:46 +02:00
2008-12-31 18:07:42 -05:00
2009-01-06 15:59:09 -08:00
2009-01-06 15:59:01 -08:00
2008-12-31 18:07:42 -05:00
2009-01-05 08:40:30 -08:00
2009-01-05 08:40:30 -08:00
2008-12-31 15:11:46 +01:00
2009-01-03 14:11:07 +01:00
2008-12-28 22:43:21 -05:00
2009-01-06 15:58:58 -08:00
2009-01-06 15:59:11 -08:00
2009-01-04 16:13:40 -08:00
2008-12-23 15:21:45 -05:00
2009-01-06 15:59:12 -08:00
2009-01-05 18:31:12 -08:00
2009-01-04 13:33:20 -08:00
2008-12-30 09:05:16 +10:30
2009-01-01 10:12:25 +10:30
2009-01-02 10:19:36 -08:00
2009-01-06 15:59:10 -08:00
2009-01-06 15:59:09 -08:00