diff options
| author | David Brownell <[email protected]> | 2009-01-06 14:41:41 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2009-01-06 15:59:19 -0800 |
| commit | d29389de0b0ee1715333bafc6ac3f22a75aa4313 (patch) | |
| tree | 6c4321359bd10231532d6cb2141f06070d8ddfd6 /tools/perf/scripts/python | |
| parent | c2bacfc44f4b8d03dbaad5d2dca2fb4161e81975 (diff) | |
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.
[[email protected]: cleanups]
Signed-off-by: David Brownell <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Tested-by: Magnus Damm <[email protected]>
Cc: Torgil Svensson <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions