Re: [patch 2.6.27-git] spi_gpio driver

Magnus Damm
2008-10-21T12:40:59Z

On Mon, Oct 20, 2008 at 1:24 PM, David Brownell <david-b@pacbell.net> wrote:
> From: David Brownell <dbrownell@users.sourceforge.net>
>
> 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.
>
> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

Works fine on SuperH together with the mmc_spi driver. Thanks!

Acked-by: Magnus Damm <damm@igel.co.jp>