summaryrefslogtreecommitdiff
path: root/recipes/linux
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux')
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-at91_mci.patch62
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-mach-at91.patch91
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")