Unverified Commit 175a1d84 authored by Kathiravan T's avatar Kathiravan T Committed by Mark Brown
Browse files

regulator: convert QCOM SMD-RPM regulator document to YAML schema



Convert qcom,smd-rpm-regulator.txt document to YAML schema

Signed-off-by: default avatarKathiravan T <kathirav@codeaurora.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1595225543-12127-5-git-send-email-kathirav@codeaurora.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f70e472d
Loading
Loading
Loading
Loading
+0 −321
Original line number Diff line number Diff line
QCOM SMD RPM REGULATOR

The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM.
Because SMD is used as the communication transport mechanism, the RPM resides as
a subnode of the SMD.  As such, the SMD-RPM regulator requires that the SMD and
RPM nodes be present.

Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for
information pertaining to the SMD node.

Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt for
information regarding the RPM node.

== Regulator

Regulator nodes are identified by their compatible:

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,rpm-mp5496-regulators"
		    "qcom,rpm-pm8841-regulators"
		    "qcom,rpm-pm8916-regulators"
		    "qcom,rpm-pm8941-regulators"
		    "qcom,rpm-pm8950-regulators"
		    "qcom,rpm-pm8994-regulators"
		    "qcom,rpm-pm8998-regulators"
		    "qcom,rpm-pma8084-regulators"
		    "qcom,rpm-pmi8994-regulators"
		    "qcom,rpm-pmi8998-regulators"
		    "qcom,rpm-pms405-regulators"

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_s5-supply:
- vdd_s6-supply:
- vdd_s7-supply:
- vdd_s8-supply:
	Usage: optional (pm8841 only)
	Value type: <phandle>
	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_l1_l2_l3-supply:
- vdd_l4_l5_l6-supply:
- vdd_l7-supply:
- vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18-supply:
	Usage: optional (pm8916 only)
	Value type: <phandle>
	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_s4-supply:
- vdd_s5-supply:
- vdd_s6-supply:
- vdd_l1_l19-supply:
- vdd_l2_l23-supply:
- vdd_l3-supply:
- vdd_l4_l5_l6_l7_l16-supply:
- vdd_l8_l11_l12_l17_l22-supply:
- vdd_l9_l10_l13_l14_l15_l18-supply:
- vdd_l20-supply:
- vdd_l21-supply:
	Usage: optional (pm8950 only)
	Value type: <phandle>
	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_l3-supply:
- vdd_l2_lvs1_2_3-supply:
- vdd_l4_l11-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l8_l16_l18_l19-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l21-supply:
- vin_5vs-supply:
	Usage: optional (pm8941 only)
	Value type: <phandle>
	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_l5_l7-supply:
- vdd_l8_l16_l30-supply:
- vdd_l9_l10_l18_l22-supply:
- vdd_l9_l10_l18_l22-supply:
- vdd_l3_l11-supply:
- vdd_l6_l12_l32-supply:
- vdd_l13_l19_l23_l24-supply:
- vdd_l14_l15-supply:
- vdd_l14_l15-supply:
- vdd_l8_l16_l30-supply:
- vdd_l17_l29-supply:
- vdd_l9_l10_l18_l22-supply:
- vdd_l13_l19_l23_l24-supply:
- vdd_l20_l21-supply:
- vdd_l20_l21-supply:
- vdd_l9_l10_l18_l22-supply:
- vdd_l13_l19_l23_l24-supply:
- vdd_l13_l19_l23_l24-supply:
- vdd_l25-supply:
- vdd_l2_l26_l28-supply:
- vdd_l4_l27_l31-supply:
- vdd_l2_l26_l28-supply:
- vdd_l17_l29-supply:
- vdd_l8_l16_l30-supply:
- vdd_l4_l27_l31-supply:
- vdd_l6_l12_l32-supply:
- vdd_lvs1_2-supply:
	Usage: optional (pm8994 only)
	Value type: <phandle>
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_bst_byp-supply:
	Usage: optional (pmi8994 only)
	Value type: <phandle>
	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_s13-supply:
- vdd_l1_l27-supply:
- vdd_l20_l24-supply:
- vdd_l26-supply:
- vdd_l2_l8_l17-supply:
- vdd_l3_l11-supply:
- vdd_l4_l5-supply:
- vdd_l6-supply:
- vdd_l7_l12_l14_l15-supply:
- vdd_l9-supply:
- vdd_l10_l23_l25-supply:
- vdd_l13_l19_l21-supply:
- vdd_l16_l28-supply:
- vdd_l18_l22-supply:
- vdd_lvs1_lvs2-supply:
	Usage: optional (pmi8998 only)
	Value type: <phandle>
	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_l11-supply:
