summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2019.11.0/0001-ARM-am335x-Enable-MMC2-clock.patch
blob: 4d89a1b3b84e17dde4b46ac55105c349cb81bb9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From fb9c0086b2e3ffe2fd18a9b3f5178d14b33b9d15 Mon Sep 17 00:00:00 2001
From: Sascha Hauer <s.hauer@pengutronix.de>
Date: Mon, 11 Nov 2019 14:20:45 +0100
Subject: [PATCH] ARM: am335x: Enable MMC2 clock

Since Kernel commit 5b63fb90adb9 ("ARM: dts: Fix incomplete dts data for
am3 and am4 mmc") (barebox commit 419db1f984 ("dts: update to
v5.3-rc7")) the AM33xx MMC2 controller is unconditionally enabled in the
dts. This has the effect that the driver probes for this device and then
can't access the registers as the clock is disabled. Enable the clock to
let the driver probe successfully.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 arch/arm/mach-omap/am33xx_clock.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap/am33xx_clock.c b/arch/arm/mach-omap/am33xx_clock.c
index e63e93601e..0a49038270 100644
--- a/arch/arm/mach-omap/am33xx_clock.c
+++ b/arch/arm/mach-omap/am33xx_clock.c
@@ -142,11 +142,13 @@ void am33xx_enable_per_clocks(void)
 	__raw_writel(PRCM_MOD_EN, CM_PER_CPSW_CLKSTCTRL);
 	while ((__raw_readl(CM_PER_CPGMAC0_CLKCTRL) & 0x30000) != 0x0);
 
-	/* MMC 0 & 1 */
+	/* MMC 0, 1 & 2 */
 	__raw_writel(PRCM_MOD_EN, CM_PER_MMC0_CLKCTRL);
 	while (__raw_readl(CM_PER_MMC0_CLKCTRL) != PRCM_MOD_EN);
 	__raw_writel(PRCM_MOD_EN, CM_PER_MMC1_CLKCTRL);
 	while (__raw_readl(CM_PER_MMC1_CLKCTRL) != PRCM_MOD_EN);
+	__raw_writel(PRCM_MOD_EN, CM_PER_MMC2_CLKCTRL);
+	while (__raw_readl(CM_PER_MMC2_CLKCTRL) != PRCM_MOD_EN);
 
 	/* Enable the control module though RBL would have done it*/
 	__raw_writel(PRCM_MOD_EN, CM_WKUP_CONTROL_CLKCTRL);
-- 
2.24.0