diff options
author | Loic Poulain <loic.poulain@linaro.org> | 2019-12-31 10:49:03 +0100 |
---|---|---|
committer | Loic Poulain <loic.poulain@linaro.org> | 2020-01-07 13:51:10 +0100 |
commit | 8656504bf7ca7a9850400b9d00da5e2e48877bcc (patch) | |
tree | cfed0a8bfa7321694ff970146a46982b86f76036 | |
parent | 6794862a16ef41f753abd75c03a152836e4c8028 (diff) |
arm64: dts: apq8096-db820c: Fix VDD core voltage
APQ8096 has its VDD APC (Power for quad Kryo applications
microprocessors) powered by PM8996 PMIC S9, S10, S11 tri-phase
regulators (gang). The bootloader may have configured these
regulators with non sustainable default values, leading to sporadic
hangs under CPU stress tests (cpufreq-bench). Ideally we should enable
voltage scaling along with frequency scaling, but for now just set the
regulator gang value to a sane voltage, capable of supporting highest
frequencies (turbo).
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
-rw-r--r-- | arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 16 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm8996.dtsi | 5 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/pm8994.dtsi | 4 |
3 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi index dba3488492f1b..89c7b198ea03b 100644 --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi @@ -669,6 +669,22 @@ }; }; +&pm8994_spmi_regulators { + qcom,saw-reg = <&saw3>; + s9 { + qcom,saw-slave; + }; + s10 { + qcom,saw-slave; + }; + s11 { + qcom,saw-leader; + regulator-always-on; + regulator-min-microvolt = <1230000>; + regulator-max-microvolt = <1230000>; + }; +}; + &spmi_bus { pmic@0 { pon@800 { diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi index 4ca2e7b44559c..715f26e1aa3fb 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -611,6 +611,11 @@ reg = <0x7a0000 0x18000>; }; + saw3: syscon@9a10000 { + compatible = "syscon"; + reg = <0x09a10000 0x1000>; + }; + intc: interrupt-controller@9bc0000 { compatible = "qcom,msm8996-gic-v3", "arm,gic-v3"; #interrupt-cells = <3>; diff --git a/arch/arm64/boot/dts/qcom/pm8994.dtsi b/arch/arm64/boot/dts/qcom/pm8994.dtsi index 76b5a3e6a2b50..7e4f777746cb7 100644 --- a/arch/arm64/boot/dts/qcom/pm8994.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8994.dtsi @@ -85,5 +85,9 @@ reg = <0x1 SPMI_USID>; #address-cells = <1>; #size-cells = <0>; + + pm8994_spmi_regulators: regulators { + compatible = "qcom,pm8994-regulators"; + }; }; }; |