From: Kever Yang <kever.yang@rock-chips.com>
Date: Fri, 7 Oct 2016 07:56:16 +0000 (+0800)
Subject: rk3399: disable the clock multiplier support when SoC init
X-Git-Tag: v2025.01-rc5-pxa1908~8227^2~8
X-Git-Url: http://git.dujemihanovic.xyz/posts?a=commitdiff_plain;h=27b95d25c570e29fe58ae01e308467a1f682411e;p=u-boot.git

rk3399: disable the clock multiplier support when SoC init

The Clock Multiplier in rk3399 EMMC programmable clock generator
is broken, we can remove its support from SoC GRF register.

Without this patch, rk3399 emmc driver is not work after below patch
applied:
6dffdbc mmc: sdhci: Add the programmable clock mode support

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index b9d7629407..8bb950ebd1 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -6,6 +6,10 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+
+#define GRF_EMMCCORE_CON11 0xff77f02c
 
 static struct mm_region rk3399_mem_map[] = {
 	{
@@ -28,3 +32,13 @@ static struct mm_region rk3399_mem_map[] = {
 };
 
 struct mm_region *mem_map = rk3399_mem_map;
+
+int arch_cpu_init(void)
+{
+	/* We do some SoC one time setting here. */
+
+	/* Emmc clock generator: disable the clock multipilier */
+	rk_clrreg(GRF_EMMCCORE_CON11, 0x0ff);
+
+	return 0;
+}