Unverified Commit 79232ec0 authored by Mark Brown's avatar Mark Brown
Browse files

Add regulators support for PMX75

Merge series from Rohit Agarwal <quic_rohiagar@quicinc.com>:

This series adds regulators supports in PMX75 found on
SDX75 platform.
parents 813ebba3 0b294ed6
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ description: |
      For PMR735A, smps1 - smps3, ldo1 - ldo7
      For PMX55, smps1 - smps7, ldo1 - ldo16
      For PMX65, smps1 - smps8, ldo1 - ldo21
      For PMX75, smps1 - smps10, ldo1 - ldo21

properties:
  compatible:
@@ -84,6 +85,7 @@ properties:
      - qcom,pmr735a-rpmh-regulators
      - qcom,pmx55-rpmh-regulators
      - qcom,pmx65-rpmh-regulators
      - qcom,pmx75-rpmh-regulators

  qcom,pmic-id:
    description: |
@@ -424,10 +426,28 @@ allOf:
        vdd-l11-l13-supply: true
      patternProperties:
        "^vdd-l[1347]-supply$": true
        "^vdd-l1[0245789]-supply$": true
        "^vdd-l1[024579]-supply$": true
        "^vdd-l2[01]-supply$": true
        "^vdd-s[1-8]-supply$": true

  - if:
      properties:
        compatible:
          enum:
            - qcom,pmx75-rpmh-regulators
    then:
      properties:
        vdd-l2-l18-supply: true
        vdd-l4-l16-supply: true
        vdd-l5-l6-supply: true
        vdd-l8-l9-supply: true
        vdd-l11-l13-supply: true
        vdd-l20-l21-supply: true
      patternProperties:
        "^vdd-l[137]-supply$": true
        "^vdd-l1[024579]-supply$": true
        "^vdd-s([1-9]|10)-supply$": true

unevaluatedProperties: false

examples:
+38 −0
Original line number Diff line number Diff line
@@ -1272,6 +1272,40 @@ static const struct rpmh_vreg_init_data pmx65_vreg_data[] = {
	{}
};

static const struct rpmh_vreg_init_data pmx75_vreg_data[] = {
	RPMH_VREG("smps1",   "smp%s1",    &pmic5_ftsmps525_lv, "vdd-s1"),
	RPMH_VREG("smps2",   "smp%s2",    &pmic5_ftsmps525_lv, "vdd-s2"),
	RPMH_VREG("smps3",   "smp%s3",    &pmic5_ftsmps525_lv, "vdd-s3"),
	RPMH_VREG("smps4",   "smp%s4",    &pmic5_ftsmps525_mv, "vdd-s4"),
	RPMH_VREG("smps5",   "smp%s5",    &pmic5_ftsmps525_lv, "vdd-s5"),
	RPMH_VREG("smps6",   "smp%s6",    &pmic5_ftsmps525_lv, "vdd-s6"),
	RPMH_VREG("smps7",   "smp%s7",    &pmic5_ftsmps525_lv, "vdd-s7"),
	RPMH_VREG("smps8",   "smp%s8",    &pmic5_ftsmps525_lv, "vdd-s8"),
	RPMH_VREG("smps9",   "smp%s9",    &pmic5_ftsmps525_lv, "vdd-s9"),
	RPMH_VREG("smps10",  "smp%s10",   &pmic5_ftsmps525_lv, "vdd-s10"),
	RPMH_VREG("ldo1",    "ldo%s1",    &pmic5_nldo515,   "vdd-l1"),
	RPMH_VREG("ldo2",    "ldo%s2",    &pmic5_nldo515,   "vdd-l2-18"),
	RPMH_VREG("ldo3",    "ldo%s3",    &pmic5_nldo515,   "vdd-l3"),
	RPMH_VREG("ldo4",    "ldo%s4",    &pmic5_nldo515,   "vdd-l4-l16"),
	RPMH_VREG("ldo5",    "ldo%s5",    &pmic5_pldo_lv,   "vdd-l5-l6"),
	RPMH_VREG("ldo6",    "ldo%s6",    &pmic5_pldo_lv,   "vdd-l5-l6"),
	RPMH_VREG("ldo7",    "ldo%s7",    &pmic5_nldo515,   "vdd-l7"),
	RPMH_VREG("ldo8",    "ldo%s8",    &pmic5_nldo515,   "vdd-l8-l9"),
	RPMH_VREG("ldo9",    "ldo%s9",    &pmic5_nldo515,   "vdd-l8-l9"),
	RPMH_VREG("ldo10",   "ldo%s10",   &pmic5_pldo,      "vdd-l10"),
	RPMH_VREG("ldo11",   "ldo%s11",   &pmic5_pldo,      "vdd-l11-l13"),
	RPMH_VREG("ldo12",   "ldo%s12",   &pmic5_nldo515,   "vdd-l12"),
	RPMH_VREG("ldo13",   "ldo%s13",   &pmic5_pldo,      "vdd-l11-l13"),
	RPMH_VREG("ldo14",   "ldo%s14",   &pmic5_nldo515,   "vdd-l14"),
	RPMH_VREG("ldo15",   "ldo%s15",   &pmic5_nldo515,   "vdd-l15"),
	RPMH_VREG("ldo16",   "ldo%s16",   &pmic5_nldo515,   "vdd-l4-l16"),
	RPMH_VREG("ldo17",   "ldo%s17",   &pmic5_nldo515,   "vdd-l17"),
	/* ldo18 not configured */
	RPMH_VREG("ldo19",   "ldo%s19",   &pmic5_nldo515,   "vdd-l19"),
	RPMH_VREG("ldo20",   "ldo%s20",   &pmic5_nldo515,   "vdd-l20-l21"),
	RPMH_VREG("ldo21",   "ldo%s21",   &pmic5_nldo515,   "vdd-l20-l21"),
};

static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {
	RPMH_VREG("smps1",  "smp%s1",  &pmic5_hfsmps510, "vdd-s1"),
	RPMH_VREG("smps2",  "smp%s2",  &pmic5_ftsmps520, "vdd-s2"),
@@ -1493,6 +1527,10 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = {
		.compatible = "qcom,pmx65-rpmh-regulators",
		.data = pmx65_vreg_data,
	},
	{
		.compatible = "qcom,pmx75-rpmh-regulators",
		.data = pmx75_vreg_data,
	},
	{
		.compatible = "qcom,pm7325-rpmh-regulators",
		.data = pm7325_vreg_data,