From: Stephan Gerhold <stephan@gerhold.net>
To: Bjorn Andersson <andersson@kernel.org>
Cc: Andy Gross <agross@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Stephan Gerhold <stephan@gerhold.net>
Subject: [PATCH 8/8] arm64: dts: qcom: msm8939-pm8916: Mark always-on regulators
Date: Wed, 14 Jun 2023 09:16:06 +0200 [thread overview]
Message-ID: <20230530-msm8939-regulators-v1-8-a3c3ac833567@gerhold.net> (raw)
In-Reply-To: <20230530-msm8939-regulators-v1-0-a3c3ac833567@gerhold.net>
Some of the regulators must be always-on to ensure correct operation of
the system, e.g. PM8916 L2 for the LPDDR RAM, L5 for most digital I/O
and L7 for the CPU PLL (strictly speaking the CPU PLL might only need
an active-only vote but this is not supported for regulators in
mainline currently).
The RPM firmware seems to enforce that internally, these supplies stay
on even if we vote for them to power off (and there is no other
processor running). This means it's pointless to keep sending
enable/disable requests because they will just be ignored.
Also, drivers are much more likely to get a wrong impression of the
regulator status, because regulator_is_enabled() will return false when
there are no users, even though the regulator is always on.
Describe this properly by marking the regulators as always-on.
The same changes was already made for MSM8916 in commit 8bbd35771f90
("arm64: dts: qcom: msm8916-pm8916: Mark always-on regulators").
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi
index 12538211bc72..adb96cd8d643 100644
--- a/arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi
@@ -51,10 +51,12 @@ pm8916_rpm_regulators: regulators {
pm8916_s3: s3 {
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1350000>;
+ regulator-always-on; /* Needed for L2 */
};
pm8916_s4: s4 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2150000>;
+ regulator-always-on; /* Needed for L5/L7 */
};
/*
@@ -71,6 +73,7 @@ pm8916_s4: s4 {
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
+ regulator-always-on; /* Needed for LPDDR RAM */
};
/* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */
@@ -80,6 +83,7 @@ pm8916_l2: l2 {
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
+ regulator-always-on; /* Needed for most digital I/O */
};
pm8916_l6: l6 {
@@ -90,6 +94,7 @@ pm8916_l6: l6 {
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
+ regulator-always-on; /* Needed for CPU PLL */
};
pm8916_l8: l8 {
--
2.40.1
next prev parent reply other threads:[~2023-06-14 7:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-14 7:15 [PATCH 0/8] arm64: dts: qcom: msm8939: Rework regulator constraints Stephan Gerhold
2023-06-14 7:15 ` [PATCH 1/8] arm64: dts: qcom: msm8939-pm8916: Add missing pm8916_codec supplies Stephan Gerhold
2023-06-14 12:23 ` Bryan O'Donoghue
2023-06-14 7:16 ` [PATCH 2/8] arm64: dts: qcom: msm8939: Disable lpass_codec by default Stephan Gerhold
2023-06-14 12:25 ` Bryan O'Donoghue
2023-06-14 7:16 ` [PATCH 3/8] arm64: dts: qcom: msm8939-sony-tulip: Fix l10-l12 regulator voltages Stephan Gerhold
2023-06-14 12:26 ` Bryan O'Donoghue
2023-06-14 7:16 ` [PATCH 4/8] arm64: dts: qcom: msm8939-sony-tulip: Allow disabling pm8916_l6 Stephan Gerhold
2023-06-14 12:26 ` Bryan O'Donoghue
2023-06-14 7:16 ` [PATCH 5/8] arm64: dts: qcom: msm8939: Fix regulator constraints Stephan Gerhold
2023-06-14 12:48 ` Bryan O'Donoghue
2023-06-14 7:16 ` [PATCH 6/8] arm64: dts: qcom: msm8939-pm8916: Clarify purpose Stephan Gerhold
2023-06-14 7:16 ` [PATCH 7/8] arm64: dts: qcom: msm8939: Define regulator constraints next to usage Stephan Gerhold
2023-06-14 12:51 ` Bryan O'Donoghue
2023-06-14 7:16 ` Stephan Gerhold [this message]
2023-06-14 16:03 ` [PATCH 0/8] arm64: dts: qcom: msm8939: Rework regulator constraints Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230530-msm8939-regulators-v1-8-a3c3ac833567@gerhold.net \
--to=stephan@gerhold.net \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).