aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2023-09-12 09:49:52 +0200
committerMark Brown <broonie@kernel.org>2023-09-26 17:42:33 +0200
commit5b30cb2a317a8e2636f724e8ebf5cbe3849e786e (patch)
tree3e737dc2889c16742d6a8a4e45167f1fff441876 /drivers/regulator
parent350aab7f8f2c7d7368d2bbc47717696a51014078 (diff)
downloadlinux-5b30cb2a317a8e2636f724e8ebf5cbe3849e786e.tar.gz
regulator: qcom_spmi: Add PM8019 regulators
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>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/qcom_spmi-regulator.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/regulator/qcom_spmi-regulator.c b/drivers/regulator/qcom_spmi-regulator.c
index 3c7ab6416b6188..13fe1c73a5471e 100644
--- a/drivers/regulator/qcom_spmi-regulator.c
+++ b/drivers/regulator/qcom_spmi-regulator.c
@@ -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 },