Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
From: Marek Vasut
Date: Fri Jan 02 2026 - 08:53:43 EST
On 1/2/26 11:37 AM, Rain Yang wrote:
On Thu, Jan 01, 2026 at 05:51:12PM +0100, Marek Vasut wrote:
On 1/1/26 1:37 AM, Rain Yang wrote:
On Wed, Dec 31, 2025 at 03:11:21PM +0100, Marek Vasut wrote:
On 12/31/25 4:19 AM, Rain Yang wrote:Hi Marek,
From: Rain Yang <jiyu.yang@xxxxxxx>
Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
complexity.
Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
Signed-off-by: Rain Yang <jiyu.yang@xxxxxxx>
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
index 88bde59e61b2..ab446aa6f73c 100644
--- a/arch/arm64/boot/dts/freescale/imx95.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
@@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
gpu: gpu@4d900000 {
compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
reg = <0 0x4d900000 0 0x480000>;
- clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
- clock-names = "core", "coregroup";
+ clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
+ clock-names = "core";
I don't think this is correct, SM can disable the GPUAPB clock from the SM
monitor:
$ clock.w gpuapb off
Linux has to make sure the GPUAPB clock are enabled to access the GPU
register, hence the clock have to be described in DT.
Hello Jiyu,
CLK_GPU and CLK_GPUAPB can only be controlled internally by the SM, not by Linux.
CLK_GPUAPB always runs at a fixed frequency, does not require dynamic adjustment,
and is practically always on.
Additionally, CLK_GPUAPB's frequency is absent from all OPP entries. Removing it
could simplify OPP handling logic and reduce unnecessary complexity.
But the SM can turn the GPUAPB clock off, correct ?
Linux has to be able to turn GPUAPB clock on, therefore the GPUAPB clock have
to be described in DT, correct ?
Yes, CLK_GPUAPB can be turned off by the SM, but by default it remains on, just like
CLK_GPU. AFAIK, there is no scenario where either of these clocks could or would be
disabled in both SM and Linux.
If enabling or disabling CLK_GPUAPB in Linux was wanted, the same shall apply to CLK_GPU
to make this approach reasonable.
Also, OPP framework shall be adjusted to meet these changes too.
You can not depend on the state in which bootloader or any other prior stage left the platform. If the clock can be turned off, you must make sure they are turned on for correct hardware operation.
CLK_GPU is enabled as parent clock of CLK_GPUCGC already.
I don't understand your concerns about the OPP framework, this keeps coming up in the discussion one way or the other, but it is not clear to me what this is about. Can you elaborate on the OPP framework concern ?