From 937ef618086f625a1a03377826debe69037e5d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Fab=C3=A6ch=20Brandt?= Date: Mon, 23 Jul 2018 22:33:21 +0200 Subject: [PATCH] jz_mmc: Ensure the clock is activated for the MMC devices in use. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The clock for the MMC devices needs to be activated by clearing the corresponding bits in CLKGR0. It has so far only worked when booting from SD card because the bootrom leaves it cleared. Signed-off-by: Kasper Fabæch Brandt --- drivers/mmc/jz_mmc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mmc/jz_mmc.c b/drivers/mmc/jz_mmc.c index 35daa10db..aa4a6f99a 100644 --- a/drivers/mmc/jz_mmc.c +++ b/drivers/mmc/jz_mmc.c @@ -290,12 +290,15 @@ void jz_mmc_init(int clock_div) int i = 0; #if defined(CONFIG_JZ_MMC_MSC0) && (!defined(CONFIG_SPL_BUILD) || (CONFIG_JZ_MMC_SPLMSC == 0)) + writel(readl(CPM_CLKGR0) & ~CPM_CLKGR0_MSC0, CPM_CLKGR0); jz_mmc_init_one(i++, 0, MSC0_BASE, clock_div); #endif #if defined(CONFIG_JZ_MMC_MSC1) && (!defined(CONFIG_SPL_BUILD) || (CONFIG_JZ_MMC_SPLMSC == 1)) + writel(readl(CPM_CLKGR0) & ~CPM_CLKGR0_MSC1, CPM_CLKGR0); jz_mmc_init_one(i++, 1, MSC1_BASE, clock_div); #endif #if defined(CONFIG_JZ_MMC_MSC2) && (!defined(CONFIG_SPL_BUILD) || (CONFIG_JZ_MMC_SPLMSC == 2)) + writel(readl(CPM_CLKGR0) & ~CPM_CLKGR0_MSC2, CPM_CLKGR0); jz_mmc_init_one(i++, 2, MSC2_BASE, clock_div); #endif }