From de99aa8d18acd360dcd8a0fda4cccd3d55969aad 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 }