diff options
Diffstat (limited to 'recipes/linux')
-rw-r--r-- | recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch | 62 | ||||
-rw-r--r-- | recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch | 91 |
2 files changed, 98 insertions, 55 deletions
diff --git a/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch b/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch index 8ef607f8ff..820ce7f756 100644 --- a/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch +++ b/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch @@ -1,39 +1,39 @@ -diff -urN -x CVS linux-2.6.32/drivers/mmc/host/at91_mci.c linux-2.6/drivers/mmc/host/at91_mci.c ---- linux-2.6.32/drivers/mmc/host/at91_mci.c 2010-01-28 20:30:25.000000000 +0200 -+++ linux-2.6/drivers/mmc/host/at91_mci.c 2009-12-14 21:55:58.000000000 +0200 -@@ -201,7 +201,7 @@ - len = data->sg_len; - - /* AT91SAM926[0/3] Data Write Operation and number of bytes erratum */ +diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/drivers/mmc/host/at91_mci.c linux-2.6.32.3/drivers/mmc/host/at91_mci.c +--- linux-2.6.32.3-vanilla/drivers/mmc/host/at91_mci.c 2010-01-06 17:07:45.000000000 -0600 ++++ linux-2.6.32.3/drivers/mmc/host/at91_mci.c 2010-10-11 10:16:06.000000000 -0500 +@@ -201,7 +201,7 @@ static inline void at91_mci_sg_to_dma(st + len = data->sg_len; + + /* AT91SAM926[0/3] Data Write Operation and number of bytes erratum */ - if (cpu_is_at91sam9260() || cpu_is_at91sam9263()) + if (cpu_is_at91sam9260() || cpu_is_at91sam9263() || cpu_is_at91sam9g20()) - if (host->total_length == 12) - memset(dmabuf, 0, 12); - -@@ -461,7 +461,7 @@ - at91_mci_write(host, AT91_MCI_DTOR, AT91_MCI_DTOMUL_1M | AT91_MCI_DTOCYC); - mr = AT91_MCI_PDCMODE | 0x34a; - + if (host->total_length == 12) + memset(dmabuf, 0, 12); + +@@ -461,7 +461,7 @@ static void at91_mci_enable(struct at91m + at91_mci_write(host, AT91_MCI_DTOR, AT91_MCI_DTOMUL_1M | AT91_MCI_DTOCYC); + mr = AT91_MCI_PDCMODE | 0x34a; + - if (cpu_is_at91sam9260() || cpu_is_at91sam9263()) + if (cpu_is_at91sam9260() || cpu_is_at91sam9263() || cpu_is_at91sam9g20()) - mr |= AT91_MCI_RDPROOF | AT91_MCI_WRPROOF; - - at91_mci_write(host, AT91_MCI_MR, mr); -@@ -617,7 +617,7 @@ - * AT91SAM926[0/3] Data Write Operation and - * number of bytes erratum - */ + mr |= AT91_MCI_RDPROOF | AT91_MCI_WRPROOF; + + at91_mci_write(host, AT91_MCI_MR, mr); +@@ -617,7 +617,7 @@ static void at91_mci_send_command(struct + * AT91SAM926[0/3] Data Write Operation and + * number of bytes erratum + */ - if (cpu_is_at91sam9260 () || cpu_is_at91sam9263()) + if (cpu_is_at91sam9260 () || cpu_is_at91sam9263() || cpu_is_at91sam9g20()) - if (host->total_length < 12) - host->total_length = 12; - -@@ -1017,7 +1017,7 @@ - host->bus_mode = 0; - host->board = pdev->dev.platform_data; - if (host->board->wire4) { + if (host->total_length < 12) + host->total_length = 12; + +@@ -1017,7 +1017,7 @@ static int __init at91_mci_probe(struct + host->bus_mode = 0; + host->board = pdev->dev.platform_data; + if (host->board->wire4) { - if (cpu_is_at91sam9260() || cpu_is_at91sam9263()) + if (cpu_is_at91sam9260() || cpu_is_at91sam9263() || cpu_is_at91sam9g20()) - mmc->caps |= MMC_CAP_4_BIT_DATA; - else - dev_warn(&pdev->dev, "4 wire bus mode not supported" + mmc->caps |= MMC_CAP_4_BIT_DATA; + else + dev_warn(&pdev->dev, "4 wire bus mode not supported" diff --git a/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch b/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch index 03389ce29b..2fa73ec9f7 100644 --- a/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch +++ b/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch @@ -1,6 +1,6 @@ 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-09-17 10:36:01.000000000 -0500 ++++ 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 */ @@ -33,17 +33,18 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ { 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-09-17 10:45:36.000000000 -0500 -@@ -27,6 +27,8 @@ ++++ linux-2.6.32.3/arch/arm/mach-at91/board-sam9g20ek.c 2010-10-11 10:19:56.000000000 -0500 +@@ -27,6 +27,9 @@ #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/delay.h> #include <mach/hardware.h> #include <asm/setup.h> -@@ -44,6 +46,7 @@ +@@ -44,6 +47,7 @@ #include "sam9_smc.h" #include "generic.h" @@ -51,7 +52,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ static void __init ek_map_io(void) { -@@ -61,6 +64,43 @@ static void __init ek_map_io(void) +@@ -61,6 +65,43 @@ 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); @@ -95,7 +96,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ /* set serial console to ttyS0 (ie, DBGU) */ at91_set_serial_console(0); } -@@ -82,8 +122,8 @@ static struct at91_usbh_data __initdata +@@ -82,11 +123,21 @@ static struct at91_usbh_data __initdata * USB Device port */ static struct at91_udc_data __initdata ek_udc_data = { @@ -106,7 +107,20 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ }; -@@ -107,6 +147,26 @@ static struct spi_board_info ek_spi_devi ++#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 ++ + /* + * SPI devices. + */ +@@ -107,6 +158,44 @@ static struct spi_board_info ek_spi_devi }, #endif #endif @@ -130,10 +144,28 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ + .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 }; -@@ -115,7 +175,7 @@ static struct spi_board_info ek_spi_devi +@@ -115,7 +204,7 @@ static struct spi_board_info ek_spi_devi */ static struct at91_eth_data __initdata ek_macb_data = { .phy_irq_pin = AT91_PIN_PA7, @@ -142,7 +174,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ }; -@@ -124,18 +184,48 @@ static struct at91_eth_data __initdata e +@@ -124,18 +213,48 @@ static struct at91_eth_data __initdata e */ static struct mtd_partition __initdata ek_nand_partition[] = { { @@ -152,28 +184,28 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ + .name = "MTNCG-NANDFlash", + .offset = 0, + .size = 256*1024*1024, -+ }, -+ { -+ .name = "AT91Bootstrap", -+ .offset = 0, -+ .size = 128*1024, -+ }, -+ { -+ .name = "UBoot", -+ .offset = 128*1024, -+ .size = 256*1024, }, { - .name = "Partition 1", - .offset = MTDPART_OFS_NXTBLK, - .size = 60 * SZ_1M, -+ .name = "UBoot Config", -+ .offset = 384*1024, ++ .name = "AT91Bootstrap", ++ .offset = 0, + .size = 128*1024, }, { - .name = "Partition 2", - .offset = MTDPART_OFS_NXTBLK, ++ .name = "UBoot", ++ .offset = 128*1024, ++ .size = 256*1024, ++ }, ++ { ++ .name = "UBoot Config", ++ .offset = 384*1024, ++ .size = 128*1024, ++ }, ++ { + .name = "UBoot Redundant Config", + .offset = 512*1024, + .size = 128*1024, @@ -199,7 +231,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ .size = MTDPART_SIZ_FULL, }, }; -@@ -195,11 +285,13 @@ static void __init ek_add_device_nand(vo +@@ -195,11 +314,13 @@ static void __init ek_add_device_nand(vo /* * MCI (SD/MMC) @@ -214,7 +246,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ }; -@@ -207,15 +299,10 @@ static struct at91_mmc_data __initdata e +@@ -207,15 +328,10 @@ static struct at91_mmc_data __initdata e * LEDs */ static struct gpio_led ek_leds[] = { @@ -233,7 +265,7 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ .default_trigger = "heartbeat", } }; -@@ -269,15 +356,37 @@ static void __init ek_add_device_buttons +@@ -269,15 +385,37 @@ static void __init ek_add_device_buttons static void __init ek_add_device_buttons(void) {} #endif @@ -274,3 +306,14 @@ diff -uprN -X linux-2.6.32.3/Documentation/dontdiff linux-2.6.32.3-vanilla/arch/ static void __init ek_board_init(void) { /* Serial */ +@@ -302,8 +440,10 @@ static void __init ek_board_init(void) + ek_add_device_buttons(); + /* PCK0 provides MCLK to the WM8731 */ + at91_set_B_periph(AT91_PIN_PC1, 0); ++#if 0 + /* SSC (for WM8731) */ + at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX); ++#endif + } + + MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK") |