From 692de808a4bc2d857b37b9e44154931de44fa810 Mon Sep 17 00:00:00 2001 From: Jesse Gilles Date: Tue, 17 Dec 2013 16:28:44 -0600 Subject: linux-2.6.35: mt100eocg: add spidev devices --- .../recipes/linux/linux-2.6.35/mt100eocg/defconfig | 2 +- .../linux-2.6.35.14-mach-at91-mt100eocg.patch | 56 ++++++++++++++-------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/multitech/recipes/linux/linux-2.6.35/mt100eocg/defconfig b/multitech/recipes/linux/linux-2.6.35/mt100eocg/defconfig index 8a2fa1c..317c6a7 100644 --- a/multitech/recipes/linux/linux-2.6.35/mt100eocg/defconfig +++ b/multitech/recipes/linux/linux-2.6.35/mt100eocg/defconfig @@ -1131,7 +1131,7 @@ CONFIG_SPI_ATMEL=y # # SPI Protocol Masters # -# CONFIG_SPI_SPIDEV is not set +CONFIG_SPI_SPIDEV=m # CONFIG_SPI_TLE62X0 is not set # diff --git a/multitech/recipes/linux/linux-2.6.35/mt100eocg/linux-2.6.35.14-mach-at91-mt100eocg.patch b/multitech/recipes/linux/linux-2.6.35/mt100eocg/linux-2.6.35.14-mach-at91-mt100eocg.patch index f46c6f7..a9c930c 100644 --- a/multitech/recipes/linux/linux-2.6.35/mt100eocg/linux-2.6.35.14-mach-at91-mt100eocg.patch +++ b/multitech/recipes/linux/linux-2.6.35/mt100eocg/linux-2.6.35.14-mach-at91-mt100eocg.patch @@ -1,7 +1,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/at91sam9260_devices.c =================================================================== ---- linux-2.6.35.orig/arch/arm/mach-at91/at91sam9260_devices.c 2011-08-12 14:37:24.056904132 -0500 -+++ linux-2.6.35/arch/arm/mach-at91/at91sam9260_devices.c 2011-08-12 14:39:25.459149746 -0500 +--- linux-2.6.35.orig/arch/arm/mach-at91/at91sam9260_devices.c 2010-08-01 17:11:14.000000000 -0500 ++++ linux-2.6.35/arch/arm/mach-at91/at91sam9260_devices.c 2013-07-02 14:13:34.956479927 -0500 @@ -183,9 +183,9 @@ at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */ at91_set_B_periph(AT91_PIN_PA26, 0); /* ERX3 */ @@ -34,8 +34,8 @@ Index: linux-2.6.35/arch/arm/mach-at91/at91sam9260_devices.c { Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c =================================================================== ---- linux-2.6.35.orig/arch/arm/mach-at91/board-sam9g20ek.c 2011-08-12 14:37:05.596941320 -0500 -+++ linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c 2011-08-12 14:48:20.617283739 -0500 +--- linux-2.6.35.orig/arch/arm/mach-at91/board-sam9g20ek.c 2010-08-01 17:11:14.000000000 -0500 ++++ linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c 2013-12-17 15:16:55.593333335 -0600 @@ -27,6 +27,11 @@ #include #include @@ -135,9 +135,9 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c + .name = "at25040b", + .page_size = 8, + .flags = EE_ADDR1, -+}; + }; +#endif -+ + +#define MTS_EXT_STT25_TEST 0 +#if MTS_EXT_STT25_TEST +static struct mtd_partition m25_partitions[] = { @@ -146,8 +146,8 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c + .offset = 0x00000000, + .size = MTDPART_SIZ_FULL, + }, - }; - ++}; ++ +static struct flash_platform_data m25_spi_flash_data = { + .type = "sst25vf080b", + .nr_parts = ARRAY_SIZE(m25_partitions), @@ -157,16 +157,11 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c /* * SPI devices. -@@ -107,6 +185,54 @@ +@@ -107,6 +185,70 @@ }, #endif #endif + { -+ .modalias = "mts-io-sout", -+ .chip_select = 0, -+ .bus_num = 1, -+ }, -+ { + .modalias = "mts-io-board-temp", + .chip_select = 2, + .bus_num = 1, @@ -181,6 +176,27 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c + .chip_select = 4, + .bus_num = 1, + }, ++ /* max_speed_hz = 0 means as slow as possible ++ * for OCG, this means approx 520kHz ++ */ ++ { /* SPI_CS5 to board-to-board connector */ ++ .modalias = "spidev", ++ .chip_select = 5, ++ .max_speed_hz = 0, ++ .bus_num = 1, ++ }, ++ { /* SPI_CS6 to board-to-board connector */ ++ .modalias = "spidev", ++ .chip_select = 6, ++ .max_speed_hz = 0, ++ .bus_num = 1, ++ }, ++ { /* SPI_CS7 to board-to-board connector (chip select 0 in board code) */ ++ .modalias = "spidev", ++ .chip_select = 0, ++ .max_speed_hz = 0, ++ .bus_num = 1, ++ }, +#if MTS_EXT_AT25_TEST + { + .modalias = "at25", @@ -212,7 +228,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c }; -@@ -115,7 +241,7 @@ +@@ -115,7 +257,7 @@ */ static struct at91_eth_data __initdata ek_macb_data = { .phy_irq_pin = AT91_PIN_PA7, @@ -221,7 +237,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c }; -@@ -124,18 +250,48 @@ +@@ -124,18 +266,48 @@ */ static struct mtd_partition __initdata ek_nand_partition[] = { { @@ -278,7 +294,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c .size = MTDPART_SIZ_FULL, }, }; -@@ -195,11 +351,13 @@ +@@ -195,11 +367,13 @@ /* * MCI (SD/MMC) @@ -293,7 +309,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c }; -@@ -207,15 +365,10 @@ +@@ -207,15 +381,10 @@ * LEDs */ static struct gpio_led ek_leds[] = { @@ -312,7 +328,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c .default_trigger = "heartbeat", } }; -@@ -269,14 +422,36 @@ +@@ -269,14 +438,36 @@ static void __init ek_add_device_buttons(void) {} #endif @@ -355,7 +371,7 @@ Index: linux-2.6.35/arch/arm/mach-at91/board-sam9g20ek.c }; -@@ -305,7 +480,7 @@ +@@ -305,7 +496,7 @@ /* PCK0 provides MCLK to the WM8731 */ at91_set_B_periph(AT91_PIN_PC1, 0); /* SSC (for WM8731) */ -- cgit v1.2.3