mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
ARM: dts: qcom: msm8974: Start using rpmpd for power domains
Due to historical reasons all msm8974 boards have used the CX power rail as regulator instead of going through the power domain framework. Since rpmpd has gained msm8974 support quite a bit ago, let's start using it and replace all usages of pm8841_s2 (CX), pm8841_s4 (GFX) and for the boards using pma8084 pma8084_s2 (CX), pma8084_s7 (GFX). For reference, downstream is using GFX power rail as parent-supply for mmcc's OXILI_GDSC GDSC which then is used for GPU, but nothing there is modelled upstream. Signed-off-by: Luca Weiss <luca@lucaweiss.eu> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250621-msm8974-rpmpd-switch-v1-4-0a2cb303c446@lucaweiss.eu Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
4cf8d541f4
commit
df7c440c90
|
|
@ -198,15 +198,12 @@ &pm8941_wled {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
|
||||
firmware-name = "qcom/apq8074/adsp.mbn";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -225,20 +222,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
|
|
@ -369,12 +369,10 @@ led@5 {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -390,20 +388,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <815000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
|
|
@ -188,12 +188,10 @@ touchkey_pin: touchkey-int-state {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -209,20 +207,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <815000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
|
|
@ -204,12 +204,10 @@ &pm8941_wled {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -225,20 +223,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interconnect/qcom,msm8974.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/power/qcom-rpmpd.h>
|
||||
#include <dt-bindings/reset/qcom,gcc-msm8974.h>
|
||||
|
||||
/ {
|
||||
|
|
@ -146,6 +147,40 @@ rpmcc: clock-controller {
|
|||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8974-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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -743,6 +778,9 @@ pronto: remoteproc@fb204000 {
|
|||
<&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
|
||||
|
||||
power-domains = <&rpmpd MSM8974_VDDCX>;
|
||||
power-domain-names = "cx";
|
||||
|
||||
qcom,smem-states = <&wcnss_smp2p_out 0>;
|
||||
qcom,smem-state-names = "stop";
|
||||
|
||||
|
|
@ -1545,6 +1583,9 @@ remoteproc_mss: remoteproc@fc880000 {
|
|||
resets = <&gcc GCC_MSS_RESTART>;
|
||||
reset-names = "mss_restart";
|
||||
|
||||
power-domains = <&rpmpd MSM8974_VDDCX>;
|
||||
power-domain-names = "cx";
|
||||
|
||||
qcom,halt-regs = <&tcsr_mutex 0x1180 0x1200 0x1280>;
|
||||
|
||||
qcom,smem-states = <&modem_smp2p_out 0>;
|
||||
|
|
@ -2208,6 +2249,9 @@ remoteproc_adsp: remoteproc@fe200000 {
|
|||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
|
||||
power-domains = <&rpmpd MSM8974_VDDCX>;
|
||||
power-domain-names = "cx";
|
||||
|
||||
memory-region = <&adsp_region>;
|
||||
|
||||
qcom,smem-states = <&adsp_smp2p_out 0>;
|
||||
|
|
|
|||
|
|
@ -156,7 +156,6 @@ &pronto {
|
|||
status = "okay";
|
||||
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
|
|
@ -181,12 +180,10 @@ wcnss {
|
|||
|
||||
&remoteproc_adsp {
|
||||
status = "okay";
|
||||
cx-supply = <&pm8841_s2>;
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
status = "okay";
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -201,11 +198,6 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ &pm8941_vib {
|
|||
|
||||
&pronto {
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-0 = <&wcnss_pin_a>;
|
||||
|
|
@ -104,20 +103,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <815000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
|
|
@ -214,7 +214,6 @@ &pm8941_vib {
|
|||
|
||||
&pronto {
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
|
|
@ -240,8 +239,6 @@ wcnss {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -254,12 +251,6 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <875000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
|
|
|
|||
|
|
@ -453,12 +453,10 @@ ramoops@3e8e0000 {
|
|||
|
||||
&remoteproc_adsp {
|
||||
status = "okay";
|
||||
cx-supply = <&pma8084_s2>;
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
status = "okay";
|
||||
cx-supply = <&pma8084_s2>;
|
||||
mss-supply = <&pma8084_s6>;
|
||||
mx-supply = <&pma8084_s1>;
|
||||
pll-supply = <&pma8084_l12>;
|
||||
|
|
@ -474,11 +472,6 @@ pma8084_s1: s1 {
|
|||
regulator-always-on;
|
||||
};
|
||||
|
||||
pma8084_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pma8084_s3: s3 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
|
|
@ -648,6 +641,10 @@ pma8084_l27: l27 {
|
|||
};
|
||||
};
|
||||
|
||||
&rpmpd {
|
||||
compatible = "qcom,msm8974pro-pma8084-rpmpd";
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
|
||||
|
|
|
|||
|
|
@ -207,12 +207,10 @@ &pm8941_vib {
|
|||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_mss {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
mss-supply = <&pm8841_s3>;
|
||||
mx-supply = <&pm8841_s1>;
|
||||
pll-supply = <&pm8941_l12>;
|
||||
|
|
@ -228,20 +226,10 @@ pm8841_s1: s1 {
|
|||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s2: s2 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s3: s3 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
pm8841_s4: s4 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user