| From 7079de03a9495fab2ab172616eb6a07d43fb89e8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 26 Jun 2024 17:27:31 +0200 |
| Subject: arm64: dts: amlogic: setup hdmi system clock |
| |
| From: Jerome Brunet <jbrunet@baylibre.com> |
| |
| [ 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 | 5 +++++ |
| arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 5 +++++ |
| arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 5 +++++ |
| 3 files changed, 15 insertions(+) |
| |
| diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi |
| index b058ed78faf00..dbadbdb8f9310 100644 |
| --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi |
| +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi |
| @@ -215,6 +215,11 @@ hdmi_tx: hdmi-tx@0 { |
| #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>; |
| diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi |
| index 041c37b809f27..ed00e67e6923a 100644 |
| --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi |
| +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi |
| @@ -316,6 +316,11 @@ &hdmi_tx { |
| <&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 { |
| diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi |
| index 067108800a58d..f58d1790de1cb 100644 |
| --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi |
| +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi |
| @@ -328,6 +328,11 @@ &hdmi_tx { |
| <&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 { |
| -- |
| 2.43.0 |
| |