Kernel-4.18.0-80.el8_qcom,smd-rpm-regulator

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:
    Definition: must be one of:

          "qcom,rpm-pm8841-regulators"
          "qcom,rpm-pm8916-regulators"
          "qcom,rpm-pm8941-regulators"
          "qcom,rpm-pm8994-regulators"
          "qcom,rpm-pm8998-regulators"
          "qcom,rpm-pma8084-regulators"
          "qcom,rpm-pmi8998-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:
    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:
    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:
    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:
    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:
    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:
    Definition: reference to regulator supplying the input pin, as

          described in the data sheet
    
  • vdd_bob-supply:
    Usage: optional (pmi8998 only)
    Value type:
    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

pmi8998:
bob

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>;
                };
            };
        };
    };
};