regulator: qcom_smd: Add PM8909 and fix pm8916_pldo range
Merge series from Stephan Gerhold <stephan.gerhold@kernkonzept.com>: Fix the voltage range for the pm8916_pldo in the qcom_smd-regulator driver and add definitions for the regulators available in PM8909.
This commit is contained in:
Коммит
3dbee7f9e9
|
@ -30,6 +30,9 @@ description:
|
|||
|
||||
For pm8841, s1, s2, s3, s4, s5, s6, s7, s8
|
||||
|
||||
For pm8909, s1, s2, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
|
||||
l14, l15, l17, l18
|
||||
|
||||
For pm8916, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
|
||||
l12, l13, l14, l15, l16, l17, l18
|
||||
|
||||
|
@ -78,6 +81,7 @@ properties:
|
|||
- qcom,rpm-mp5496-regulators
|
||||
- qcom,rpm-pm8226-regulators
|
||||
- qcom,rpm-pm8841-regulators
|
||||
- qcom,rpm-pm8909-regulators
|
||||
- qcom,rpm-pm8916-regulators
|
||||
- qcom,rpm-pm8941-regulators
|
||||
- qcom,rpm-pm8950-regulators
|
||||
|
|
|
@ -358,10 +358,10 @@ static const struct regulator_desc pm8941_switch = {
|
|||
|
||||
static const struct regulator_desc pm8916_pldo = {
|
||||
.linear_ranges = (struct linear_range[]) {
|
||||
REGULATOR_LINEAR_RANGE(750000, 0, 208, 12500),
|
||||
REGULATOR_LINEAR_RANGE(1750000, 0, 127, 12500),
|
||||
},
|
||||
.n_linear_ranges = 1,
|
||||
.n_voltages = 209,
|
||||
.n_voltages = 128,
|
||||
.ops = &rpm_smps_ldo_ops,
|
||||
};
|
||||
|
||||
|
@ -724,19 +724,19 @@ static const struct regulator_desc pms405_pldo600 = {
|
|||
|
||||
static const struct regulator_desc mp5496_smpa2 = {
|
||||
.linear_ranges = (struct linear_range[]) {
|
||||
REGULATOR_LINEAR_RANGE(725000, 0, 27, 12500),
|
||||
REGULATOR_LINEAR_RANGE(600000, 0, 127, 12500),
|
||||
},
|
||||
.n_linear_ranges = 1,
|
||||
.n_voltages = 28,
|
||||
.n_voltages = 128,
|
||||
.ops = &rpm_mp5496_ops,
|
||||
};
|
||||
|
||||
static const struct regulator_desc mp5496_ldoa2 = {
|
||||
.linear_ranges = (struct linear_range[]) {
|
||||
REGULATOR_LINEAR_RANGE(1800000, 0, 60, 25000),
|
||||
REGULATOR_LINEAR_RANGE(800000, 0, 127, 25000),
|
||||
},
|
||||
.n_linear_ranges = 1,
|
||||
.n_voltages = 61,
|
||||
.n_voltages = 128,
|
||||
.ops = &rpm_mp5496_ops,
|
||||
};
|
||||
|
||||
|
@ -784,6 +784,29 @@ static const struct rpm_regulator_data rpm_pm8841_regulators[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct rpm_regulator_data rpm_pm8909_regulators[] = {
|
||||
{ "s1", QCOM_SMD_RPM_SMPA, 1, &pm8916_buck_lvo_smps, "vdd_s1" },
|
||||
{ "s2", QCOM_SMD_RPM_SMPA, 2, &pm8916_buck_hvo_smps, "vdd_s2" },
|
||||
{ "l1", QCOM_SMD_RPM_LDOA, 1, &pm8916_nldo, "vdd_l1" },
|
||||
{ "l2", QCOM_SMD_RPM_LDOA, 2, &pm8916_nldo, "vdd_l2_l5" },
|
||||
{ "l3", QCOM_SMD_RPM_LDOA, 3, &pm8916_nldo, "vdd_l3_l6_l10" },
|
||||
{ "l4", QCOM_SMD_RPM_LDOA, 4, &pm8916_pldo, "vdd_l4_l7" },
|
||||
{ "l5", QCOM_SMD_RPM_LDOA, 5, &pm8226_pldo, "vdd_l2_l5" },
|
||||
{ "l6", QCOM_SMD_RPM_LDOA, 6, &pm8226_pldo, "vdd_l3_l6_l10" },
|
||||
{ "l7", QCOM_SMD_RPM_LDOA, 7, &pm8226_pldo, "vdd_l4_l7" },
|
||||
{ "l8", QCOM_SMD_RPM_LDOA, 8, &pm8916_pldo, "vdd_l8_l11_l15_l18" },
|
||||
{ "l9", QCOM_SMD_RPM_LDOA, 9, &pm8916_pldo, "vdd_l9_l12_l14_l17" },
|
||||
{ "l10", QCOM_SMD_RPM_LDOA, 10, &pm8916_nldo, "vdd_l3_l6_l10" },
|
||||
{ "l11", QCOM_SMD_RPM_LDOA, 11, &pm8226_pldo, "vdd_l8_l11_l15_l18" },
|
||||
{ "l12", QCOM_SMD_RPM_LDOA, 12, &pm8916_pldo, "vdd_l9_l12_l14_l17" },
|
||||
{ "l13", QCOM_SMD_RPM_LDOA, 13, &pm8916_pldo, "vdd_l13" },
|
||||
{ "l14", QCOM_SMD_RPM_LDOA, 14, &pm8916_pldo, "vdd_l9_l12_l14_l17" },
|
||||
{ "l15", QCOM_SMD_RPM_LDOA, 15, &pm8916_pldo, "vdd_l8_l11_l15_l18" },
|
||||
{ "l17", QCOM_SMD_RPM_LDOA, 17, &pm8916_pldo, "vdd_l9_l12_l14_l17" },
|
||||
{ "l18", QCOM_SMD_RPM_LDOA, 18, &pm8916_pldo, "vdd_l8_l11_l15_l18" },
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct rpm_regulator_data rpm_pm8916_regulators[] = {
|
||||
{ "s1", QCOM_SMD_RPM_SMPA, 1, &pm8916_buck_lvo_smps, "vdd_s1" },
|
||||
{ "s2", QCOM_SMD_RPM_SMPA, 2, &pm8916_buck_lvo_smps, "vdd_s2" },
|
||||
|
@ -1222,6 +1245,7 @@ static const struct rpm_regulator_data rpm_pm2250_regulators[] = {
|
|||
static const struct of_device_id rpm_of_match[] = {
|
||||
{ .compatible = "qcom,rpm-mp5496-regulators", .data = &rpm_mp5496_regulators },
|
||||
{ .compatible = "qcom,rpm-pm8841-regulators", .data = &rpm_pm8841_regulators },
|
||||
{ .compatible = "qcom,rpm-pm8909-regulators", .data = &rpm_pm8909_regulators },
|
||||
{ .compatible = "qcom,rpm-pm8916-regulators", .data = &rpm_pm8916_regulators },
|
||||
{ .compatible = "qcom,rpm-pm8226-regulators", .data = &rpm_pm8226_regulators },
|
||||
{ .compatible = "qcom,rpm-pm8941-regulators", .data = &rpm_pm8941_regulators },
|
||||
|
|
Загрузка…
Ссылка в новой задаче