mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] ARM: imx8mq: reclock ARM PLL to 800MHz
@ 2020-12-29 20:23 Lucas Stach
  2021-01-05 13:35 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Lucas Stach @ 2020-12-29 20:23 UTC (permalink / raw)
  To: barebox

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>
---
 arch/arm/dts/imx8mq.dtsi | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm/dts/imx8mq.dtsi b/arch/arm/dts/imx8mq.dtsi
index ec8347f38fa8..e56cdfe1308e 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>;
 };
-- 
2.29.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] ARM: imx8mq: reclock ARM PLL to 800MHz
  2020-12-29 20:23 [PATCH] ARM: imx8mq: reclock ARM PLL to 800MHz Lucas Stach
@ 2021-01-05 13:35 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2021-01-05 13:35 UTC (permalink / raw)
  To: Lucas Stach; +Cc: barebox

On Tue, Dec 29, 2020 at 09:23:28PM +0100, Lucas Stach wrote:
> 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>
> ---
>  arch/arm/dts/imx8mq.dtsi | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

Applied, thanks

Sascha

> 
> diff --git a/arch/arm/dts/imx8mq.dtsi b/arch/arm/dts/imx8mq.dtsi
> index ec8347f38fa8..e56cdfe1308e 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>;
>  };
> -- 
> 2.29.2
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-05 13:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-29 20:23 [PATCH] ARM: imx8mq: reclock ARM PLL to 800MHz Lucas Stach
2021-01-05 13:35 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox