configs/icnova-a20-adb4006: add uboot patch for reliable bootclk

Up until now cpu clock gets initialized at 384 MHz, which is
the highest supported cpu clock.

Recent A20 batches show an increased percentage of modules
reacting very sensitive to operating conditions outside the
specifications.

The cpu dies very shortly after PLLs, core frequency or cpu
voltage are missconfigured. E.g.:
- uboot SPL selects 384 MHz as cpu clock which requires a cpu
  voltage of at least 1.1 V.
- Linux CPU Frequency scaling with most sun7i dts will reduce
  cpu voltage down to 1.0 V.
- When intiating a reboot or reset from linux the cpu voltage
  may keep the 1.0 V configuration and the cpu dies during SPL
  initialization.

Therefore reduce cpu clock at uboot SPL initialization down
to 144 MHz from 384 MHz.

Use patch until KConfig option in uboot becomes available.

Signed-off-by: Ludwig Kormann <ludwig.kormann@ict42.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Ludwig Kormann 2024-10-16 14:45:37 +02:00 committed by Thomas Petazzoni
parent 4ca8f0ea76
commit 122af7e193

View File

@ -0,0 +1,48 @@
From 3cdf8aa3ff45e35a237285c107785bc3d2c6976a Mon Sep 17 00:00:00 2001
From: Ludwig Kormann <ludwig.kormann@ict42.de>
Date: Wed, 31 Jan 2024 11:28:19 +0100
Subject: [PATCH] sunxi: sun4i: Reduce cpu clock at SPL initialization to 144
MHz
Up until now cpu clock gets initialized at 384 MHz, which is
the highest supported cpu clock.
Recent A20 batches show an increased percentage of modules
reacting very sensitive to operating conditions outside the
specifications.
The cpu dies very shortly after PLLs, core frequency or cpu
voltage are missconfigured. E.g.:
- uboot SPL selects 384 MHz as cpu clock which requires a cpu
voltage of at least 1.1 V.
- Linux CPU Frequency scaling with most sun7i dts will reduce
cpu voltage down to 1.0 V.
- When intiating a reboot or reset from linux the cpu voltage
may keep the 1.0 V configuration and the cpu dies during SPL
initialization.
Therefore reduce cpu clock at uboot SPL initialization down
to 144 MHz from 384 MHz.
Signed-off-by: Ludwig Kormann <ludwig.kormann@ict42.de>
Upstream: Not Applicable
---
arch/arm/include/asm/arch-sunxi/clock_sun4i.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun4i.h b/arch/arm/include/asm/arch-sunxi/clock_sun4i.h
index 2cec91cb20..252c4c693e 100644
--- a/arch/arm/include/asm/arch-sunxi/clock_sun4i.h
+++ b/arch/arm/include/asm/arch-sunxi/clock_sun4i.h
@@ -141,7 +141,7 @@ struct sunxi_ccm_reg {
#define CCM_PLL1_CFG_SIG_DELT_PAT_EN_SHIFT 2
#define CCM_PLL1_CFG_FACTOR_M_SHIFT 0
-#define PLL1_CFG_DEFAULT 0xa1005000
+#define PLL1_CFG_DEFAULT 0xa1004c01
#if defined CONFIG_OLD_SUNXI_KERNEL_COMPAT && defined CONFIG_MACH_SUN5I
/*
--
2.39.2