Unverified Commit 3dbee7f9 authored by Mark Brown's avatar Mark Brown
Browse files

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.
parents a9e37a82 bc4d1932
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+30 −6
Original line number Diff line number Diff line
@@ -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 },