123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- Qualcomm Resource Power Manager (RPM) over SMD
- This driver is used to interface with the Resource Power Manager (RPM) found in
- various Qualcomm platforms. The RPM allows each component in the system to vote
- for state of the system resources, such as clocks, regulators and bus
- frequencies.
- - compatible:
- Usage: required
- Value type: <string>
- Definition: must be one of:
- "qcom,rpm-msm8974"
- - qcom,smd-channels:
- Usage: required
- Value type: <stringlist>
- Definition: Shared Memory channel used for communication with the RPM
- = SUBDEVICES
- The RPM exposes resources to its subnodes. The below bindings specify the set
- of valid subnodes that can operate on these resources.
- == Regulators
- Regulator nodes are identified by their compatible:
- - compatible:
- Usage: required
- Value type: <string>
- Definition: must be one of:
- "qcom,rpm-pm8841-regulators"
- "qcom,rpm-pm8941-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_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
- 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
- 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
- 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>;
- };
- };
- };
- };
- };
|