1Qualcomm Resource Power Manager (RPM) over SMD 2 3This driver is used to interface with the Resource Power Manager (RPM) found in 4various Qualcomm platforms. The RPM allows each component in the system to vote 5for state of the system resources, such as clocks, regulators and bus 6frequencies. 7 8- compatible: 9 Usage: required 10 Value type: <string> 11 Definition: must be one of: 12 "qcom,rpm-msm8974" 13 14- qcom,smd-channels: 15 Usage: required 16 Value type: <stringlist> 17 Definition: Shared Memory channel used for communication with the RPM 18 19= SUBDEVICES 20 21The RPM exposes resources to its subnodes. The below bindings specify the set 22of valid subnodes that can operate on these resources. 23 24== Regulators 25 26Regulator nodes are identified by their compatible: 27 28- compatible: 29 Usage: required 30 Value type: <string> 31 Definition: must be one of: 32 "qcom,rpm-pm8841-regulators" 33 "qcom,rpm-pm8941-regulators" 34 35- vdd_s1-supply: 36- vdd_s2-supply: 37- vdd_s3-supply: 38- vdd_s4-supply: 39- vdd_s5-supply: 40- vdd_s6-supply: 41- vdd_s7-supply: 42- vdd_s8-supply: 43 Usage: optional (pm8841 only) 44 Value type: <phandle> 45 Definition: reference to regulator supplying the input pin, as 46 described in the data sheet 47 48- vdd_s1-supply: 49- vdd_s2-supply: 50- vdd_s3-supply: 51- vdd_l1_l3-supply: 52- vdd_l2_lvs1_2_3-supply: 53- vdd_l4_l11-supply: 54- vdd_l5_l7-supply: 55- vdd_l6_l12_l14_l15-supply: 56- vdd_l8_l16_l18_l19-supply: 57- vdd_l9_l10_l17_l22-supply: 58- vdd_l13_l20_l23_l24-supply: 59- vdd_l21-supply: 60- vin_5vs-supply: 61 Usage: optional (pm8941 only) 62 Value type: <phandle> 63 Definition: reference to regulator supplying the input pin, as 64 described in the data sheet 65 66The regulator node houses sub-nodes for each regulator within the device. Each 67sub-node is identified using the node's name, with valid values listed for each 68of the pmics below. 69 70pm8841: 71 s1, s2, s3, s4, s5, s6, s7, s8 72 73pm8941: 74 s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, 75 l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, 76 lvs3, 5vs1, 5vs2 77 78The content of each sub-node is defined by the standard binding for regulators - 79see regulator.txt. 80 81= EXAMPLE 82 83 smd { 84 compatible = "qcom,smd"; 85 86 rpm { 87 interrupts = <0 168 1>; 88 qcom,ipc = <&apcs 8 0>; 89 qcom,smd-edge = <15>; 90 91 rpm_requests { 92 compatible = "qcom,rpm-msm8974"; 93 qcom,smd-channels = "rpm_requests"; 94 95 pm8941-regulators { 96 compatible = "qcom,rpm-pm8941-regulators"; 97 vdd_l13_l20_l23_l24-supply = <&pm8941_boost>; 98 99 pm8941_s3: s3 { 100 regulator-min-microvolt = <1800000>; 101 regulator-max-microvolt = <1800000>; 102 }; 103 104 pm8941_boost: s4 { 105 regulator-min-microvolt = <5000000>; 106 regulator-max-microvolt = <5000000>; 107 }; 108 109 pm8941_l20: l20 { 110 regulator-min-microvolt = <2950000>; 111 regulator-max-microvolt = <2950000>; 112 }; 113 }; 114 }; 115 }; 116 }; 117 118