diff options
Diffstat (limited to 'arch/arm/mach-omap2/devices.c')
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 894cc355818a..a2e915639b72 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -513,6 +513,47 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller, | |||
513 | omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); | 513 | omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); |
514 | } | 514 | } |
515 | } | 515 | } |
516 | |||
517 | if (cpu_is_omap3430()) { | ||
518 | if (controller_nr == 0) { | ||
519 | omap_cfg_reg(N28_3430_MMC1_CLK); | ||
520 | omap_cfg_reg(M27_3430_MMC1_CMD); | ||
521 | omap_cfg_reg(N27_3430_MMC1_DAT0); | ||
522 | if (mmc_controller->slots[0].wires == 4 || | ||
523 | mmc_controller->slots[0].wires == 8) { | ||
524 | omap_cfg_reg(N26_3430_MMC1_DAT1); | ||
525 | omap_cfg_reg(N25_3430_MMC1_DAT2); | ||
526 | omap_cfg_reg(P28_3430_MMC1_DAT3); | ||
527 | } | ||
528 | if (mmc_controller->slots[0].wires == 8) { | ||
529 | omap_cfg_reg(P27_3430_MMC1_DAT4); | ||
530 | omap_cfg_reg(P26_3430_MMC1_DAT5); | ||
531 | omap_cfg_reg(R27_3430_MMC1_DAT6); | ||
532 | omap_cfg_reg(R25_3430_MMC1_DAT7); | ||
533 | } | ||
534 | } | ||
535 | if (controller_nr == 1) { | ||
536 | /* MMC2 */ | ||
537 | omap_cfg_reg(AE2_3430_MMC2_CLK); | ||
538 | omap_cfg_reg(AG5_3430_MMC2_CMD); | ||
539 | omap_cfg_reg(AH5_3430_MMC2_DAT0); | ||
540 | |||
541 | /* | ||
542 | * For 8 wire configurations, Lines DAT4, 5, 6 and 7 need to be muxed | ||
543 | * in the board-*.c files | ||
544 | */ | ||
545 | if (mmc_controller->slots[0].wires == 4 || | ||
546 | mmc_controller->slots[0].wires == 8) { | ||
547 | omap_cfg_reg(AH4_3430_MMC2_DAT1); | ||
548 | omap_cfg_reg(AG4_3430_MMC2_DAT2); | ||
549 | omap_cfg_reg(AF4_3430_MMC2_DAT3); | ||
550 | } | ||
551 | } | ||
552 | |||
553 | /* | ||
554 | * For MMC3 the pins need to be muxed in the board-*.c files | ||
555 | */ | ||
556 | } | ||
516 | } | 557 | } |
517 | 558 | ||
518 | void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data, | 559 | void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data, |