diff options
| author | Mark Brown <broonie@kernel.org> | 2026-07-28 19:54:28 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-07-28 19:54:28 +0100 |
| commit | 8d62dd89736f09a3e093b1490ceb075472abec6c (patch) | |
| tree | b59ceb17054fca2a96bbc75c28eac8a0b6337d6c | |
| parent | f5098b6bae761e346ebcd9da7f95622c04733cff (diff) | |
| parent | 6753251cfc9622a90feedc0c0883e3b0a6fcde8a (diff) | |
| download | linux-next-8d62dd89736f09a3e093b1490ceb075472abec6c.tar.gz linux-next-8d62dd89736f09a3e093b1490ceb075472abec6c.zip | |
regulator: PM8350B LDO support
Esteban Urrutia <esteuwu@proton.me> 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/20260723-pm8350b-ldo-v1-0-42b5428a0d3f@proton.me
| -rw-r--r-- | Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 11 | ||||
| -rw-r--r-- | drivers/regulator/qcom-rpmh-regulator.c | 9 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml index d93594304651..eed2ce7fa861 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: diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c index 756a4201225e..73856e3df337 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, }, |
