summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch')
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch b/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch
new file mode 100644
index 0000000000..820ce7f756
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-at91_mci.patch
@@ -0,0 +1,39 @@
+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 @@ 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 @@ 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 @@ 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"