mirror of https://gitee.com/openkylin/linux.git
regulator: qcom_spmi: Add support for pm8994
Document the regulators available on pm8994 and add support for this PMIC to the SPMI PMIC regulator driver. Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f55532a0c0
commit
50314e55a1
|
@ -7,6 +7,7 @@ Qualcomm SPMI Regulators
|
|||
"qcom,pm8841-regulators"
|
||||
"qcom,pm8916-regulators"
|
||||
"qcom,pm8941-regulators"
|
||||
"qcom,pm8994-regulators"
|
||||
|
||||
- interrupts:
|
||||
Usage: optional
|
||||
|
@ -68,6 +69,37 @@ 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_s4-supply:
|
||||
- vdd_s5-supply:
|
||||
- vdd_s6-supply:
|
||||
- vdd_s7-supply:
|
||||
- vdd_s8-supply:
|
||||
- vdd_s9-supply:
|
||||
- vdd_s10-supply:
|
||||
- vdd_s11-supply:
|
||||
- vdd_s12-supply:
|
||||
- vdd_l1-supply:
|
||||
- vdd_l2_l26_l28-supply:
|
||||
- vdd_l3_l11-supply:
|
||||
- vdd_l4_l27_l31-supply:
|
||||
- vdd_l5_l7-supply:
|
||||
- vdd_l6_l12_l32-supply:
|
||||
- vdd_l8_l16_l30-supply:
|
||||
- vdd_l9_l10_l18_l22-supply:
|
||||
- vdd_l13_l19_l23_l24-supply:
|
||||
- vdd_l14_l15-supply:
|
||||
- vdd_l17_l29-supply:
|
||||
- vdd_l20_l21-supply:
|
||||
- vdd_l25-supply:
|
||||
- vdd_lvs_1_2-supply:
|
||||
Usage: optional (pm8994 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
|
||||
|
@ -85,6 +117,11 @@ pm8941:
|
|||
l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3,
|
||||
mvs1, mvs2
|
||||
|
||||
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
|
||||
|
||||
The content of each sub-node is defined by the standard binding for regulators -
|
||||
see regulator.txt - with additional custom properties described below:
|
||||
|
||||
|
|
|
@ -1510,10 +1510,61 @@ static const struct spmi_regulator_data pm8916_regulators[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
static const struct spmi_regulator_data pm8994_regulators[] = {
|
||||
{ "s1", 0x1400, "vdd_s1", },
|
||||
{ "s2", 0x1700, "vdd_s2", },
|
||||
{ "s3", 0x1a00, "vdd_s3", },
|
||||
{ "s4", 0x1d00, "vdd_s4", },
|
||||
{ "s5", 0x2000, "vdd_s5", },
|
||||
{ "s6", 0x2300, "vdd_s6", },
|
||||
{ "s7", 0x2600, "vdd_s7", },
|
||||
{ "s8", 0x2900, "vdd_s8", },
|
||||
{ "s9", 0x2c00, "vdd_s9", },
|
||||
{ "s10", 0x2f00, "vdd_s10", },
|
||||
{ "s11", 0x3200, "vdd_s11", },
|
||||
{ "s12", 0x3500, "vdd_s12", },
|
||||
{ "l1", 0x4000, "vdd_l1", },
|
||||
{ "l2", 0x4100, "vdd_l2_l26_l28", },
|
||||
{ "l3", 0x4200, "vdd_l3_l11", },
|
||||
{ "l4", 0x4300, "vdd_l4_l27_l31", },
|
||||
{ "l5", 0x4400, "vdd_l5_l7", },
|
||||
{ "l6", 0x4500, "vdd_l6_l12_l32", },
|
||||
{ "l7", 0x4600, "vdd_l5_l7", },
|
||||
{ "l8", 0x4700, "vdd_l8_l16_l30", },
|
||||
{ "l9", 0x4800, "vdd_l9_l10_l18_l22", },
|
||||
{ "l10", 0x4900, "vdd_l9_l10_l18_l22", },
|
||||
{ "l11", 0x4a00, "vdd_l3_l11", },
|
||||
{ "l12", 0x4b00, "vdd_l6_l12_l32", },
|
||||
{ "l13", 0x4c00, "vdd_l13_l19_l23_l24", },
|
||||
{ "l14", 0x4d00, "vdd_l14_l15", },
|
||||
{ "l15", 0x4e00, "vdd_l14_l15", },
|
||||
{ "l16", 0x4f00, "vdd_l8_l16_l30", },
|
||||
{ "l17", 0x5000, "vdd_l17_l29", },
|
||||
{ "l18", 0x5100, "vdd_l9_l10_l18_l22", },
|
||||
{ "l19", 0x5200, "vdd_l13_l19_l23_l24", },
|
||||
{ "l20", 0x5300, "vdd_l20_l21", },
|
||||
{ "l21", 0x5400, "vdd_l20_l21", },
|
||||
{ "l22", 0x5500, "vdd_l9_l10_l18_l22", },
|
||||
{ "l23", 0x5600, "vdd_l13_l19_l23_l24", },
|
||||
{ "l24", 0x5700, "vdd_l13_l19_l23_l24", },
|
||||
{ "l25", 0x5800, "vdd_l25", },
|
||||
{ "l26", 0x5900, "vdd_l2_l26_l28", },
|
||||
{ "l27", 0x5a00, "vdd_l4_l27_l31", },
|
||||
{ "l28", 0x5b00, "vdd_l2_l26_l28", },
|
||||
{ "l29", 0x5c00, "vdd_l17_l29", },
|
||||
{ "l30", 0x5d00, "vdd_l8_l16_l30", },
|
||||
{ "l31", 0x5e00, "vdd_l4_l27_l31", },
|
||||
{ "l32", 0x5f00, "vdd_l6_l12_l32", },
|
||||
{ "lvs1", 0x8000, "vdd_lvs_1_2", },
|
||||
{ "lvs2", 0x8100, "vdd_lvs_1_2", },
|
||||
{ }
|
||||
};
|
||||
|
||||
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 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, qcom_spmi_regulator_match);
|
||||
|
|
Loading…
Reference in New Issue