aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-11-10 21:44:24 -0500
committerPaul Mundt <lethal@linux-sh.org>2011-11-11 02:45:21 -0500
commit052008edf31383f866b2ec1b12604fc411c2d986 (patch)
tree262be2ba488fb3e52689f42c313eba390409c191 /arch/arm
parent5e442a493fc59fa536c76db1fff5b49ca36a88c5 (diff)
ARM: mach-shmobile: sh73a0: add MMC data pin pull-up
This patch adds MMC data pin pull-up option for pfc-sh73a0.c, and select it on ag5evm board. The MMC read/write will be error without this patch. Cc: Takashi YOSHII <takashi.yoshii.zj@renesas.com> Tested-by: Simon Horman <horms@verge.net.au> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-shmobile/board-ag5evm.c16
-rw-r--r--arch/arm/mach-shmobile/include/mach/sh73a0.h8
-rw-r--r--arch/arm/mach-shmobile/pfc-sh73a0.c34
3 files changed, 50 insertions, 8 deletions
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c
index 83624e26b884..b862e9f81e3e 100644
--- a/arch/arm/mach-shmobile/board-ag5evm.c
+++ b/arch/arm/mach-shmobile/board-ag5evm.c
@@ -515,14 +515,14 @@ static void __init ag5evm_init(void)
515 /* enable MMCIF */ 515 /* enable MMCIF */
516 gpio_request(GPIO_FN_MMCCLK0, NULL); 516 gpio_request(GPIO_FN_MMCCLK0, NULL);
517 gpio_request(GPIO_FN_MMCCMD0_PU, NULL); 517 gpio_request(GPIO_FN_MMCCMD0_PU, NULL);
518 gpio_request(GPIO_FN_MMCD0_0, NULL); 518 gpio_request(GPIO_FN_MMCD0_0_PU, NULL);
519 gpio_request(GPIO_FN_MMCD0_1, NULL); 519 gpio_request(GPIO_FN_MMCD0_1_PU, NULL);
520 gpio_request(GPIO_FN_MMCD0_2, NULL); 520 gpio_request(GPIO_FN_MMCD0_2_PU, NULL);
521 gpio_request(GPIO_FN_MMCD0_3, NULL); 521 gpio_request(GPIO_FN_MMCD0_3_PU, NULL);
522 gpio_request(GPIO_FN_MMCD0_4, NULL); 522 gpio_request(GPIO_FN_MMCD0_4_PU, NULL);
523 gpio_request(GPIO_FN_MMCD0_5, NULL); 523 gpio_request(GPIO_FN_MMCD0_5_PU, NULL);
524 gpio_request(GPIO_FN_MMCD0_6, NULL); 524 gpio_request(GPIO_FN_MMCD0_6_PU, NULL);
525 gpio_request(GPIO_FN_MMCD0_7, NULL); 525 gpio_request(GPIO_FN_MMCD0_7_PU, NULL);
526 gpio_request(GPIO_PORT208, NULL); /* Reset */ 526 gpio_request(GPIO_PORT208, NULL); /* Reset */
527 gpio_direction_output(GPIO_PORT208, 1); 527 gpio_direction_output(GPIO_PORT208, 1);
528 528
diff --git a/arch/arm/mach-shmobile/include/mach/sh73a0.h b/arch/arm/mach-shmobile/include/mach/sh73a0.h
index 18ae6a990bc2..881d515a9686 100644
--- a/arch/arm/mach-shmobile/include/mach/sh73a0.h
+++ b/arch/arm/mach-shmobile/include/mach/sh73a0.h
@@ -470,6 +470,14 @@ enum {
470 GPIO_FN_SDHICMD2_PU, 470 GPIO_FN_SDHICMD2_PU,
471 GPIO_FN_MMCCMD0_PU, 471 GPIO_FN_MMCCMD0_PU,
472 GPIO_FN_MMCCMD1_PU, 472 GPIO_FN_MMCCMD1_PU,
473 GPIO_FN_MMCD0_0_PU,
474 GPIO_FN_MMCD0_1_PU,
475 GPIO_FN_MMCD0_2_PU,
476 GPIO_FN_MMCD0_3_PU,
477 GPIO_FN_MMCD0_4_PU,
478 GPIO_FN_MMCD0_5_PU,
479 GPIO_FN_MMCD0_6_PU,
480 GPIO_FN_MMCD0_7_PU,
473 GPIO_FN_FSIACK_PU, 481 GPIO_FN_FSIACK_PU,
474 GPIO_FN_FSIAILR_PU, 482 GPIO_FN_FSIAILR_PU,
475 GPIO_FN_FSIAIBT_PU, 483 GPIO_FN_FSIAIBT_PU,
diff --git a/arch/arm/mach-shmobile/pfc-sh73a0.c b/arch/arm/mach-shmobile/pfc-sh73a0.c
index 5abe02fbd6b9..a2d99b3a9fa8 100644
--- a/arch/arm/mach-shmobile/pfc-sh73a0.c
+++ b/arch/arm/mach-shmobile/pfc-sh73a0.c
@@ -508,6 +508,14 @@ enum {
508 SDHICMD2_PU_MARK, 508 SDHICMD2_PU_MARK,
509 MMCCMD0_PU_MARK, 509 MMCCMD0_PU_MARK,
510 MMCCMD1_PU_MARK, 510 MMCCMD1_PU_MARK,
511 MMCD0_0_PU_MARK,
512 MMCD0_1_PU_MARK,
513 MMCD0_2_PU_MARK,
514 MMCD0_3_PU_MARK,
515 MMCD0_4_PU_MARK,
516 MMCD0_5_PU_MARK,
517 MMCD0_6_PU_MARK,
518 MMCD0_7_PU_MARK,
511 FSIBISLD_PU_MARK, 519 FSIBISLD_PU_MARK,
512 FSIACK_PU_MARK, 520 FSIACK_PU_MARK,
513 FSIAILR_PU_MARK, 521 FSIAILR_PU_MARK,
@@ -1561,6 +1569,24 @@ static pinmux_enum_t pinmux_data[] = {
1561 MSEL4CR_MSEL15_0), 1569 MSEL4CR_MSEL15_0),
1562 PINMUX_DATA(MMCCMD1_PU_MARK, PORT297_FN2, PORT297_IN_PU, 1570 PINMUX_DATA(MMCCMD1_PU_MARK, PORT297_FN2, PORT297_IN_PU,
1563 MSEL4CR_MSEL15_1), 1571 MSEL4CR_MSEL15_1),
1572
1573 PINMUX_DATA(MMCD0_0_PU_MARK,
1574 PORT271_FN1, PORT271_IN_PU, MSEL4CR_MSEL15_0),
1575 PINMUX_DATA(MMCD0_1_PU_MARK,
1576 PORT272_FN1, PORT272_IN_PU, MSEL4CR_MSEL15_0),
1577 PINMUX_DATA(MMCD0_2_PU_MARK,
1578 PORT273_FN1, PORT273_IN_PU, MSEL4CR_MSEL15_0),
1579 PINMUX_DATA(MMCD0_3_PU_MARK,
1580 PORT274_FN1, PORT274_IN_PU, MSEL4CR_MSEL15_0),
1581 PINMUX_DATA(MMCD0_4_PU_MARK,
1582 PORT275_FN1, PORT275_IN_PU, MSEL4CR_MSEL15_0),
1583 PINMUX_DATA(MMCD0_5_PU_MARK,
1584 PORT276_FN1, PORT276_IN_PU, MSEL4CR_MSEL15_0),
1585 PINMUX_DATA(MMCD0_6_PU_MARK,
1586 PORT277_FN1, PORT277_IN_PU, MSEL4CR_MSEL15_0),
1587 PINMUX_DATA(MMCD0_7_PU_MARK,
1588 PORT278_FN1, PORT278_IN_PU, MSEL4CR_MSEL15_0),
1589
1564 PINMUX_DATA(FSIBISLD_PU_MARK, PORT39_FN1, PORT39_IN_PU), 1590 PINMUX_DATA(FSIBISLD_PU_MARK, PORT39_FN1, PORT39_IN_PU),
1565 PINMUX_DATA(FSIACK_PU_MARK, PORT49_FN1, PORT49_IN_PU), 1591 PINMUX_DATA(FSIACK_PU_MARK, PORT49_FN1, PORT49_IN_PU),
1566 PINMUX_DATA(FSIAILR_PU_MARK, PORT50_FN5, PORT50_IN_PU), 1592 PINMUX_DATA(FSIAILR_PU_MARK, PORT50_FN5, PORT50_IN_PU),
@@ -2236,6 +2262,14 @@ static struct pinmux_gpio pinmux_gpios[] = {
2236 GPIO_FN(SDHICMD2_PU), 2262 GPIO_FN(SDHICMD2_PU),
2237 GPIO_FN(MMCCMD0_PU), 2263 GPIO_FN(MMCCMD0_PU),
2238 GPIO_FN(MMCCMD1_PU), 2264 GPIO_FN(MMCCMD1_PU),
2265 GPIO_FN(MMCD0_0_PU),
2266 GPIO_FN(MMCD0_1_PU),
2267 GPIO_FN(MMCD0_2_PU),
2268 GPIO_FN(MMCD0_3_PU),
2269 GPIO_FN(MMCD0_4_PU),
2270 GPIO_FN(MMCD0_5_PU),
2271 GPIO_FN(MMCD0_6_PU),
2272 GPIO_FN(MMCD0_7_PU),
2239 GPIO_FN(FSIACK_PU), 2273 GPIO_FN(FSIACK_PU),
2240 GPIO_FN(FSIAILR_PU), 2274 GPIO_FN(FSIAILR_PU),
2241 GPIO_FN(FSIAIBT_PU), 2275 GPIO_FN(FSIAIBT_PU),