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"
64 "qcom,rpm-smb208-regulators"
66 - vdd_l0_l1_lvs-supply:
67 - vdd_l2_l11_l12-supply:
68 - vdd_l3_l4_l5-supply:
79 - vdd_l23_l24_l25-supply:
86 Usage: optional (pm8058 only)
88 Definition: reference to regulator supplying the input pin, as
89 described in the data sheet
108 Usage: optional (pm8901 only)
109 Value type: <phandle>
110 Definition: reference to regulator supplying the input pin, as
111 described in the data sheet
113 - vdd_l1_l2_l12_l18-supply:
114 - vdd_l3_l15_l17-supply:
116 - vdd_l5_l8_l16-supply:
119 - vdd_l10_l22-supply:
120 - vdd_l21_l23_l29-supply:
135 - vin_lvs1_3_6-supply:
137 - vin_lvs4_5_7-supply:
138 Usage: optional (pm8921 only)
139 Value type: <phandle>
140 Definition: reference to regulator supplying the input pin, as
141 described in the data sheet
146 - vdd_l9_l10_l11_l12-supply:
147 Usage: optional (pm8018 only)
148 Value type: <phandle>
149 Definition: reference to regulator supplying the input pin, as
150 described in the data sheet
152 The regulator node houses sub-nodes for each regulator within the device. Each
153 sub-node is identified using the node's name, with valid values listed for each
157 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
158 l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
162 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
166 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
167 l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
168 l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
172 s1, s2, s3, s4, s5, , l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
178 The content of each sub-node is defined by the standard binding for regulators -
179 see regulator.txt - with additional custom properties described below:
181 === Switch-mode Power Supply regulator custom properties
186 Definition: enable pull down of the regulator when inactive
188 - qcom,switch-mode-frequency:
191 Definition: Frequency (Hz) of the switch-mode power supply;
193 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
194 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
195 1480000, 1370000, 1280000, 1200000
198 Usage: optional (default if no other qcom,force-mode is specified)
200 Definition: indicates that the regulator should be forced to a
201 particular mode, valid values are:
202 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
203 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
204 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
205 QCOM_RPM_FORCE_MODE_AUTO - allow regulator to automatically
206 select its own mode based on
207 realtime current draw, only for:
208 pm8921 smps and ftsmps
210 - qcom,power-mode-hysteretic:
213 Definition: select that the power supply should operate in hysteretic
214 mode, instead of the default pwm mode
216 === Low-dropout regulator custom properties
221 Definition: enable pull down of the regulator when inactive
226 Definition: indicates that the regulator should not be forced to any
227 particular mode, valid values are:
228 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
229 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
230 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
231 QCOM_RPM_FORCE_MODE_BYPASS - set regulator to use bypass
232 mode, i.e. to act as a switch
233 and not regulate, only for:
234 pm8921 pldo, nldo and nldo1200
236 === Negative Charge Pump custom properties
238 - qcom,switch-mode-frequency:
241 Definition: Frequency (Hz) of the switch mode power supply;
243 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
244 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
245 1480000, 1370000, 1280000, 1200000
249 #include <dt-bindings/mfd/qcom-rpm.h>
252 compatible = "qcom,rpm-msm8960";
253 reg = <0x108000 0x1000>;
254 qcom,ipc = <&apcs 0x8 2>;
256 interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
257 interrupt-names = "ack", "err", "wakeup";
260 compatible = "qcom,rpm-pm8921-regulators";
261 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
264 regulator-min-microvolt = <1225000>;
265 regulator-max-microvolt = <1225000>;
269 qcom,switch-mode-frequency = <3200000>;
273 regulator-min-microvolt = <1800000>;
274 regulator-max-microvolt = <1800000>;
276 qcom,switch-mode-frequency = <1600000>;
279 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;