regulator: qcom_spmi: Add PM8019 regulators
authorStephan Gerhold <stephan@gerhold.net>
Tue, 12 Sep 2023 07:49:52 +0000 (09:49 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 26 Sep 2023 15:42:33 +0000 (17:42 +0200)
Add the necessary definitions for the PM8019 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.net>
Link: https://lore.kernel.org/r/20230912-spmi-pm8909-v1-4-ba4b3bfaf87d@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/qcom_spmi-regulator.c

index 3c7ab6416b6188d24318024616fa103ef62be731..13fe1c73a5471e403674710b0ad8afa4dbe88eaf 100644 (file)
@@ -2118,6 +2118,28 @@ static const struct spmi_regulator_data pm8005_regulators[] = {
        { }
 };
 
+static const struct spmi_regulator_data pm8019_regulators[] = {
+       { "s1", 0x1400, "vdd_s1", },
+       { "s2", 0x1700, "vdd_s2", },
+       { "s3", 0x1a00, "vdd_s3", },
+       { "s4", 0x1d00, "vdd_s4", },
+       { "l1", 0x4000, "vdd_l1", },
+       { "l2", 0x4100, "vdd_l2_l3", },
+       { "l3", 0x4200, "vdd_l2_l3", },
+       { "l4", 0x4300, "vdd_l4_l5_l6", },
+       { "l5", 0x4400, "vdd_l4_l5_l6", },
+       { "l6", 0x4500, "vdd_l4_l5_l6", },
+       { "l7", 0x4600, "vdd_l7_l8_l11", },
+       { "l8", 0x4700, "vdd_l7_l8_l11", },
+       { "l9", 0x4800, "vdd_l9", },
+       { "l10", 0x4900, "vdd_l10", },
+       { "l11", 0x4a00, "vdd_l7_l8_l11", },
+       { "l12", 0x4b00, "vdd_l12", },
+       { "l13", 0x4c00, "vdd_l13_l14", },
+       { "l14", 0x4d00, "vdd_l13_l14", },
+       { }
+};
+
 static const struct spmi_regulator_data pm8226_regulators[] = {
        { "s1", 0x1400, "vdd_s1", },
        { "s2", 0x1700, "vdd_s2", },
@@ -2378,6 +2400,7 @@ static const struct of_device_id qcom_spmi_regulator_match[] = {
        { .compatible = "qcom,pm660l-regulators", .data = &pm660l_regulators },
        { .compatible = "qcom,pm8004-regulators", .data = &pm8004_regulators },
        { .compatible = "qcom,pm8005-regulators", .data = &pm8005_regulators },
+       { .compatible = "qcom,pm8019-regulators", .data = &pm8019_regulators },
        { .compatible = "qcom,pm8226-regulators", .data = &pm8226_regulators },
        { .compatible = "qcom,pm8841-regulators", .data = &pm8841_regulators },
        { .compatible = "qcom,pm8909-regulators", .data = &pm8909_regulators },