diff mbox series

[v2,2/3] arm64: dts: rockchip: fix compatible string rk3328 cru node

Message ID 20240930215001.1999212-3-heiko@sntech.de (mailing list archive)
State New
Headers show
Series rk3328 cru dt-binding conversion | expand

Commit Message

Heiko Stübner Sept. 30, 2024, 9:50 p.m. UTC
From: Johan Jonker <jbx6244@gmail.com>

The cru node references undocumented compatibles of "rockchip,cru" and also
marks it as syscon.

A general rockchip,cru is way too generic to ever be used anywhere, so
needs to go away, similarly the cru should not be written to from other
places, instead regular clock routines should be used.

Both mainline Linux as well as the vendor-kernel up to their 6.1 branch
only reference the cru via the normal assigned-clocks, clocks and resets
properties and do not get a syscon from the node.

Similarly, there is no syscon access by compatible both in mainline
nor the vendor-kernel up to their 6.1 branch, through either the
rockchip,rk3328-cru nor rockchip,cru compatibles.

So these two really are unused in all publically visible places.

Sidenote: the vendor-kernel does pretty crazy stuff in the camera interface
and tdm driver, where they map the cru separately and set clock muxes and
gates directly. This should of course never reach mainline anyway.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[update commit message, to explain the unused compatibles]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Krzysztof Kozlowski Oct. 8, 2024, 11:32 a.m. UTC | #1
On 30/09/2024 23:50, Heiko Stuebner wrote:
> From: Johan Jonker <jbx6244@gmail.com>
> 
> The cru node references undocumented compatibles of "rockchip,cru" and also
> marks it as syscon.
> 
> A general rockchip,cru is way too generic to ever be used anywhere, so
> needs to go away, similarly the cru should not be written to from other
> places, instead regular clock routines should be used.
> 
> Both mainline Linux as well as the vendor-kernel up to their 6.1 branch
> only reference the cru via the normal assigned-clocks, clocks and resets
> properties and do not get a syscon from the node.
> 
> Similarly, there is no syscon access by compatible both in mainline
> nor the vendor-kernel up to their 6.1 branch, through either the
> rockchip,rk3328-cru nor rockchip,cru compatibles.
> 
> So these two really are unused in all publically visible places.
> 
> Sidenote: the vendor-kernel does pretty crazy stuff in the camera interface
> and tdm driver, where they map the cru separately and set clock muxes and
> gates directly. This should of course never reach mainline anyway.
> 
> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
> [update commit message, to explain the unused compatibles]
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 16b4faa22e4f..cf98f1af659e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -813,7 +813,7 @@  hdmiphy: phy@ff430000 {
 	};
 
 	cru: clock-controller@ff440000 {
-		compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
+		compatible = "rockchip,rk3328-cru";
 		reg = <0x0 0xff440000 0x0 0x1000>;
 		rockchip,grf = <&grf>;
 		#clock-cells = <1>;