projects/linux·commit 8d62dd89

regulator: PM8350B LDO support

8d62dd89 · Mark Brown <[email protected]> · 2026-07-28 19:54:28 +01:00

Esteban Urrutia <[email protected]> says:

The PM8350B PMIC has an LDO regulator which seems to be mostly used for
powering display driver ICs.
On my device's schematics, vdd-l1-supply is represented as VIN_DDIC, and
vdd-l1 is represented as VREG_DDIC.
Downstream this LDO is of type pmic5-ldo and I assume it should be of
type pmic5_nldo upstream, since this is the type of regulator with the
least margin error for the reference voltage, which is 1250-1296mV for
my device.

Link: https://patch.msgid.link/[email protected]
Commit
8d62dd89736f09a3e093b1490ceb075472abec6c
Parents
f5098b6b · 6753251c

Merge commit. Changes below are compared with the first parent: f5098b6b.

Changes

2 files changed · +20 −0

Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

View file
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
index d935943..eed2ce7 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -47,6 +47,7 @@ description: |
For PM8150, smps1 - smps10, ldo1 - ldo18
For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
For PM8350, smps1 - smps12, ldo1 - ldo10
+ For PM8350B, ldo1
For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
For PM8450, smps1 - smps6, ldo1 - ldo4
For PM8550, smps1 - smps6, ldo1 - ldo17, bob1 - bob2
@@ -82,6 +83,7 @@ properties:
- qcom,pm8150-rpmh-regulators
- qcom,pm8150l-rpmh-regulators
- qcom,pm8350-rpmh-regulators
+ - qcom,pm8350b-rpmh-regulators
- qcom,pm8350c-rpmh-regulators
- qcom,pm8450-rpmh-regulators
- qcom,pm8550-rpmh-regulators
@@ -341,6 +343,15 @@ allOf:
properties:
compatible:
enum:
+ - qcom,pm8350b-rpmh-regulators
+ then:
+ properties:
+ vdd-l1-supply: true
+
+ - if:
+ properties:
+ compatible:
+ enum:
- qcom,pm8350c-rpmh-regulators
then:
properties:

drivers/regulator/qcom-rpmh-regulator.c

View file
diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 756a420..73856e3 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -1269,6 +1269,11 @@ static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {
{}
};
+static const struct rpmh_vreg_init_data pm8350b_vreg_data[] = {
+ RPMH_VREG("ldo1", LDO, 1, &pmic5_nldo, "vdd-l1"),
+ {}
+};
+
static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {
RPMH_VREG("smps1", SMPS, 1, &pmic5_hfsmps515, "vdd-s1"),
RPMH_VREG("smps2", SMPS, 2, &pmic5_ftsmps510, "vdd-s2"),
@@ -1869,6 +1874,10 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = {
.data = pm8350_vreg_data,
},
{
+ .compatible = "qcom,pm8350b-rpmh-regulators",
+ .data = pm8350b_vreg_data,
+ },
+ {
.compatible = "qcom,pm8350c-rpmh-regulators",
.data = pm8350c_vreg_data,
},