omap3: mmc: add 1.8v bias setting for MMC1
authorAlbert ARIBAUD \(3ADEV\) <albert.aribaud@3adev.fr>
Fri, 16 Jan 2015 08:09:50 +0000 (09:09 +0100)
committerTom Rini <trini@ti.com>
Thu, 29 Jan 2015 17:00:50 +0000 (12:00 -0500)
Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
arch/arm/include/asm/arch-omap3/mmc_host_def.h
drivers/mmc/omap_hsmmc.c

index 0ba621a1b8231f29a0e050b00f786ff59a826ccf..9f2896c4b91f632bad7501e1698852bcbc0afc2a 100644 (file)
@@ -51,6 +51,7 @@ typedef struct t2 {
 #define PBIASLITEPWRDNZ0               (1 << 1)
 #define PBIASSPEEDCTRL0                        (1 << 2)
 #define PBIASLITEPWRDNZ1               (1 << 9)
+#define PBIASLITEVMODE0                        (1 << 0)
 
 #define CTLPROGIO1SPEEDCTRL            (1 << 20)
 
index c880cedb0addce6761aa67797bf19ed785a93031..dc725cb5b0d83428a6d8e6b65b180aa413f08c95 100644 (file)
@@ -134,6 +134,10 @@ static unsigned char mmc_board_init(struct mmc *mmc)
 
        pbias_lite = readl(&t2_base->pbias_lite);
        pbias_lite &= ~(PBIASLITEPWRDNZ1 | PBIASLITEPWRDNZ0);
+#ifdef CONFIG_TARGET_OMAP3_CAIRO
+       /* for cairo board, we need to set up 1.8 Volt bias level on MMC1 */
+       pbias_lite &= ~PBIASLITEVMODE0;
+#endif
        writel(pbias_lite, &t2_base->pbias_lite);
 
        writel(pbias_lite | PBIASLITEPWRDNZ1 |