regulator: qcom_spmi: Add PM8909 regulators
authorStephan Gerhold <stephan.gerhold@kernkonzept.com>
Tue, 12 Sep 2023 07:49:50 +0000 (09:49 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 26 Sep 2023 15:42:32 +0000 (17:42 +0200)
Add the necessary definitions for the PM8909 PMIC to the
qcom_spmi-regulator driver to allow reading the actual voltages applied
to the hardware at runtime. This is mainly intended for debugging since
the regulators are usually controlled through the RPM firmware (via
qcom_smd-regulator).

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Link: https://lore.kernel.org/r/20230912-spmi-pm8909-v1-2-ba4b3bfaf87d@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/qcom_spmi-regulator.c

index c95f6e9..3c7ab64 100644 (file)
@@ -2168,6 +2168,29 @@ static const struct spmi_regulator_data pm8841_regulators[] = {
        { }
 };
 
+static const struct spmi_regulator_data pm8909_regulators[] = {
+       { "s1", 0x1400, "vdd_s1", },
+       { "s2", 0x1700, "vdd_s2", },
+       { "l1", 0x4000, "vdd_l1", },
+       { "l2", 0x4100, "vdd_l2_l5", },
+       { "l3", 0x4200, "vdd_l3_l6_l10", },
+       { "l4", 0x4300, "vdd_l4_l7", },
+       { "l5", 0x4400, "vdd_l2_l5", },
+       { "l6", 0x4500, "vdd_l3_l6_l10", },
+       { "l7", 0x4600, "vdd_l4_l7", },
+       { "l8", 0x4700, "vdd_l8_l11_l15_l18", },
+       { "l9", 0x4800, "vdd_l9_l12_l14_l17", },
+       { "l10", 0x4900, "vdd_l3_l6_l10", },
+       { "l11", 0x4a00, "vdd_l8_l11_l15_l18", },
+       { "l12", 0x4b00, "vdd_l9_l12_l14_l17", },
+       { "l13", 0x4c00, "vdd_l13", },
+       { "l14", 0x4d00, "vdd_l9_l12_l14_l17", },
+       { "l15", 0x4e00, "vdd_l8_l11_l15_l18", },
+       { "l17", 0x5000, "vdd_l9_l12_l14_l17", },
+       { "l18", 0x5100, "vdd_l8_l11_l15_l18", },
+       { }
+};
+
 static const struct spmi_regulator_data pm8916_regulators[] = {
        { "s1", 0x1400, "vdd_s1", },
        { "s2", 0x1700, "vdd_s2", },
@@ -2357,6 +2380,7 @@ static const struct of_device_id qcom_spmi_regulator_match[] = {
        { .compatible = "qcom,pm8005-regulators", .data = &pm8005_regulators },
        { .compatible = "qcom,pm8226-regulators", .data = &pm8226_regulators },
        { .compatible = "qcom,pm8841-regulators", .data = &pm8841_regulators },
+       { .compatible = "qcom,pm8909-regulators", .data = &pm8909_regulators },
        { .compatible = "qcom,pm8916-regulators", .data = &pm8916_regulators },
        { .compatible = "qcom,pm8941-regulators", .data = &pm8941_regulators },
        { .compatible = "qcom,pm8950-regulators", .data = &pm8950_regulators },