2023-11-28 20:02:47

by Adam Ford

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: imx8mm: Reduce GPU to nominal speed

When the GPU nodes were added, the GPU_PLL_OUT was configured
for 1000MHz, but this requires the SoC to run in overdrive mode
which requires an elevated voltage operating point.

Since this may run some boards out of spec, the default clock
should be set to 800MHz for nominal operating mode. Boards
that run at the higher voltage can update their clocks
accordingly.

Fixes: 4523be8e46be ("arm64: dts: imx8mm: Add GPU nodes for 2D and 3D core")
Signed-off-by: Adam Ford <[email protected]>

diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index 669fdd2c54e4..b33bc4855e5f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -1402,7 +1402,7 @@ gpu_3d: gpu@38000000 {
assigned-clocks = <&clk IMX8MM_CLK_GPU3D_CORE>,
<&clk IMX8MM_GPU_PLL_OUT>;
assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>;
- assigned-clock-rates = <0>, <1000000000>;
+ assigned-clock-rates = <0>, <800000000>;
power-domains = <&pgc_gpu>;
};

@@ -1417,7 +1417,7 @@ gpu_2d: gpu@38008000 {
assigned-clocks = <&clk IMX8MM_CLK_GPU2D_CORE>,
<&clk IMX8MM_GPU_PLL_OUT>;
assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>;
- assigned-clock-rates = <0>, <1000000000>;
+ assigned-clock-rates = <0>, <800000000>;
power-domains = <&pgc_gpu>;
};

--
2.40.1


2023-11-28 20:03:03

by Adam Ford

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: imx8mm-beacon: Enable overdrive mode

The SoC runs at a high enough voltage to support overdrive
mode, so include the imx8mm-overdrive.dtsi file to increase
the VPU and GPU clocks to their overdrive speeds.

Signed-off-by: Adam Ford <[email protected]>

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
index f264102bdb27..62ed64663f49 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
@@ -3,6 +3,8 @@
* Copyright 2020 Compass Electronics Group, LLC
*/

+#include "imx8mm-overdrive.dtsi"
+
/ {
aliases {
rtc0 = &rtc;
--
2.40.1

2023-12-14 02:23:05

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: imx8mm: Reduce GPU to nominal speed

On Tue, Nov 28, 2023 at 02:02:16PM -0600, Adam Ford wrote:
> When the GPU nodes were added, the GPU_PLL_OUT was configured
> for 1000MHz, but this requires the SoC to run in overdrive mode
> which requires an elevated voltage operating point.
>
> Since this may run some boards out of spec, the default clock
> should be set to 800MHz for nominal operating mode. Boards
> that run at the higher voltage can update their clocks
> accordingly.
>
> Fixes: 4523be8e46be ("arm64: dts: imx8mm: Add GPU nodes for 2D and 3D core")
> Signed-off-by: Adam Ford <[email protected]>

Applied all, thanks!