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