arm64: dts: qcom: msm8916: Add RPM power domains
authorStephan Gerhold <stephan@gerhold.net>
Wed, 16 Sep 2020 10:41:29 +0000 (12:41 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 26 Oct 2020 15:16:31 +0000 (10:16 -0500)
MSM8916 has two RPM power domains: VDDCX and VDDMX.
So far we have been managing them by voting for raw voltages through
the regulator subsystem, but it's better to manage them with corners
as actual power domains.

Add the device tree node for rpmpd so we can manage them as real
power domains instead of using the regulators.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200916104135.25085-5-stephan@gerhold.net
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/msm8916.dtsi

index aaa2189..117804f 100644 (file)
                                        compatible = "qcom,rpmcc-msm8916";
                                        #clock-cells = <1>;
                                };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,msm8916-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <1>;
+                                               };
+                                               rpmpd_opp_svs_krait: opp2 {
+                                                       opp-level = <2>;
+                                               };
+                                               rpmpd_opp_svs_soc: opp3 {
+                                                       opp-level = <3>;
+                                               };
+                                               rpmpd_opp_nom: opp4 {
+                                                       opp-level = <4>;
+                                               };
+                                               rpmpd_opp_turbo: opp5 {
+                                                       opp-level = <5>;
+                                               };
+                                               rpmpd_opp_super_turbo: opp6 {
+                                                       opp-level = <6>;
+                                               };
+                                       };
+                               };
                        };
                };
        };