* [PATCH v2] arm64: dts: apq8096-db820c: Fix VDD core voltage
@ 2020-01-07 12:55 Loic Poulain
2020-01-07 23:55 ` Bjorn Andersson
0 siblings, 1 reply; 2+ messages in thread
From: Loic Poulain @ 2020-01-07 12:55 UTC (permalink / raw)
To: bjorn.andersson, agross; +Cc: linux-arm-msm, Loic Poulain
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>
---
v2: Move pm8994_spmi_regulators node to pm8994 dtsi
Move syscon to msm8996 dtsi
lower case for addresses
arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 16 ++++++++++++++++
arch/arm64/boot/dts/qcom/msm8996.dtsi | 5 +++++
arch/arm64/boot/dts/qcom/pm8994.dtsi | 4 ++++
3 files changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
index dba3488..89c7b19 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 4ca2e7b..715f26e 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 76b5a3e..7e4f777 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";
+ };
};
};
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] arm64: dts: apq8096-db820c: Fix VDD core voltage
2020-01-07 12:55 [PATCH v2] arm64: dts: apq8096-db820c: Fix VDD core voltage Loic Poulain
@ 2020-01-07 23:55 ` Bjorn Andersson
0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Andersson @ 2020-01-07 23:55 UTC (permalink / raw)
To: Loic Poulain; +Cc: agross, linux-arm-msm
On Tue 07 Jan 04:55 PST 2020, Loic Poulain wrote:
> 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>
Thanks for the update Loic, this looks good, so I've picked it up for
5.6
Regards,
Bjorn
> ---
> v2: Move pm8994_spmi_regulators node to pm8994 dtsi
> Move syscon to msm8996 dtsi
> lower case for addresses
>
> arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 16 ++++++++++++++++
> arch/arm64/boot/dts/qcom/msm8996.dtsi | 5 +++++
> arch/arm64/boot/dts/qcom/pm8994.dtsi | 4 ++++
> 3 files changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> index dba3488..89c7b19 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 4ca2e7b..715f26e 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 76b5a3e..7e4f777 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";
> + };
> };
> };
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-01-07 23:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-07 12:55 [PATCH v2] arm64: dts: apq8096-db820c: Fix VDD core voltage Loic Poulain
2020-01-07 23:55 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox