summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2011-03-11 10:21:19 -0600
committerJesse Gilles <jgilles@multitech.com>2011-03-11 10:21:19 -0600
commit2677d64a6610dfe5de44d9c8e44aec31ce6bd5a5 (patch)
tree9302a60552adb3f400da4b2310856e4dedf49e67 /recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch
parent613b69583e8974b9f4cf96e549f36bdd9f761df6 (diff)
linux-2.6.32: use board patch for mtcdp-embedded
Diffstat (limited to 'recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch')
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch363
1 files changed, 0 insertions, 363 deletions
diff --git a/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch b/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch
deleted file mode 100644
index a4bcac89ca..0000000000
--- a/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-mach-at91.patch
+++ /dev/null
@@ -1,363 +0,0 @@
-diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6.32.3/arch/arm/mach-at91/at91sam9260_devices.c
---- linux-2.6.32.3-vanilla/arch/arm/mach-at91/at91sam9260_devices.c 2010-01-06 17:07:45.000000000 -0600
-+++ linux-2.6.32.3/arch/arm/mach-at91/at91sam9260_devices.c 2010-10-11 10:15:08.000000000 -0500
-@@ -183,9 +183,9 @@ void __init at91_add_device_eth(struct a
- at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */
- at91_set_B_periph(AT91_PIN_PA26, 0); /* ERX3 */
- at91_set_B_periph(AT91_PIN_PA27, 0); /* ERXCK */
-- at91_set_B_periph(AT91_PIN_PA23, 0); /* ETX2 */
-- at91_set_B_periph(AT91_PIN_PA24, 0); /* ETX3 */
-- at91_set_B_periph(AT91_PIN_PA22, 0); /* ETXER */
-+ at91_set_B_periph(AT91_PIN_PA10, 0); /* ETX2 */
-+ at91_set_B_periph(AT91_PIN_PA11, 0); /* ETX3 */
-+ /*at91_set_B_periph(AT91_PIN_PA22, 0);*/ /* ETXER */
- }
-
- eth_data = *data;
-@@ -571,7 +571,15 @@ static struct platform_device at91sam926
- .num_resources = ARRAY_SIZE(spi1_resources),
- };
-
--static const unsigned spi1_standard_cs[4] = { AT91_PIN_PB3, AT91_PIN_PC5, AT91_PIN_PC4, AT91_PIN_PC3 };
-+static const unsigned spi1_standard_cs[7] = {
-+ AT91_PIN_PB3,
-+ AT91_PIN_PC5,
-+ AT91_PIN_PC4,
-+ AT91_PIN_PC6,
-+ AT91_PIN_PB12,
-+ AT91_PIN_PB13,
-+ AT91_PIN_PB16
-+};
-
- void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
- {
-diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/arm/mach-at91/board-sam9g20ek.c linux-2.6.32.3/arch/arm/mach-at91/board-sam9g20ek.c
---- linux-2.6.32.3-vanilla/arch/arm/mach-at91/board-sam9g20ek.c 2010-01-06 17:07:45.000000000 -0600
-+++ linux-2.6.32.3/arch/arm/mach-at91/board-sam9g20ek.c 2010-10-14 16:16:52.000000000 -0500
-@@ -27,6 +27,11 @@
- #include <linux/gpio_keys.h>
- #include <linux/input.h>
- #include <linux/clk.h>
-+#include <linux/i2c/at24.h>
-+#include <linux/spi/eeprom.h>
-+#include <linux/spi/flash.h>
-+#include <linux/delay.h>
-+#include <mach/at91_rtt.h>
-
- #include <mach/hardware.h>
- #include <asm/setup.h>
-@@ -44,9 +49,12 @@
- #include "sam9_smc.h"
- #include "generic.h"
-
-+static int i2c_present;
-
- static void __init ek_map_io(void)
- {
-+ int tmp;
-+
- /* Initialize processor: 18.432 MHz crystal */
- at91sam9260_initialize(18432000);
-
-@@ -61,12 +69,55 @@ static void __init ek_map_io(void)
- /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
- at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
-
-+ /*
-+ * Reset any initiated i2c data transfers?
-+ */
-+ at91_set_gpio_input(AT91_PIN_PA23, 0);
-+ at91_set_gpio_output(AT91_PIN_PA24, 0);
-+ for (tmp = 0; tmp < 11; tmp++) {
-+ at91_set_gpio_value(AT91_PIN_PA24, 0);
-+ udelay(20);
-+ at91_set_gpio_value(AT91_PIN_PA24, 1);
-+ udelay(20);
-+ }
-+ at91_set_gpio_input(AT91_PIN_PA24, 0);
-+
-+ /*
-+ * PA24 and PA23 are used as ID pins on MTCBA/MTCDP-0.0 and I2C pins on MTCDP-1.0.
-+ *
-+ * MTCBA Rev. B: 0x01, C: 0x02, D: 0x03
-+ * MTCDP Rev. A reads as 0x00 with TWCK and TWD pulled high
-+ *
-+ */
-+ tmp = !at91_get_gpio_value(AT91_PIN_PA24) << 1 | !at91_get_gpio_value(AT91_PIN_PA23);
-+
-+ i2c_present = !tmp;
-+
-+ /*
-+ * The GPS receiver is either at US2 on MTCBA/MTCDP-0.0 and US3 on MTCDP-1.0.
-+ */
-+ if (i2c_present) {
-+ at91_register_uart(AT91SAM9260_ID_US3, 3, ATMEL_UART_CTS | ATMEL_UART_RTS);
-+ printk(KERN_INFO "sam9g20: i2c available\n");
-+ } else {
-+ at91_register_uart(AT91SAM9260_ID_US2, 3, 0);
-+ printk(KERN_INFO "sam9g20: i2c not available\n");
-+ }
-+
- /* set serial console to ttyS0 (ie, DBGU) */
- at91_set_serial_console(0);
- }
-
- static void __init ek_init_irq(void)
- {
-+ /*
-+ * Ensure RTT interrupts are disabled
-+ */
-+ u32 mr;
-+ mr = __raw_readl(AT91_VA_BASE_SYS + AT91_RTT + AT91_RTT_MR);
-+ __raw_writel(mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN),
-+ AT91_VA_BASE_SYS + AT91_RTT + AT91_RTT_MR);
-+
- at91sam9260_init_interrupts(NULL);
- }
-
-@@ -82,11 +133,38 @@ static struct at91_usbh_data __initdata
- * USB Device port
- */
- static struct at91_udc_data __initdata ek_udc_data = {
-- .vbus_pin = AT91_PIN_PC5,
-- .pullup_pin = 0, /* pull-up driven by UDC */
-+ .vbus_pin = AT91_PIN_PC12,
-+ .pullup_pin = 0, /* pull-up driven by UDC */
- };
-
-
-+#define MTS_EXT_AT25_TEST 0
-+#if MTS_EXT_AT25_TEST
-+static struct spi_eeprom at25040b = {
-+ .byte_len = SZ_4K / 8,
-+ .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[] = {
-+ {
-+ .name = "flash",
-+ .offset = 0x00000000,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct flash_platform_data m25_spi_flash_data = {
-+ .type = "sst25vf080b",
-+ .nr_parts = ARRAY_SIZE(m25_partitions),
-+ .parts = m25_partitions,
-+};
-+#endif
-+
- /*
- * SPI devices.
- */
-@@ -107,6 +185,54 @@ static struct spi_board_info ek_spi_devi
- },
- #endif
- #endif
-+ {
-+ .modalias = "mts-io-sout",
-+ .chip_select = 0,
-+ .bus_num = 1,
-+ },
-+ {
-+ .modalias = "mts-io-board-temp",
-+ .chip_select = 2,
-+ .bus_num = 1,
-+ },
-+ {
-+ .modalias = "mts-io-dout",
-+ .chip_select = 1,
-+ .bus_num = 1,
-+ },
-+ {
-+ .modalias = "mts-io-din",
-+ .chip_select = 4,
-+ .bus_num = 1,
-+ },
-+#if MTS_EXT_AT25_TEST
-+ {
-+ .modalias = "at25",
-+ .platform_data = &at25040b,
-+ .max_speed_hz = 20 * 1000 * 1000,
-+ .bus_num = 1,
-+ .chip_select = 5,
-+ .mode = SPI_MODE_0,
-+ },
-+ {
-+ .modalias = "at25",
-+ .platform_data = &at25040b,
-+ .max_speed_hz = 20 * 1000 * 1000,
-+ .bus_num = 1,
-+ .chip_select = 6,
-+ .mode = SPI_MODE_0,
-+ },
-+#endif
-+#if MTS_EXT_STT25_TEST
-+ {
-+ .modalias = "m25p80",
-+ .platform_data = &m25_spi_flash_data,
-+ .irq = NO_IRQ,
-+ .max_speed_hz = 33 * 1000 * 1000,
-+ .bus_num = 1,
-+ .chip_select = 5,
-+ },
-+#endif
- };
-
-
-@@ -115,7 +241,7 @@ static struct spi_board_info ek_spi_devi
- */
- static struct at91_eth_data __initdata ek_macb_data = {
- .phy_irq_pin = AT91_PIN_PA7,
-- .is_rmii = 1,
-+ .is_rmii = 0,
- };
-
-
-@@ -124,18 +250,48 @@ static struct at91_eth_data __initdata e
- */
- static struct mtd_partition __initdata ek_nand_partition[] = {
- {
-- .name = "Bootstrap",
-- .offset = 0,
-- .size = 4 * SZ_1M,
-+ .name = "MTNCG-NANDFlash",
-+ .offset = 0,
-+ .size = 256*1024*1024,
-+ },
-+ {
-+ .name = "AT91Bootstrap",
-+ .offset = 0,
-+ .size = 128*1024,
- },
- {
-- .name = "Partition 1",
-- .offset = MTDPART_OFS_NXTBLK,
-- .size = 60 * SZ_1M,
-+ .name = "UBoot",
-+ .offset = 128*1024,
-+ .size = 256*1024,
- },
- {
-- .name = "Partition 2",
-- .offset = MTDPART_OFS_NXTBLK,
-+ .name = "UBoot Config",
-+ .offset = 384*1024,
-+ .size = 128*1024,
-+ },
-+ {
-+ .name = "UBoot Redundant Config",
-+ .offset = 512*1024,
-+ .size = 128*1024,
-+ },
-+ {
-+ .name = "uImage",
-+ .offset = 640*1024,
-+ .size = 59*128*1024,
-+ },
-+ {
-+ .name = "Config",
-+ .offset = 64*128*1024,
-+ .size = 64*128*1024,
-+ },
-+ {
-+ .name = "Oem Config",
-+ .offset = 128*128*1024,
-+ .size = 64*128*1024,
-+ },
-+ {
-+ .name = "Rootfs",
-+ .offset = 192*128*1024,
- .size = MTDPART_SIZ_FULL,
- },
- };
-@@ -195,11 +351,13 @@ static void __init ek_add_device_nand(vo
-
- /*
- * MCI (SD/MMC)
-- * det_pin, wp_pin and vcc_pin are not connected
-+ * vcc_pin is not connected
- */
- static struct at91_mmc_data __initdata ek_mmc_data = {
- .slot_b = 1,
- .wire4 = 1,
-+ .det_pin = AT91_PIN_PA6,
-+ .wp_pin = AT91_PIN_PA9,
- };
-
-
-@@ -207,15 +365,10 @@ static struct at91_mmc_data __initdata e
- * LEDs
- */
- static struct gpio_led ek_leds[] = {
-- { /* "bottom" led, green, userled1 to be defined */
-- .name = "ds5",
-- .gpio = AT91_PIN_PA6,
-+ { /* "status" led, green */
-+ .name = "status",
-+ .gpio = AT91_PIN_PA30,
- .active_low = 1,
-- .default_trigger = "none",
-- },
-- { /* "power" led, yellow */
-- .name = "ds1",
-- .gpio = AT91_PIN_PA9,
- .default_trigger = "heartbeat",
- }
- };
-@@ -269,15 +422,37 @@ static void __init ek_add_device_buttons
- static void __init ek_add_device_buttons(void) {}
- #endif
-
-+uint8_t mts_id_eeprom[512];
-+
-+EXPORT_SYMBOL(mts_id_eeprom);
-+
-+static void mts_id_eeprom_load(struct memory_accessor *macc, void *context)
-+{
-+ int tmp;
-+
-+ memset(mts_id_eeprom, 0, sizeof(mts_id_eeprom));
-+
-+ tmp = macc->read(macc, mts_id_eeprom, 0, sizeof(mts_id_eeprom));
-+ if (tmp != sizeof(mts_id_eeprom)) {
-+ printk(KERN_ERR "sam9g20: id eeprom read failed: %d\n", tmp);
-+ } else {
-+ printk(KERN_INFO "sam9g20: read %d bytes from id eeprom\n", tmp);
-+ }
-+}
-+
-+static struct at24_platform_data at24c04_data = {
-+ .byte_len = SZ_4K / 8,
-+ .page_size = 16,
-+ .setup = mts_id_eeprom_load,
-+};
-
- static struct i2c_board_info __initdata ek_i2c_devices[] = {
- {
-- I2C_BOARD_INFO("24c512", 0x50),
-- I2C_BOARD_INFO("wm8731", 0x1b),
-+ I2C_BOARD_INFO("24c04", 0x56),
-+ .platform_data = &at24c04_data,
- },
- };
-
--
- static void __init ek_board_init(void)
- {
- /* Serial */
-@@ -303,7 +478,7 @@ static void __init ek_board_init(void)
- /* PCK0 provides MCLK to the WM8731 */
- at91_set_B_periph(AT91_PIN_PC1, 0);
- /* SSC (for WM8731) */
-- at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
-+ /* at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX); */
- }
-
- MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")