* [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
* 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
* [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
* 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
* [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
* 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 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
* [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 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 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