* [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4
@ 2026-09-01 8:58 Luca Weiss
2026-09-01 8:58 ` [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350 Luca Weiss
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Luca Weiss @ 2026-09-01 8:58 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree, Luca Weiss
During bringup no parent supply names were added to the RPMh regulator
driver. Add them now.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Luca Weiss (4):
regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350
regulator: qcom-rpmh: Add supply names for PM6350
regulator: qcom-rpmh: Add missing regulators in PM6350
arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators
.../bindings/regulator/qcom,rpmh-regulator.yaml | 16 +++++++
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 46 +++++++++++++++++++
drivers/regulator/qcom-rpmh-regulator.c | 53 ++++++++++++----------
3 files changed, 90 insertions(+), 25 deletions(-)
---
base-commit: 89c07d98716a13454ec3fd9f97689e812cc71bd4
change-id: 20260901-fp4-regulator-supply-7f6b999e9624
Best regards,
--
Luca Weiss <luca.weiss@fairphone.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350
2026-09-01 8:58 [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4 Luca Weiss
@ 2026-09-01 8:58 ` Luca Weiss
2026-09-03 11:31 ` Krzysztof Kozlowski
2026-09-01 8:58 ` [PATCH 2/4] regulator: qcom-rpmh: " Luca Weiss
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Luca Weiss @ 2026-09-01 8:58 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree, Luca Weiss
The supply names for the PM6350 regulators were skipped during initial
bringup. Document them now.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
.../bindings/regulator/qcom,rpmh-regulator.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
index eed2ce7fa861..9115885e7985 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -187,6 +187,22 @@ allOf:
patternProperties:
"^vdd-s[1-8]-supply$": true
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,pm6350-rpmh-regulators
+ then:
+ properties:
+ vdd-l2-l5-l7-supply: true
+ vdd-l3-l6-l8-l9-l10-supply: true
+ vdd-l12-l14-supply: true
+ vdd-l15-l19-l22-supply: true
+ vdd-l18-l20-l21-supply: true
+ patternProperties:
+ "^vdd-l([14]|1[1367])-supply$": true
+ "^vdd-s[1-6]-supply$": true
+
- if:
properties:
compatible:
--
2.55.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/4] regulator: qcom-rpmh: Add supply names for PM6350
2026-09-01 8:58 [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4 Luca Weiss
2026-09-01 8:58 ` [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350 Luca Weiss
@ 2026-09-01 8:58 ` Luca Weiss
2026-09-02 9:01 ` Abel Vesa
2026-09-01 8:58 ` [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350 Luca Weiss
2026-09-01 8:58 ` [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators Luca Weiss
3 siblings, 1 reply; 11+ messages in thread
From: Luca Weiss @ 2026-09-01 8:58 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree, Luca Weiss
The supply names for the PM6350 regulators were skipped during initial
bringup. Add them.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/regulator/qcom-rpmh-regulator.c | 46 ++++++++++++++++-----------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 25c14de3cd8b..dd2265961151 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -1589,31 +1589,31 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {
};
static const struct rpmh_vreg_init_data pm6350_vreg_data[] = {
- RPMH_VREG("smps1", SMPS, 1, &pmic5_ftsmps510, NULL),
- RPMH_VREG("smps2", SMPS, 2, &pmic5_hfsmps510, NULL),
+ RPMH_VREG("smps1", SMPS, 1, &pmic5_ftsmps510, "vdd-s1"),
+ RPMH_VREG("smps2", SMPS, 2, &pmic5_hfsmps510, "vdd-s2"),
/* smps3 - smps5 not configured */
- RPMH_VREG("ldo1", LDO, 1, &pmic5_nldo, NULL),
- RPMH_VREG("ldo2", LDO, 2, &pmic5_pldo, NULL),
- RPMH_VREG("ldo3", LDO, 3, &pmic5_pldo, NULL),
- RPMH_VREG("ldo4", LDO, 4, &pmic5_nldo, NULL),
- RPMH_VREG("ldo5", LDO, 5, &pmic5_pldo, NULL),
- RPMH_VREG("ldo6", LDO, 6, &pmic5_pldo, NULL),
- RPMH_VREG("ldo7", LDO, 7, &pmic5_pldo, NULL),
- RPMH_VREG("ldo8", LDO, 8, &pmic5_pldo, NULL),
- RPMH_VREG("ldo9", LDO, 9, &pmic5_pldo, NULL),
- RPMH_VREG("ldo10", LDO, 10, &pmic5_pldo, NULL),
- RPMH_VREG("ldo11", LDO, 11, &pmic5_pldo, NULL),
- RPMH_VREG("ldo12", LDO, 12, &pmic5_pldo, NULL),
- RPMH_VREG("ldo13", LDO, 13, &pmic5_nldo, NULL),
- RPMH_VREG("ldo14", LDO, 14, &pmic5_pldo, NULL),
- RPMH_VREG("ldo15", LDO, 15, &pmic5_nldo, NULL),
- RPMH_VREG("ldo16", LDO, 16, &pmic5_nldo, NULL),
+ RPMH_VREG("ldo1", LDO, 1, &pmic5_nldo, "vdd-l1"),
+ RPMH_VREG("ldo2", LDO, 2, &pmic5_pldo, "vdd-l2-l5-l7"),
+ RPMH_VREG("ldo3", LDO, 3, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
+ RPMH_VREG("ldo4", LDO, 4, &pmic5_nldo, "vdd-l4"),
+ RPMH_VREG("ldo5", LDO, 5, &pmic5_pldo, "vdd-l2-l5-l7"),
+ RPMH_VREG("ldo6", LDO, 6, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
+ RPMH_VREG("ldo7", LDO, 7, &pmic5_pldo, "vdd-l2-l5-l7"),
+ RPMH_VREG("ldo8", LDO, 8, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
+ RPMH_VREG("ldo9", LDO, 9, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
+ RPMH_VREG("ldo10", LDO, 10, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
+ RPMH_VREG("ldo11", LDO, 11, &pmic5_pldo, "vdd-l11"),
+ RPMH_VREG("ldo12", LDO, 12, &pmic5_pldo, "vdd-l12-l14"),
+ RPMH_VREG("ldo13", LDO, 13, &pmic5_nldo, "vdd-l13"),
+ RPMH_VREG("ldo14", LDO, 14, &pmic5_pldo, "vdd-l12-l14"),
+ RPMH_VREG("ldo15", LDO, 15, &pmic5_nldo, "vdd-l15-l19-l22"),
+ RPMH_VREG("ldo16", LDO, 16, &pmic5_nldo, "vdd-l16"),
/* ldo17 not configured */
- RPMH_VREG("ldo18", LDO, 18, &pmic5_nldo, NULL),
- RPMH_VREG("ldo19", LDO, 19, &pmic5_nldo, NULL),
- RPMH_VREG("ldo20", LDO, 20, &pmic5_nldo, NULL),
- RPMH_VREG("ldo21", LDO, 21, &pmic5_nldo, NULL),
- RPMH_VREG("ldo22", LDO, 22, &pmic5_nldo, NULL),
+ RPMH_VREG("ldo18", LDO, 18, &pmic5_nldo, "vdd-l18-l20-l21"),
+ RPMH_VREG("ldo19", LDO, 19, &pmic5_nldo, "vdd-l15-l19-l22"),
+ RPMH_VREG("ldo20", LDO, 20, &pmic5_nldo, "vdd-l18-l20-l21"),
+ RPMH_VREG("ldo21", LDO, 21, &pmic5_nldo, "vdd-l18-l20-l21"),
+ RPMH_VREG("ldo22", LDO, 22, &pmic5_nldo, "vdd-l15-l19-l22"),
};
static const struct rpmh_vreg_init_data pmcx0102_vreg_data[] = {
--
2.55.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350
2026-09-01 8:58 [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4 Luca Weiss
2026-09-01 8:58 ` [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350 Luca Weiss
2026-09-01 8:58 ` [PATCH 2/4] regulator: qcom-rpmh: " Luca Weiss
@ 2026-09-01 8:58 ` Luca Weiss
2026-09-02 8:51 ` Konrad Dybcio
2026-09-02 9:01 ` Abel Vesa
2026-09-01 8:58 ` [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators Luca Weiss
3 siblings, 2 replies; 11+ messages in thread
From: Luca Weiss @ 2026-09-01 8:58 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree, Luca Weiss
Add the missing smps3-6 and ldo17 definitions. While smps3/5 and ldo17
are not used from the rpmh regulator driver on SM6350, the regulators do
exist, so add them with the types based on the datasheet.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/regulator/qcom-rpmh-regulator.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index dd2265961151..7d20f3e47760 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -1591,7 +1591,10 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {
static const struct rpmh_vreg_init_data pm6350_vreg_data[] = {
RPMH_VREG("smps1", SMPS, 1, &pmic5_ftsmps510, "vdd-s1"),
RPMH_VREG("smps2", SMPS, 2, &pmic5_hfsmps510, "vdd-s2"),
- /* smps3 - smps5 not configured */
+ RPMH_VREG("smps3", SMPS, 3, &pmic5_ftsmps510, "vdd-s3"),
+ RPMH_VREG("smps4", SMPS, 4, &pmic5_ftsmps510, "vdd-s4"),
+ RPMH_VREG("smps5", SMPS, 5, &pmic5_ftsmps510, "vdd-s5"),
+ RPMH_VREG("smps6", SMPS, 6, &pmic5_hfsmps510, "vdd-s6"),
RPMH_VREG("ldo1", LDO, 1, &pmic5_nldo, "vdd-l1"),
RPMH_VREG("ldo2", LDO, 2, &pmic5_pldo, "vdd-l2-l5-l7"),
RPMH_VREG("ldo3", LDO, 3, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
@@ -1608,7 +1611,7 @@ static const struct rpmh_vreg_init_data pm6350_vreg_data[] = {
RPMH_VREG("ldo14", LDO, 14, &pmic5_pldo, "vdd-l12-l14"),
RPMH_VREG("ldo15", LDO, 15, &pmic5_nldo, "vdd-l15-l19-l22"),
RPMH_VREG("ldo16", LDO, 16, &pmic5_nldo, "vdd-l16"),
- /* ldo17 not configured */
+ RPMH_VREG("ldo17", LDO, 17, &pmic5_nldo, "vdd-l17"),
RPMH_VREG("ldo18", LDO, 18, &pmic5_nldo, "vdd-l18-l20-l21"),
RPMH_VREG("ldo19", LDO, 19, &pmic5_nldo, "vdd-l15-l19-l22"),
RPMH_VREG("ldo20", LDO, 20, &pmic5_nldo, "vdd-l18-l20-l21"),
--
2.55.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators
2026-09-01 8:58 [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4 Luca Weiss
` (2 preceding siblings ...)
2026-09-01 8:58 ` [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350 Luca Weiss
@ 2026-09-01 8:58 ` Luca Weiss
2026-09-02 8:53 ` Konrad Dybcio
2026-09-03 15:01 ` Bjorn Andersson
3 siblings, 2 replies; 11+ messages in thread
From: Luca Weiss @ 2026-09-01 8:58 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree, Luca Weiss
Add the vdd-*-supply properties to the rpmh-regulators nodes, so that
the parent regulators can be enabled when needed.
The regulators s4a and s6a are a bit special. They feed back into
PM6350, but are not modelled as regulators (or anything else?), so they
also can't be added as vdd-*-supply. It would seem to be possible to add
them with their "Default on booting voltage" from the PM6350 Data Sheet
in the dts, but I'm not sure this is desired.
And document what the "missing" regulators are used for.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 46 +++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index 5d20ad93b0c5..a1556d802a8b 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -78,6 +78,17 @@ lcdb_dummy: regulator-lcdb-dummy {
regulator-max-microvolt = <5500000>;
};
+ vph_pwr: regulator-vph-pwr {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
reserved-memory {
/*
* The rmtfs memory region in downstream is 'dynamically allocated'
@@ -296,6 +307,15 @@ &adsp {
&apps_rsc {
regulators-0 {
compatible = "qcom,pm6350-rpmh-regulators";
+
+ vdd-l2-l5-l7-supply = <&vreg_s2a>;
+ vdd-l3-l6-l8-l9-l10-supply = <&vreg_bob>;
+ vdd-l11-supply = <&vreg_s2a>;
+ vdd-l12-l14-supply = <&vreg_s2a>;
+ vdd-l15-l19-l22-supply = <&vreg_s8e>;
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+
qcom,pmic-id = "a";
vreg_s1a: smps1 {
@@ -310,6 +330,14 @@ vreg_s2a: smps2 {
regulator-max-microvolt = <2048000>;
};
+ /*
+ * s3a (smps3) is gfx.lvl
+ * s4a (smps4) is supply for vdd-l4 & vdd-l13
+ * s5a (smps5) is mx.lvl
+ * s6a (smps6) is supply for vdd-l16 & vdd-l18-l20-l21
+ * l1a (ldo1) is lcx.lvl
+ */
+
vreg_l2a: ldo2 {
regulator-name = "vreg_l2a";
regulator-min-microvolt = <1503000>;
@@ -408,6 +436,8 @@ vreg_l16a: ldo16 {
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
+ /* l17a (ldo17) is lmx.lvl */
+
vreg_l18a: ldo18 {
regulator-name = "vreg_l18a";
regulator-min-microvolt = <788000>;
@@ -446,8 +476,24 @@ vreg_l22a: ldo22 {
regulators-1 {
compatible = "qcom,pm6150l-rpmh-regulators";
+
+ vdd-bob-supply = <&vph_pwr>;
+ vdd-l1-l8-supply = <&vreg_s2a>;
+ vdd-l2-l3-supply = <&vreg_s8e>;
+ vdd-l4-l5-l6-supply = <&vreg_bob>;
+ vdd-l7-l11-supply = <&vreg_bob>;
+ vdd-l9-l10-supply = <&vreg_bob>;
+ vdd-s8-supply = <&vph_pwr>;
+
qcom,pmic-id = "e";
+ /*
+ * s1e-s2e (smps1-smps2) is cx.lvl
+ * s3e-s4e (smps3-smps4) is VDD_APC1
+ * s5e (smps5) is VDD_APC0
+ * s6e-s7e (smps6-smps7) is mss.lvl
+ */
+
vreg_s8e: smps8 {
regulator-name = "vreg_s8e";
regulator-min-microvolt = <313000>;
--
2.55.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350
2026-09-01 8:58 ` [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350 Luca Weiss
@ 2026-09-02 8:51 ` Konrad Dybcio
2026-09-02 9:01 ` Abel Vesa
1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-09-02 8:51 UTC (permalink / raw)
To: Luca Weiss, Liam Girdwood, Mark Brown, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree
On 9/1/26 10:58 AM, Luca Weiss wrote:
> Add the missing smps3-6 and ldo17 definitions. While smps3/5 and ldo17
> are not used from the rpmh regulator driver on SM6350, the regulators do
> exist, so add them with the types based on the datasheet.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
> drivers/regulator/qcom-rpmh-regulator.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
> index dd2265961151..7d20f3e47760 100644
> --- a/drivers/regulator/qcom-rpmh-regulator.c
> +++ b/drivers/regulator/qcom-rpmh-regulator.c
> @@ -1591,7 +1591,10 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {
> static const struct rpmh_vreg_init_data pm6350_vreg_data[] = {
> RPMH_VREG("smps1", SMPS, 1, &pmic5_ftsmps510, "vdd-s1"),
> RPMH_VREG("smps2", SMPS, 2, &pmic5_hfsmps510, "vdd-s2"),
> - /* smps3 - smps5 not configured */
> + RPMH_VREG("smps3", SMPS, 3, &pmic5_ftsmps510, "vdd-s3"),
> + RPMH_VREG("smps4", SMPS, 4, &pmic5_ftsmps510, "vdd-s4"),
> + RPMH_VREG("smps5", SMPS, 5, &pmic5_ftsmps510, "vdd-s5"),
> + RPMH_VREG("smps6", SMPS, 6, &pmic5_hfsmps510, "vdd-s6"),
> RPMH_VREG("ldo1", LDO, 1, &pmic5_nldo, "vdd-l1"),
> RPMH_VREG("ldo2", LDO, 2, &pmic5_pldo, "vdd-l2-l5-l7"),
> RPMH_VREG("ldo3", LDO, 3, &pmic5_pldo, "vdd-l3-l6-l8-l9-l10"),
> @@ -1608,7 +1611,7 @@ static const struct rpmh_vreg_init_data pm6350_vreg_data[] = {
> RPMH_VREG("ldo14", LDO, 14, &pmic5_pldo, "vdd-l12-l14"),
> RPMH_VREG("ldo15", LDO, 15, &pmic5_nldo, "vdd-l15-l19-l22"),
> RPMH_VREG("ldo16", LDO, 16, &pmic5_nldo, "vdd-l16"),
> - /* ldo17 not configured */
> + RPMH_VREG("ldo17", LDO, 17, &pmic5_nldo, "vdd-l17"),
L17 (and other NLDOs on this PMIC) can do 0.312 - 1.304 V, whereas
the pmic5_nldo config allows a range of 0.32 - 1.296 V. But I suppose
that is something to fix separately anyway
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators
2026-09-01 8:58 ` [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators Luca Weiss
@ 2026-09-02 8:53 ` Konrad Dybcio
2026-09-03 15:01 ` Bjorn Andersson
1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-09-02 8:53 UTC (permalink / raw)
To: Luca Weiss, Liam Girdwood, Mark Brown, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: ~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree
On 9/1/26 10:58 AM, Luca Weiss wrote:
> Add the vdd-*-supply properties to the rpmh-regulators nodes, so that
> the parent regulators can be enabled when needed.
>
> The regulators s4a and s6a are a bit special. They feed back into
> PM6350, but are not modelled as regulators (or anything else?), so they
> also can't be added as vdd-*-supply. It would seem to be possible to add
> them with their "Default on booting voltage" from the PM6350 Data Sheet
> in the dts, but I'm not sure this is desired.
Yeah they seem to be strictly intended as being part of the internal
PMIC power grid.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/4] regulator: qcom-rpmh: Add supply names for PM6350
2026-09-01 8:58 ` [PATCH 2/4] regulator: qcom-rpmh: " Luca Weiss
@ 2026-09-02 9:01 ` Abel Vesa
0 siblings, 0 replies; 11+ messages in thread
From: Abel Vesa @ 2026-09-02 9:01 UTC (permalink / raw)
To: Luca Weiss
Cc: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio,
~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree
On 26-09-01 10:58:57, Luca Weiss wrote:
> The supply names for the PM6350 regulators were skipped during initial
> bringup. Add them.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350
2026-09-01 8:58 ` [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350 Luca Weiss
2026-09-02 8:51 ` Konrad Dybcio
@ 2026-09-02 9:01 ` Abel Vesa
1 sibling, 0 replies; 11+ messages in thread
From: Abel Vesa @ 2026-09-02 9:01 UTC (permalink / raw)
To: Luca Weiss
Cc: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio,
~postmarketos/upstreaming, phone-devel, Krzysztof Kozlowski,
linux-arm-msm, linux-kernel, devicetree
On 26-09-01 10:58:58, Luca Weiss wrote:
> Add the missing smps3-6 and ldo17 definitions. While smps3/5 and ldo17
> are not used from the rpmh regulator driver on SM6350, the regulators do
> exist, so add them with the types based on the datasheet.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350
2026-09-01 8:58 ` [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350 Luca Weiss
@ 2026-09-03 11:31 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-03 11:31 UTC (permalink / raw)
To: Luca Weiss
Cc: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio,
~postmarketos/upstreaming, phone-devel, linux-arm-msm,
linux-kernel, devicetree
On Tue, Sep 01, 2026 at 10:58:56AM +0200, Luca Weiss wrote:
> The supply names for the PM6350 regulators were skipped during initial
> bringup. Document them now.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
> .../bindings/regulator/qcom,rpmh-regulator.yaml | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators
2026-09-01 8:58 ` [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators Luca Weiss
2026-09-02 8:53 ` Konrad Dybcio
@ 2026-09-03 15:01 ` Bjorn Andersson
1 sibling, 0 replies; 11+ messages in thread
From: Bjorn Andersson @ 2026-09-03 15:01 UTC (permalink / raw)
To: Luca Weiss
Cc: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, ~postmarketos/upstreaming,
phone-devel, Krzysztof Kozlowski, linux-arm-msm, linux-kernel,
devicetree
On Tue, Sep 01, 2026 at 10:58:59AM +0200, Luca Weiss wrote:
> Add the vdd-*-supply properties to the rpmh-regulators nodes, so that
> the parent regulators can be enabled when needed.
>
https://docs.kernel.org/process/submitting-patches.html#describe-your-changes
starts with "Describe your problem.". Is there an actual problem observed?
I've been told that rpmh will have your back here, so you should not
need to explicitly vote for these resources from Linux.
Regards,
Bjorn
> The regulators s4a and s6a are a bit special. They feed back into
> PM6350, but are not modelled as regulators (or anything else?), so they
> also can't be added as vdd-*-supply. It would seem to be possible to add
> them with their "Default on booting voltage" from the PM6350 Data Sheet
> in the dts, but I'm not sure this is desired.
>
> And document what the "missing" regulators are used for.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
> arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 46 +++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> index 5d20ad93b0c5..a1556d802a8b 100644
> --- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> +++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
> @@ -78,6 +78,17 @@ lcdb_dummy: regulator-lcdb-dummy {
> regulator-max-microvolt = <5500000>;
> };
>
> + vph_pwr: regulator-vph-pwr {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "vph_pwr";
> + regulator-min-microvolt = <3700000>;
> + regulator-max-microvolt = <3700000>;
> +
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> reserved-memory {
> /*
> * The rmtfs memory region in downstream is 'dynamically allocated'
> @@ -296,6 +307,15 @@ &adsp {
> &apps_rsc {
> regulators-0 {
> compatible = "qcom,pm6350-rpmh-regulators";
> +
> + vdd-l2-l5-l7-supply = <&vreg_s2a>;
> + vdd-l3-l6-l8-l9-l10-supply = <&vreg_bob>;
> + vdd-l11-supply = <&vreg_s2a>;
> + vdd-l12-l14-supply = <&vreg_s2a>;
> + vdd-l15-l19-l22-supply = <&vreg_s8e>;
> + vdd-s1-supply = <&vph_pwr>;
> + vdd-s2-supply = <&vph_pwr>;
> +
> qcom,pmic-id = "a";
>
> vreg_s1a: smps1 {
> @@ -310,6 +330,14 @@ vreg_s2a: smps2 {
> regulator-max-microvolt = <2048000>;
> };
>
> + /*
> + * s3a (smps3) is gfx.lvl
> + * s4a (smps4) is supply for vdd-l4 & vdd-l13
> + * s5a (smps5) is mx.lvl
> + * s6a (smps6) is supply for vdd-l16 & vdd-l18-l20-l21
> + * l1a (ldo1) is lcx.lvl
> + */
> +
> vreg_l2a: ldo2 {
> regulator-name = "vreg_l2a";
> regulator-min-microvolt = <1503000>;
> @@ -408,6 +436,8 @@ vreg_l16a: ldo16 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> + /* l17a (ldo17) is lmx.lvl */
> +
> vreg_l18a: ldo18 {
> regulator-name = "vreg_l18a";
> regulator-min-microvolt = <788000>;
> @@ -446,8 +476,24 @@ vreg_l22a: ldo22 {
>
> regulators-1 {
> compatible = "qcom,pm6150l-rpmh-regulators";
> +
> + vdd-bob-supply = <&vph_pwr>;
> + vdd-l1-l8-supply = <&vreg_s2a>;
> + vdd-l2-l3-supply = <&vreg_s8e>;
> + vdd-l4-l5-l6-supply = <&vreg_bob>;
> + vdd-l7-l11-supply = <&vreg_bob>;
> + vdd-l9-l10-supply = <&vreg_bob>;
> + vdd-s8-supply = <&vph_pwr>;
> +
> qcom,pmic-id = "e";
>
> + /*
> + * s1e-s2e (smps1-smps2) is cx.lvl
> + * s3e-s4e (smps3-smps4) is VDD_APC1
> + * s5e (smps5) is VDD_APC0
> + * s6e-s7e (smps6-smps7) is mss.lvl
> + */
> +
> vreg_s8e: smps8 {
> regulator-name = "vreg_s8e";
> regulator-min-microvolt = <313000>;
>
> --
> 2.55.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-09-03 15:01 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-01 8:58 [PATCH 0/4] Add supply names for PM6350 RPMh regulators on Fairphone 4 Luca Weiss
2026-09-01 8:58 ` [PATCH 1/4] regulator: dt-bindings: qcom,rpmh: Add supply names for PM6350 Luca Weiss
2026-09-03 11:31 ` Krzysztof Kozlowski
2026-09-01 8:58 ` [PATCH 2/4] regulator: qcom-rpmh: " Luca Weiss
2026-09-02 9:01 ` Abel Vesa
2026-09-01 8:58 ` [PATCH 3/4] regulator: qcom-rpmh: Add missing regulators in PM6350 Luca Weiss
2026-09-02 8:51 ` Konrad Dybcio
2026-09-02 9:01 ` Abel Vesa
2026-09-01 8:58 ` [PATCH 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Add parent supply for regulators Luca Weiss
2026-09-02 8:53 ` Konrad Dybcio
2026-09-03 15:01 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox