Browse Source

ARM: 7378/1: mmci: add support for the Nomadik MMCI variant

The Nomadik variant is somewhere inbetween the U300 and the Ux500
variant, its actually expose the same primecell ID as the U300
but had different characteristics so it needs a small revision
bump and hard-coding from the board/device tree. After this it
works just fine.

Acked-by: Ulf Hansson <ulf.hansson@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij 13 years ago
parent
commit
34fd421349
1 changed files with 16 additions and 0 deletions
  1. 16 0
      drivers/mmc/host/mmci.c

+ 16 - 0
drivers/mmc/host/mmci.c

@@ -94,6 +94,17 @@ static struct variant_data variant_u300 = {
 	.signal_direction	= true,
 };
 
+static struct variant_data variant_nomadik = {
+	.fifosize		= 16 * 4,
+	.fifohalfsize		= 8 * 4,
+	.clkreg			= MCI_CLK_ENABLE,
+	.datalength_bits	= 24,
+	.sdio			= true,
+	.st_clkdiv		= true,
+	.pwrreg_powerup		= MCI_PWR_ON,
+	.signal_direction	= true,
+};
+
 static struct variant_data variant_ux500 = {
 	.fifosize		= 30 * 4,
 	.fifohalfsize		= 8 * 4,
@@ -1568,6 +1579,11 @@ static struct amba_id mmci_ids[] = {
 		.mask   = 0x00ffffff,
 		.data	= &variant_u300,
 	},
+	{
+		.id     = 0x10180180,
+		.mask   = 0xf0ffffff,
+		.data	= &variant_nomadik,
+	},
 	{
 		.id     = 0x00280180,
 		.mask   = 0x00ffffff,