63 lines
2 KiB
Diff
63 lines
2 KiB
Diff
|
--- a/drivers/spi/Makefile
|
||
|
+++ b/drivers/spi/Makefile
|
||
|
@@ -11,6 +11,7 @@ endif
|
||
|
obj-$(CONFIG_SPI_MASTER) += spi.o
|
||
|
|
||
|
# SPI master controller drivers (bus)
|
||
|
+obj-$(CONFIG_SPI_AP83) += ap83_spi.o
|
||
|
obj-$(CONFIG_SPI_AR71XX) += ar71xx_spi.o
|
||
|
obj-$(CONFIG_SPI_ATMEL) += atmel_spi.o
|
||
|
obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.o
|
||
|
--- a/drivers/spi/Kconfig
|
||
|
+++ b/drivers/spi/Kconfig
|
||
|
@@ -53,6 +53,14 @@ if SPI_MASTER
|
||
|
|
||
|
comment "SPI Master Controller Drivers"
|
||
|
|
||
|
+config SPI_AP83
|
||
|
+ tristate "Atheros AP83 specific SPI Controller"
|
||
|
+ depends on SPI_MASTER && AR71XX_MACH_AP83
|
||
|
+ select SPI_BITBANG
|
||
|
+ help
|
||
|
+ This is a specific SPI controller driver for the Atheros AP83
|
||
|
+ reference board.
|
||
|
+
|
||
|
config SPI_AR71XX
|
||
|
tristate "Atheros AR71xx SPI Controller"
|
||
|
depends on SPI_MASTER && ATHEROS_AR71XX
|
||
|
--- a/drivers/spi/ap83_spi.c
|
||
|
+++ b/drivers/spi/ap83_spi.c
|
||
|
@@ -132,28 +132,28 @@ static u32 ap83_spi_txrx_mode0(struct sp
|
||
|
unsigned nsecs, u32 word, u8 bits)
|
||
|
{
|
||
|
dev_dbg(&spi->dev, "TXRX0 word=%08x, bits=%u\n", word, bits);
|
||
|
- return bitbang_txrx_be_cpha0(spi, nsecs, 0, word, bits);
|
||
|
+ return bitbang_txrx_be_cpha0(spi, nsecs, 0, 0, word, bits);
|
||
|
}
|
||
|
|
||
|
static u32 ap83_spi_txrx_mode1(struct spi_device *spi,
|
||
|
unsigned nsecs, u32 word, u8 bits)
|
||
|
{
|
||
|
dev_dbg(&spi->dev, "TXRX1 word=%08x, bits=%u\n", word, bits);
|
||
|
- return bitbang_txrx_be_cpha1(spi, nsecs, 0, word, bits);
|
||
|
+ return bitbang_txrx_be_cpha1(spi, nsecs, 0, 0, word, bits);
|
||
|
}
|
||
|
|
||
|
static u32 ap83_spi_txrx_mode2(struct spi_device *spi,
|
||
|
unsigned nsecs, u32 word, u8 bits)
|
||
|
{
|
||
|
dev_dbg(&spi->dev, "TXRX2 word=%08x, bits=%u\n", word, bits);
|
||
|
- return bitbang_txrx_be_cpha0(spi, nsecs, 1, word, bits);
|
||
|
+ return bitbang_txrx_be_cpha0(spi, nsecs, 1, 0, word, bits);
|
||
|
}
|
||
|
|
||
|
static u32 ap83_spi_txrx_mode3(struct spi_device *spi,
|
||
|
unsigned nsecs, u32 word, u8 bits)
|
||
|
{
|
||
|
dev_dbg(&spi->dev, "TXRX3 word=%08x, bits=%u\n", word, bits);
|
||
|
- return bitbang_txrx_be_cpha1(spi, nsecs, 1, word, bits);
|
||
|
+ return bitbang_txrx_be_cpha1(spi, nsecs, 1, 0, word, bits);
|
||
|
}
|
||
|
|
||
|
static int ap83_spi_probe(struct platform_device *pdev)
|