- vdd_l2_l3_l4_l27-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l14_l15_l26-supply:
- vdd_l8-supply:
- vdd_l9_l10_l13_l20_l23_l24-supply:
- vdd_l16_l25-supply:
- vdd_l17-supply:
- vdd_l18-supply:
- vdd_l19-supply:
- vdd_l21-supply:
- vdd_l22-supply:
	Usage: optional (pma8084 only)
	Value type: <phandle>
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet

- vdd_bob-supply:
	Usage: optional (pmi8998 only)
	Value type: <phandle>
	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_l1_l2-supply:
- vdd_l3_l8-supply:
- vdd_l4-supply:
- vdd_l5_l6-supply:
- vdd_l7-supply:
- vdd_l3_l8-supply:
- vdd_l9-supply:
- vdd_l10_l11_l12_l13-supply:
	Usage: optional (pms405 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
of the pmics below.

pm8841:
	s1, s2, s3, s4, s5, s6, s7, s8

pm8916:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18

pm8941:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
	lvs3, 5vs1, 5vs2

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

pm8998:
	s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, 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, lvs1, lvs2

pma8084:
	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, lvs1, lvs2, lvs3, lvs4, 5vs1

pmi8994:
	s1, s2, s3, boost-bypass

pmi8998:
	bob

pms405:
	s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12,
	l13

The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt.

= EXAMPLE

	smd {
		compatible = "qcom,smd";

		rpm {
			interrupts = <0 168 1>;
			qcom,ipc = <&apcs 8 0>;
			qcom,smd-edge = <15>;

			rpm_requests {
				compatible = "qcom,rpm-msm8974";
				qcom,smd-channels = "rpm_requests";

				pm8941-regulators {
					compatible = "qcom,rpm-pm8941-regulators";
					vdd_l13_l20_l23_l24-supply = <&pm8941_boost>;

					pm8941_s3: s3 {
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <1800000>;
					};

					pm8941_boost: s4 {
						regulator-min-microvolt = <5000000>;
						regulator-max-microvolt = <5000000>;
					};

					pm8941_l20: l20 {
						regulator-min-microvolt = <2950000>;
						regulator-max-microvolt = <2950000>;
					};
				};
			};
		};
	};
+106 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: QCOM SMD RPM REGULATOR

description:
  The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM.
  Because SMD is used as the communication transport mechanism, the RPM
  resides as a subnode of the SMD.  As such, the SMD-RPM regulator requires
  that the SMD and RPM nodes be present.

  Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for
  information pertaining to the SMD node.

  Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
  for information regarding the RPM node.

  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 of the pmics below.

  For pm8841, s1, s2, s3, s4, s5, s6, s7, s8

  For pm8916, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
  l12, l13, l14, l15, l16, l17, l18

  For pm8941, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
  l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
  lvs3, 5vs1, 5vs2

  For 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

  For pm8998, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, 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, lvs1, lvs2

  For pma8084, 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, lvs1, lvs2, lvs3, lvs4, 5vs1

  For pmi8994, s1, s2, s3, boost-bypass

  For pmi8998, bob

  For pms405, s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
  l12, l13

maintainers:
  - Kathiravan T <kathirav@codeaurora.org>

properties:
  compatible:
    enum:
      - qcom,rpm-mp5496-regulators
      - qcom,rpm-pm8841-regulators
      - qcom,rpm-pm8916-regulators
      - qcom,rpm-pm8941-regulators
      - qcom,rpm-pm8950-regulators
      - qcom,rpm-pm8994-regulators
      - qcom,rpm-pm8998-regulators
      - qcom,rpm-pma8084-regulators
      - qcom,rpm-pmi8994-regulators
      - qcom,rpm-pmi8998-regulators
      - qcom,rpm-pms405-regulators

patternProperties:
  ".*-supply$":
    description: Input supply phandle(s) for this node

  "^((s|l|lvs|5vs)[0-9]*)|(boost-bypass)|(bob)$":
    description: List of regulators and its properties
    allOf:
     - $ref: regulator.yaml#

additionalProperties: false

required:
  - compatible

examples:
  - |
    pm8941-regulators {
        compatible = "qcom,rpm-pm8941-regulators";
        vdd_l13_l20_l23_l24-supply = <&pm8941_boost>;

        pm8941_s3: s3 {
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
        };

        pm8941_boost: s4 {
            regulator-min-microvolt = <5000000>;
            regulator-max-microvolt = <5000000>;
        };

        pm8941_l20: l20 {
            regulator-min-microvolt = <2950000>;
            regulator-max-microvolt = <2950000>;
        };
    };
...