regulator: qcom_smd: add pm8953 regulators
Subsystems (3)
PATCH 1/2 regulator: qcom_smd: add pm8953 regulators
The PM8953 is commonly used on board with MSM8953 SoCs or its variants:
APQ8053, SDM(SDA)450 and SDM(SDA)632.
It provides 7 SMPS and 23 LDO regulators.
--- drivers/regulator/qcom_smd-regulator.c | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+)
drivers/regulator/qcom_smd-regulator.c +54 -0
@@ -403,6 +403,24 @@ static const struct regulator_desc pm8950_pldo = { .ops = &rpm_smps_ldo_ops, }; +static const struct regulator_desc pm8953_lnldo = { + .linear_ranges = (struct linear_range []) { +REGULATOR_LINEAR_RANGE (1380000 ,8 ,15 ,120000 ), +REGULATOR_LINEAR_RANGE (690000 ,0 ,7 ,60000 ), + }, + .n_linear_ranges =2 , + .n_voltages =16 , + .ops = &rpm_smps_ldo_ops, +}; + +static const struct regulator_desc pm8953_ult_nldo = { + .linear_ranges = (struct linear_range []) { +REGULATOR_LINEAR_RANGE (375000 ,0 ,93 ,12500 ), + }, + .n_linear_ranges =1 , + .n_voltages =94 , + .ops = &rpm_smps_ldo_ops, +};static const struct regulator_desc pm8994_hfsmps = { .linear_ranges = (struct linear_range []) {
@@ -854,6 +872,41 @@ static const struct rpm_regulator_data rpm_pm8950_regulators[] = { {} }; +static const struct rpm_regulator_data rpm_pm8953_regulators[] = { + {"s1" ,QCOM_SMD_RPM_SMPA ,1 , &pm8998_hfsmps,"vdd_s1" }, + {"s2" ,QCOM_SMD_RPM_SMPA ,2 , &pm8998_hfsmps,"vdd_s2" }, + {"s3" ,QCOM_SMD_RPM_SMPA ,3 , &pm8998_hfsmps,"vdd_s3" }, + {"s4" ,QCOM_SMD_RPM_SMPA ,4 , &pm8998_hfsmps,"vdd_s4" }, + {"s5" ,QCOM_SMD_RPM_SMPA ,5 , &pm8950_ftsmps2p5,"vdd_s5" }, + {"s6" ,QCOM_SMD_RPM_SMPA ,6 , &pm8950_ftsmps2p5,"vdd_s6" }, + {"s7" ,QCOM_SMD_RPM_SMPA ,7 , &pm8998_hfsmps,"vdd_s7" }, + + {"l1" ,QCOM_SMD_RPM_LDOA ,1 , &pm8953_ult_nldo,"vdd_l1" }, + {"l2" ,QCOM_SMD_RPM_LDOA ,2 , &pm8953_ult_nldo,"vdd_l2_l3" }, + {"l3" ,QCOM_SMD_RPM_LDOA ,3 , &pm8953_ult_nldo,"vdd_l2_l3" }, + {"l4" ,QCOM_SMD_RPM_LDOA ,4 , &pm8950_ult_pldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l5" ,QCOM_SMD_RPM_LDOA ,5 , &pm8950_ult_pldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l6" ,QCOM_SMD_RPM_LDOA ,6 , &pm8950_ult_pldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l7" ,QCOM_SMD_RPM_LDOA ,7 , &pm8950_ult_pldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l8" ,QCOM_SMD_RPM_LDOA ,8 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l9" ,QCOM_SMD_RPM_LDOA ,9 , &pm8950_ult_pldo,"vdd_l9_l10_l17_l18_l22" }, + {"l10" ,QCOM_SMD_RPM_LDOA ,10 , &pm8950_ult_pldo,"vdd_l9_l10_l17_l18_l22" }, + {"l11" ,QCOM_SMD_RPM_LDOA ,11 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l12" ,QCOM_SMD_RPM_LDOA ,12 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l13" ,QCOM_SMD_RPM_LDOA ,13 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l14" ,QCOM_SMD_RPM_LDOA ,14 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l15" ,QCOM_SMD_RPM_LDOA ,15 , &pm8950_ult_pldo,"vdd_l8_l11_l12_l13_l14_l15" }, + {"l16" ,QCOM_SMD_RPM_LDOA ,16 , &pm8950_ult_pldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l17" ,QCOM_SMD_RPM_LDOA ,17 , &pm8950_ult_pldo,"vdd_l9_l10_l17_l18_l22" }, + {"l18" ,QCOM_SMD_RPM_LDOA ,18 , &pm8950_ult_pldo,"vdd_l9_l10_l17_l18_l22" }, + {"l19" ,QCOM_SMD_RPM_LDOA ,19 , &pm8953_ult_nldo,"vdd_l4_l5_l6_l7_l16_l19" }, + {"l20" ,QCOM_SMD_RPM_LDOA ,20 , &pm8953_lnldo,"vdd_l20" }, + {"l21" ,QCOM_SMD_RPM_LDOA ,21 , &pm8953_lnldo,"vdd_l21" }, + {"l22" ,QCOM_SMD_RPM_LDOA ,22 , &pm8950_ult_pldo,"vdd_l9_l10_l17_l18_l22" }, + {"l23" ,QCOM_SMD_RPM_LDOA ,23 , &pm8953_ult_nldo,"vdd_l23" }, + {} +}; +static const struct rpm_regulator_data rpm_pm8994_regulators[] = { {"s1" ,QCOM_SMD_RPM_SMPA ,1 , &pm8994_ftsmps,"vdd_s1" }, {"s2" ,QCOM_SMD_RPM_SMPA ,2 , &pm8994_ftsmps,"vdd_s2" },
@@ -1041,6 +1094,7 @@ static const struct of_device_id rpm_of_match[] = { { .compatible = "qcom,rpm-pm8916-regulators", .data = &rpm_pm8916_regulators }, { .compatible = "qcom,rpm-pm8941-regulators", .data = &rpm_pm8941_regulators }, { .compatible = "qcom,rpm-pm8950-regulators", .data = &rpm_pm8950_regulators }, + { .compatible = "qcom,rpm-pm8953-regulators", .data = &rpm_pm8953_regulators }, { .compatible = "qcom,rpm-pm8994-regulators", .data = &rpm_pm8994_regulators }, { .compatible = "qcom,rpm-pm8998-regulators", .data = &rpm_pm8998_regulators }, { .compatible = "qcom,rpm-pm660-regulators", .data = &rpm_pm660_regulators },
Signature · 1 line
2.24.1
PATCH 2/2 dt-bindings: regulator: document pm8950 and pm8953 smd regulators
Add list of regulators available on PM8953 and PM8950 PMICs. Also document compatible for PM8953.
--- .../bindings/regulator/qcom,smd-rpm-regulator.yaml | 5 +++++ 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml +5 -0
@@ -33,6 +33,10 @@ description: l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3, 5vs1, 5vs2 + For pm8950 and pm8953, s1, s2, s3, s4, s5, s6, s7, l1, l2, l3, l4, l5, l6, + l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, + l23 + For pm8994, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2
@@ -68,6 +72,7 @@ properties: - qcom,rpm-pm8916-regulators - qcom,rpm-pm8941-regulators - qcom,rpm-pm8950-regulators + - qcom,rpm-pm8953-regulators - qcom,rpm-pm8994-regulators - qcom,rpm-pm8998-regulators - qcom,rpm-pm660-regulators
Signature · 1 line
2.24.1
Mark Brown
maintainerQuoted 3 lines · Vladimir Lypak
The PM8953 is commonly used on board with MSM8953 SoCs or its variants:
APQ8053, SDM(SDA)450 and SDM(SDA)632.
It provides 7 SMPS and 23 LDO regulators.
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/2] regulator: qcom_smd: add pm8953 regulators
commit: b1a2fb10b8ef07a32061c53426303f73533d867b
[2/2] dt-bindings: regulator: document pm8950 and pm8953 smd regulators
commit: 357dd65a9aa8ee0c77c94dc4601075a33f33e528All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark