Commit 4c7db25c authored by Kyungmin Park's avatar Kyungmin Park Committed by Tony Lindgren

ARM: OMAP: Define use internal clock field in MMCconfiguration

With the recent omap24xx register cleanup, the CONTROL_DEVCONF is only defined
at arch/arm/mach-omap2/pm.c.
So define 24XX_CONTROL_DEVCONF and use internal clock field in MMC
configuration.
I think it's the proper place to set mmc clock instead of  board-specific one.
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
--
b/arch/arm/mach-omap2/board-apollon.c
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 8da01378
......@@ -251,6 +251,8 @@ static struct omap_mmc_config apollon_mmc_config __initdata = {
.mmc [0] = {
.enabled = 1,
.wire4 = 1,
/* Use internal loop-back in MMC/SDIO Module Input Clock selection */
.internal_clock = 1,
.wp_pin = -1,
.power_pin = -1,
/* Note: If you want to detect card feature, please assign 37 */
......@@ -311,9 +313,6 @@ static void __init omap_apollon_init(void)
apollon_flash_init();
apollon_usb_init();
/* Use Interal loop-back in MMC/SDIO Module Input Clock selection */
CONTROL_DEVCONF |= (1 << 24);
/*
* Make sure the serial ports are muxed on at this point.
* You have to mux them off in device drivers later on
......
......@@ -339,6 +339,17 @@ static void __init omap_init_mmc(void)
omap_cfg_reg(MMC_DAT3);
}
}
if (mmc->internal_clock) {
/*
* Use internal loop-back in MMC/SDIO
* Module Input Clock selection
*/
if (cpu_is_omap24xx()) {
u32 v = omap_readl(OMAP24XX_CONTROL_DEVCONF);
v |= (1 << 24);
omap_writel(v, OMAP24XX_CONTROL_DEVCONF);
}
}
mmc1_conf = *mmc;
(void) platform_device_register(&mmc_omap_device1);
}
......
......@@ -48,6 +48,8 @@ struct omap_mmc_conf {
unsigned cover:1;
/* 4 wire signaling is optional, and is only used for SD/SDIO */
unsigned wire4:1;
/* use the internal clock */
unsigned internal_clock:1;
s16 power_pin;
s16 switch_pin;
s16 wp_pin;
......
......@@ -16,6 +16,7 @@
#define OMAP24XX_IVA_INTC_BASE 0x40000000
#define IRQ_SIR_IRQ 0x0040
#define OMAP24XX_CONTROL_DEVCONF (L4_24XX_BASE + 0x274)
#define OMAP24XX_CONTROL_STATUS (L4_24XX_BASE + 0x2f8)
#define OMAP2420_CTRL_BASE L4_24XX_BASE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment