1 Qualcomm Resource Power Manager (RPM)
3 This driver is used to interface with the Resource Power Manager (RPM) found in
4 various Qualcomm platforms. The RPM allows each component in the system to vote
5 for state of the system resources, such as clocks, regulators and bus
11 Definition: must be one of:
20 Value type: <prop-encoded-array>
21 Definition: base address and size of the RPM's message ram
25 Value type: <prop-encoded-array>
26 Definition: three entries specifying the RPM's:
27 1. acknowledgement interrupt
33 Value type: <string-array>
34 Definition: must be the three strings "ack", "err" and "wakeup", in order
38 Value type: <prop-encoded-array>
40 Definition: three entries specifying the outgoing ipc bit used for
42 - phandle to a syscon node representing the apcs registers
43 - u32 representing offset to the register within the syscon
44 - u32 representing the ipc bit within the register
49 The RPM exposes resources to its subnodes. The below bindings specify the set
50 of valid subnodes that can operate on these resources.
54 Regulator nodes are identified by their compatible:
59 Definition: must be one of:
60 "qcom,rpm-pm8058-regulators"
61 "qcom,rpm-pm8901-regulators"
62 "qcom,rpm-pm8921-regulators"
63 "qcom,rpm-pm8018-regulators"
65 - vdd_l0_l1_lvs-supply:
66 - vdd_l2_l11_l12-supply:
67 - vdd_l3_l4_l5-supply:
78 - vdd_l23_l24_l25-supply:
85 Usage: optional (pm8058 only)
87 Definition: reference to regulator supplying the input pin, as
88 described in the data sheet
107 Usage: optional (pm8901 only)
108 Value type: <phandle>
109 Definition: reference to regulator supplying the input pin, as
110 described in the data sheet
112 - vdd_l1_l2_l12_l18-supply:
113 - vdd_l3_l15_l17-supply:
115 - vdd_l5_l8_l16-supply:
118 - vdd_l10_l22-supply:
119 - vdd_l21_l23_l29-supply:
134 - vin_lvs1_3_6-supply:
136 - vin_lvs4_5_7-supply:
137 Usage: optional (pm8921 only)
138 Value type: <phandle>
139 Definition: reference to regulator supplying the input pin, as
140 described in the data sheet
145 - vdd_l9_l10_l11_l12-supply:
146 Usage: optional (pm8018 only)
147 Value type: <phandle>
148 Definition: reference to regulator supplying the input pin, as
149 described in the data sheet
151 The regulator node houses sub-nodes for each regulator within the device. Each
152 sub-node is identified using the node's name, with valid values listed for each
156 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
157 l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
161 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
165 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
166 l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
167 l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
171 s1, s2, s3, s4, s5, , l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
174 The content of each sub-node is defined by the standard binding for regulators -
175 see regulator.txt - with additional custom properties described below:
177 === Switch-mode Power Supply regulator custom properties
182 Definition: enable pull down of the regulator when inactive
184 - qcom,switch-mode-frequency:
187 Definition: Frequency (Hz) of the switch-mode power supply;
189 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
190 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
191 1480000, 1370000, 1280000, 1200000
194 Usage: optional (default if no other qcom,force-mode is specified)
196 Definition: indicates that the regulator should be forced to a
197 particular mode, valid values are:
198 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
199 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
200 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
201 QCOM_RPM_FORCE_MODE_AUTO - allow regulator to automatically
202 select its own mode based on
203 realtime current draw, only for:
204 pm8921 smps and ftsmps
206 - qcom,power-mode-hysteretic:
209 Definition: select that the power supply should operate in hysteretic
210 mode, instead of the default pwm mode
212 === Low-dropout regulator custom properties
217 Definition: enable pull down of the regulator when inactive
222 Definition: indicates that the regulator should not be forced to any
223 particular mode, valid values are:
224 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
225 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
226 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
227 QCOM_RPM_FORCE_MODE_BYPASS - set regulator to use bypass
228 mode, i.e. to act as a switch
229 and not regulate, only for:
230 pm8921 pldo, nldo and nldo1200
232 === Negative Charge Pump custom properties
234 - qcom,switch-mode-frequency:
237 Definition: Frequency (Hz) of the switch mode power supply;
239 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
240 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
241 1480000, 1370000, 1280000, 1200000
245 #include <dt-bindings/mfd/qcom-rpm.h>
248 compatible = "qcom,rpm-msm8960";
249 reg = <0x108000 0x1000>;
250 qcom,ipc = <&apcs 0x8 2>;
252 interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
253 interrupt-names = "ack", "err", "wakeup";
256 compatible = "qcom,rpm-pm8921-regulators";
257 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
260 regulator-min-microvolt = <1225000>;
261 regulator-max-microvolt = <1225000>;
265 qcom,switch-mode-frequency = <3200000>;
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
272 qcom,switch-mode-frequency = <1600000>;
275 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;