mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08: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:
committed by
Bjorn Andersson
parent
4cf8d541f4
commit
df7c440c90
@@ -198,15 +198,12 @@
|
||||
};
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
};
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
};
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
};
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
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 @@
|
||||
<&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 @@
|
||||
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 @@
|
||||
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 @@
|
||||
status = "okay";
|
||||
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
@@ -181,12 +180,10 @@
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
|
||||
&pronto {
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-0 = <&wcnss_pin_a>;
|
||||
@@ -104,20 +103,10 @@
|
||||
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 @@
|
||||
|
||||
&pronto {
|
||||
vddmx-supply = <&pm8841_s1>;
|
||||
vddcx-supply = <&pm8841_s2>;
|
||||
vddpx-supply = <&pm8941_s3>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
@@ -240,8 +239,6 @@
|
||||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
cx-supply = <&pm8841_s2>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -254,12 +251,6 @@
|
||||
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 @@
|
||||
|
||||
&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 @@
|
||||
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 @@
|
||||
};
|
||||
};
|
||||
|
||||
&rpmpd {
|
||||
compatible = "qcom,msm8974pro-pma8084-rpmpd";
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
status = "okay";
|
||||
|
||||
|
||||
@@ -207,12 +207,10 @@
|
||||
};
|
||||
|
||||
&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 @@
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user