]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: hamoa: Fix OPP tables for all DisplayPort controllers
authorAbel Vesa <abel.vesa@oss.qualcomm.com>
Mon, 23 Mar 2026 10:01:12 +0000 (12:01 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 Apr 2026 19:14:55 +0000 (14:14 -0500)
According to internal documentation, the corners specific for each rate
from the DP link clock are:
 - LOWSVS_D1 -> 19.2 MHz
 - LOWSVS    -> 270 MHz
 - SVS       -> 540 MHz (594 MHz in case of DP3)
 - SVS_L1    -> 594 MHz
 - NOM       -> 810 MHz
 - NOM_L1    -> 810 MHz
 - TURBO     -> 810 MHz

So fix all tables for each of the four controllers according to the
documentation, but since DP0 through DP2 have the same entries in their
tables, lets drop the DP1 and DP2 and have all of them share the DP0
table instead. However keep a separate table for the DP3 as it is
different for the SVS, compared to the rest of the controllers.

The 19.2 MHz @ LOWSVS_D1 isn't needed as it's not an actual working
frequency and the controller will never select it. So remove it.

Cc: stable@vger.kernel.org # v6.9+
Fixes: 1940c25eaa63 ("arm64: dts: qcom: x1e80100: Add display nodes")
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260323-hamoa-fix-dp3-opp-table-v3-1-a823776bd1b0@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/hamoa.dtsi

index 051dee0764167338023c96342d895f2871a61c59..4ba751a65142baefc6f034d0a7337791ed4d5998 100644 (file)
                                mdss_dp0_opp_table: opp-table {
                                        compatible = "operating-points-v2";
 
-                                       opp-162000000 {
-                                               opp-hz = /bits/ 64 <162000000>;
-                                               required-opps = <&rpmhpd_opp_low_svs>;
-                                       };
-
                                        opp-270000000 {
                                                opp-hz = /bits/ 64 <270000000>;
-                                               required-opps = <&rpmhpd_opp_svs>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
                                        };
 
                                        opp-540000000 {
                                                opp-hz = /bits/ 64 <540000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-594000000 {
+                                               opp-hz = /bits/ 64 <594000000>;
                                                required-opps = <&rpmhpd_opp_svs_l1>;
                                        };
 
                                                         <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
                                                         <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
 
-                               operating-points-v2 = <&mdss_dp1_opp_table>;
+                               operating-points-v2 = <&mdss_dp0_opp_table>;
 
                                power-domains = <&rpmhpd RPMHPD_MMCX>;
 
                                                };
                                        };
                                };
-
-                               mdss_dp1_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       opp-162000000 {
-                                               opp-hz = /bits/ 64 <162000000>;
-                                               required-opps = <&rpmhpd_opp_low_svs>;
-                                       };
-
-                                       opp-270000000 {
-                                               opp-hz = /bits/ 64 <270000000>;
-                                               required-opps = <&rpmhpd_opp_svs>;
-                                       };
-
-                                       opp-540000000 {
-                                               opp-hz = /bits/ 64 <540000000>;
-                                               required-opps = <&rpmhpd_opp_svs_l1>;
-                                       };
-
-                                       opp-810000000 {
-                                               opp-hz = /bits/ 64 <810000000>;
-                                               required-opps = <&rpmhpd_opp_nom>;
-                                       };
-                               };
                        };
 
                        mdss_dp2: displayport-controller@ae9a000 {
                                                         <&usb_1_ss2_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
                                                         <&usb_1_ss2_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
 
-                               operating-points-v2 = <&mdss_dp2_opp_table>;
+                               operating-points-v2 = <&mdss_dp0_opp_table>;
 
                                power-domains = <&rpmhpd RPMHPD_MMCX>;
 
                                                };
                                        };
                                };
-
-                               mdss_dp2_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       opp-162000000 {
-                                               opp-hz = /bits/ 64 <162000000>;
-                                               required-opps = <&rpmhpd_opp_low_svs>;
-                                       };
-
-                                       opp-270000000 {
-                                               opp-hz = /bits/ 64 <270000000>;
-                                               required-opps = <&rpmhpd_opp_svs>;
-                                       };
-
-                                       opp-540000000 {
-                                               opp-hz = /bits/ 64 <540000000>;
-                                               required-opps = <&rpmhpd_opp_svs_l1>;
-                                       };
-
-                                       opp-810000000 {
-                                               opp-hz = /bits/ 64 <810000000>;
-                                               required-opps = <&rpmhpd_opp_nom>;
-                                       };
-                               };
                        };
 
                        mdss_dp3: displayport-controller@aea0000 {
                                mdss_dp3_opp_table: opp-table {
                                        compatible = "operating-points-v2";
 
-                                       opp-162000000 {
-                                               opp-hz = /bits/ 64 <162000000>;
-                                               required-opps = <&rpmhpd_opp_low_svs>;
-                                       };
-
                                        opp-270000000 {
                                                opp-hz = /bits/ 64 <270000000>;
-                                               required-opps = <&rpmhpd_opp_svs>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
                                        };
 
-                                       opp-540000000 {
-                                               opp-hz = /bits/ 64 <540000000>;
-                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       opp-594000000 {
+                                               opp-hz = /bits/ 64 <594000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
                                        };
 
                                        opp-810000000 {