From b17486597381b476deb5083fdd2a7b5a93f74b38 Mon Sep 17 00:00:00 2001 From: Md Sadre Alam Date: Tue, 20 Nov 2018 12:33:26 +0530 Subject: [PATCH] drivers: clk: ipq40xx: Clear divider value while doing deinit This change will clear the divider value while doing deinit of SD devices. In-order to clear the divider value we have to write into register GCC_SDCC1_MISC. Writing 0x0 to this register will clear the divider value which is set, while doing initialization got SD devices. Without this change, while kernel bootup we can see the below error. error: [3.529917] mmc0: Skipping voltage switch [4.131741] mmc0: error -110 whilst initialising SD card. Change-Id: Ifeca94ae09532a4b506e645cc9254e438179c886 Signed-off-by: Md Sadre Alam --- drivers/clk/ipq40xx_clk.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/ipq40xx_clk.c b/drivers/clk/ipq40xx_clk.c index 01620be8d2..4afe201c49 100644 --- a/drivers/clk/ipq40xx_clk.c +++ b/drivers/clk/ipq40xx_clk.c @@ -63,6 +63,8 @@ void emmc_clock_config(int mode) } void emmc_clock_disable(void) { + /* Clear divider */ + writel(0x0, GCC_SDCC1_MISC); writel(0x0, GCC_SDCC1_APPS_CBCR); udelay(10);