regulator: qcom_spmi: Add support for pmi8994
authorRajendra Nayak <rnayak@codeaurora.org>
Thu, 2 Nov 2017 09:24:00 +0000 (14:54 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 2 Nov 2017 11:25:00 +0000 (11:25 +0000)
Document the regulators available on pmi8994 and add support for
this PMIC to the SPMI PMIC regulator driver.

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt
drivers/regulator/qcom_spmi-regulator.c

index 0fa3b0f..57d2c65 100644 (file)
@@ -8,6 +8,7 @@ Qualcomm SPMI Regulators
                        "qcom,pm8916-regulators"
                        "qcom,pm8941-regulators"
                        "qcom,pm8994-regulators"
+                       "qcom,pmi8994-regulators"
 
 - interrupts:
        Usage: optional
@@ -100,6 +101,15 @@ Qualcomm SPMI Regulators
        Definition: Reference to regulator supplying the input pin, as
                    described in the data sheet.
 
+- vdd_s1-supply:
+- vdd_s2-supply:
+- vdd_s3-supply:
+- vdd_l1-supply:
+       Usage: optional (pmi8994 only)
+       Value type: <phandle>
+       Definition: Reference to regulator supplying the input pin, as
+                   described in the data sheet.
+
 
 The regulator node houses sub-nodes for each regulator within the device. Each
 sub-node is identified using the node's name, with valid values listed for each
@@ -122,6 +132,9 @@ pm8994:
        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
 
+pmi8994:
+       s1, s2, s3, l1
+
 The content of each sub-node is defined by the standard binding for regulators -
 see regulator.txt - with additional custom properties described below:
 
index 16c5f84..9f8eb5d 100644 (file)
@@ -1619,11 +1619,20 @@ static const struct spmi_regulator_data pm8994_regulators[] = {
        { }
 };
 
+static const struct spmi_regulator_data pmi8994_regulators[] = {
+       { "s1", 0x1400, "vdd_s1", },
+       { "s2", 0x1700, "vdd_s2", },
+       { "s3", 0x1a00, "vdd_s3", },
+       { "l1", 0x4000, "vdd_l1", },
+        { }
+};
+
 static const struct of_device_id qcom_spmi_regulator_match[] = {
        { .compatible = "qcom,pm8841-regulators", .data = &pm8841_regulators },
        { .compatible = "qcom,pm8916-regulators", .data = &pm8916_regulators },
        { .compatible = "qcom,pm8941-regulators", .data = &pm8941_regulators },
        { .compatible = "qcom,pm8994-regulators", .data = &pm8994_regulators },
+       { .compatible = "qcom,pmi8994-regulators", .data = &pmi8994_regulators },
        { }
 };
 MODULE_DEVICE_TABLE(of, qcom_spmi_regulator_match);