aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/mmci.c13
-rw-r--r--drivers/mmc/host/mmci.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 04efcdfeb5e1..dee9b73ce293 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -90,6 +90,14 @@ static struct variant_data variant_arm_extended_fifo = {
90 .pwrreg_powerup = MCI_PWR_UP, 90 .pwrreg_powerup = MCI_PWR_UP,
91}; 91};
92 92
93static struct variant_data variant_arm_extended_fifo_hwfc = {
94 .fifosize = 128 * 4,
95 .fifohalfsize = 64 * 4,
96 .clkreg_enable = MCI_ARM_HWFCEN,
97 .datalength_bits = 16,
98 .pwrreg_powerup = MCI_PWR_UP,
99};
100
93static struct variant_data variant_u300 = { 101static struct variant_data variant_u300 = {
94 .fifosize = 16 * 4, 102 .fifosize = 16 * 4,
95 .fifohalfsize = 8 * 4, 103 .fifohalfsize = 8 * 4,
@@ -1672,6 +1680,11 @@ static struct amba_id mmci_ids[] = {
1672 .data = &variant_arm_extended_fifo, 1680 .data = &variant_arm_extended_fifo,
1673 }, 1681 },
1674 { 1682 {
1683 .id = 0x02041180,
1684 .mask = 0xff0fffff,
1685 .data = &variant_arm_extended_fifo_hwfc,
1686 },
1687 {
1675 .id = 0x00041181, 1688 .id = 0x00041181,
1676 .mask = 0x000fffff, 1689 .mask = 0x000fffff,
1677 .data = &variant_arm, 1690 .data = &variant_arm,
diff --git a/drivers/mmc/host/mmci.h b/drivers/mmc/host/mmci.h
index a22213eeff88..1f33ad5333a0 100644
--- a/drivers/mmc/host/mmci.h
+++ b/drivers/mmc/host/mmci.h
@@ -28,6 +28,8 @@
28#define MCI_ST_UX500_NEG_EDGE (1 << 13) 28#define MCI_ST_UX500_NEG_EDGE (1 << 13)
29#define MCI_ST_UX500_HWFCEN (1 << 14) 29#define MCI_ST_UX500_HWFCEN (1 << 14)
30#define MCI_ST_UX500_CLK_INV (1 << 15) 30#define MCI_ST_UX500_CLK_INV (1 << 15)
31/* Modified PL180 on Versatile Express platform */
32#define MCI_ARM_HWFCEN (1 << 12)
31 33
32#define MMCIARGUMENT 0x008 34#define MMCIARGUMENT 0x008
33#define MMCICOMMAND 0x00c 35#define MMCICOMMAND 0x00c