From 8ad53cb7cfc5d9c233e9be89bd57002c31ab957d Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Wed, 20 Jul 2016 02:19:38 +0300 Subject: [PATCH] mmc: omap: don't set wrong voltage select for mmc2 causes compatibility issues with older kernels, but somehow still works in uboot itself? --- drivers/mmc/omap_hsmmc.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index b6903d2158..ab243c5213 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -203,9 +203,17 @@ static int mmc_init_setup(struct mmc *mmc) return TIMEOUT; } } - writel(DTW_1_BITMODE | SDBP_PWROFF | SDVS_3V0, &mmc_base->hctl); - writel(readl(&mmc_base->capa) | VS30_3V0SUP | VS18_1V8SUP, - &mmc_base->capa); + reg_val = DTW_1_BITMODE | SDBP_PWROFF; + if (mmc->block_dev.dev == 0) + reg_val |= SDVS_3V0; + else + reg_val |= SDVS_1V8; + writel(reg_val, &mmc_base->hctl); + + reg_val = readl(&mmc_base->capa) | VS18_1V8SUP; + if (mmc->block_dev.dev == 0) + reg_val |= VS30_3V0SUP; + writel(reg_val, &mmc_base->capa); reg_val = readl(&mmc_base->con) & RESERVED_MASK; -- 2.39.2