]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: amlogic: setup hdmi system clock
authorJerome Brunet <jbrunet@baylibre.com>
Wed, 26 Jun 2024 15:27:31 +0000 (17:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:26 +0000 (08:59 +0200)
[ Upstream commit 1443b6ea806dfcdcee6c894784332c9c947ac319 ]

HDMI Tx needs the system clock set on the xtal rate.
This clock is managed by the main clock controller of the related SoCs.

Currently 2 part of the display drivers race to setup the HDMI system
clock by directly poking the controller register. The clock API should
be used to setup the rate instead.

Use assigned-clock to setup the HDMI system clock.

Fixes: 6939db7e0dbf ("ARM64: dts: meson-gx: Add support for HDMI output")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20240626152733.1350376-3-jbrunet@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi

index b058ed78faf00682791ce38ca60c1b0d6ff8db66..dbadbdb8f931006211cf0ba2d41d872621459663 100644 (file)
                                #sound-dai-cells = <0>;
                                status = "disabled";
 
+                               assigned-clocks = <&clkc CLKID_HDMI_SEL>,
+                                                 <&clkc CLKID_HDMI>;
+                               assigned-clock-parents = <&xtal>, <0>;
+                               assigned-clock-rates = <0>, <24000000>;
+
                                /* VPU VENC Input */
                                hdmi_tx_venc_port: port@0 {
                                        reg = <0>;
index 041c37b809f276e9ce3710423740e40a6eecd6a0..ed00e67e6923a0392acb776e886f848e9522c983 100644 (file)
                 <&clkc CLKID_GCLK_VENCI_INT0>;
        clock-names = "isfr", "iahb", "venci";
        power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
+
+       assigned-clocks = <&clkc CLKID_HDMI_SEL>,
+                         <&clkc CLKID_HDMI>;
+       assigned-clock-parents = <&xtal>, <0>;
+       assigned-clock-rates = <0>, <24000000>;
 };
 
 &sysctrl {
index 067108800a58dec4b03c224f4df99eab069cf454..f58d1790de1cb438cb6c4530648b0a5840f76995 100644 (file)
                 <&clkc CLKID_GCLK_VENCI_INT0>;
        clock-names = "isfr", "iahb", "venci";
        power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
+
+       assigned-clocks = <&clkc CLKID_HDMI_SEL>,
+                         <&clkc CLKID_HDMI>;
+       assigned-clock-parents = <&xtal>, <0>;
+       assigned-clock-rates = <0>, <24000000>;
 };
 
 &sysctrl {