summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2020-12-29 21:23:28 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-01-05 14:10:52 +0100
commit0884edd00dd8bbfd54c6574be87dedb7829c5213 (patch)
tree68605fa6da8ec8aaef3a450dfc4eeca0f4af9f13
parentcada638c2f116ce79973824d3bf088799625f624 (diff)
downloadbarebox-0884edd00dd8bbfd54c6574be87dedb7829c5213.tar.gz
barebox-0884edd00dd8bbfd54c6574be87dedb7829c5213.tar.xz
ARM: imx8mq: reclock ARM PLL to 800MHz
The BootROM sets up the ARM PLL to run at 1.6GHz and then uses the divider after the PLL the achieve a CPU clock rate of 800MHz. New Linux kernels (>= 5.8) switch to a clock path that bypasses the divider, as the divider should not be used for CPU clock frequencies >1GHz. If the BootROM setup is left unchanged this causes the CPU clock to jump to the full 1.6GHz until CPUfreq takes over and reprograms the PLL. This rate is outside of the chip specification and leads to crashes. Fix this by reclocking the ARM PLL to 800MHz. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/dts/imx8mq.dtsi8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/dts/imx8mq.dtsi b/arch/arm/dts/imx8mq.dtsi
index ec8347f38f..e56cdfe130 100644
--- a/arch/arm/dts/imx8mq.dtsi
+++ b/arch/arm/dts/imx8mq.dtsi
@@ -17,7 +17,9 @@
<&clk IMX8MQ_CLK_USDHC2>,
<&clk IMX8MQ_CLK_ENET_AXI>,
<&clk IMX8MQ_CLK_ENET_TIMER>,
- <&clk IMX8MQ_CLK_ENET_REF>;
+ <&clk IMX8MQ_CLK_ENET_REF>,
+ <&clk IMX8MQ_ARM_PLL>,
+ <&clk IMX8MQ_CLK_A53_DIV>;
assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_400M>,
<&clk IMX8MQ_SYS1_PLL_400M>,
@@ -29,5 +31,7 @@
<200000000>,
<266000000>,
<25000000>,
- <125000000>;
+ <125000000>,
+ <800000000>,
+ <800000000>;
};