aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch')
-rw-r--r--target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch b/target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch
new file mode 100644
index 0000000000..32f9f0d5f2
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.36/201-ap83_spi_controller.patch
@@ -0,0 +1,62 @@
+--- 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)