Merge branches 'acpica-fixes', 'acpi-video' and 'acpi-processor'
[deliverable/linux.git] / Documentation / devicetree / bindings / mfd / qcom-rpm.txt
1 Qualcomm Resource Power Manager (RPM)
2
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
6 frequencies.
7
8 - compatible:
9 Usage: required
10 Value type: <string>
11 Definition: must be one of:
12 "qcom,rpm-apq8064"
13 "qcom,rpm-msm8660"
14 "qcom,rpm-msm8960"
15 "qcom,rpm-ipq8064"
16
17 - reg:
18 Usage: required
19 Value type: <prop-encoded-array>
20 Definition: base address and size of the RPM's message ram
21
22 - interrupts:
23 Usage: required
24 Value type: <prop-encoded-array>
25 Definition: three entries specifying the RPM's:
26 1. acknowledgement interrupt
27 2. error interrupt
28 3. wakeup interrupt
29
30 - interrupt-names:
31 Usage: required
32 Value type: <string-array>
33 Definition: must be the three strings "ack", "err" and "wakeup", in order
34
35 - qcom,ipc:
36 Usage: required
37 Value type: <prop-encoded-array>
38
39 Definition: three entries specifying the outgoing ipc bit used for
40 signaling the RPM:
41 - phandle to a syscon node representing the apcs registers
42 - u32 representing offset to the register within the syscon
43 - u32 representing the ipc bit within the register
44
45
46 = SUBNODES
47
48 The RPM exposes resources to its subnodes. The below bindings specify the set
49 of valid subnodes that can operate on these resources.
50
51 == Regulators
52
53 Regulator nodes are identified by their compatible:
54
55 - compatible:
56 Usage: required
57 Value type: <string>
58 Definition: must be one of:
59 "qcom,rpm-pm8058-regulators"
60 "qcom,rpm-pm8901-regulators"
61 "qcom,rpm-pm8921-regulators"
62
63 - vdd_l0_l1_lvs-supply:
64 - vdd_l2_l11_l12-supply:
65 - vdd_l3_l4_l5-supply:
66 - vdd_l6_l7-supply:
67 - vdd_l8-supply:
68 - vdd_l9-supply:
69 - vdd_l10-supply:
70 - vdd_l13_l16-supply:
71 - vdd_l14_l15-supply:
72 - vdd_l17_l18-supply:
73 - vdd_l19_l20-supply:
74 - vdd_l21-supply:
75 - vdd_l22-supply:
76 - vdd_l23_l24_l25-supply:
77 - vdd_ncp-supply:
78 - vdd_s0-supply:
79 - vdd_s1-supply:
80 - vdd_s2-supply:
81 - vdd_s3-supply:
82 - vdd_s4-supply:
83 Usage: optional (pm8058 only)
84 Value type: <phandle>
85 Definition: reference to regulator supplying the input pin, as
86 described in the data sheet
87
88 - lvs0_in-supply:
89 - lvs1_in-supply:
90 - lvs2_in-supply:
91 - lvs3_in-supply:
92 - mvs_in-supply:
93 - vdd_l0-supply:
94 - vdd_l1-supply:
95 - vdd_l2-supply:
96 - vdd_l3-supply:
97 - vdd_l4-supply:
98 - vdd_l5-supply:
99 - vdd_l6-supply:
100 - vdd_s0-supply:
101 - vdd_s1-supply:
102 - vdd_s2-supply:
103 - vdd_s3-supply:
104 - vdd_s4-supply:
105 Usage: optional (pm8901 only)
106 Value type: <phandle>
107 Definition: reference to regulator supplying the input pin, as
108 described in the data sheet
109
110 - vdd_l1_l2_l12_l18-supply:
111 - vdd_l3_l15_l17-supply:
112 - vdd_l4_l14-supply:
113 - vdd_l5_l8_l16-supply:
114 - vdd_l6_l7-supply:
115 - vdd_l9_l11-supply:
116 - vdd_l10_l22-supply:
117 - vdd_l21_l23_l29-supply:
118 - vdd_l24-supply:
119 - vdd_l25-supply:
120 - vdd_l26-supply:
121 - vdd_l27-supply:
122 - vdd_l28-supply:
123 - vdd_ncp-supply:
124 - vdd_s1-supply:
125 - vdd_s2-supply:
126 - vdd_s4-supply:
127 - vdd_s5-supply:
128 - vdd_s6-supply:
129 - vdd_s7-supply:
130 - vdd_s8-supply:
131 - vin_5vs-supply:
132 - vin_lvs1_3_6-supply:
133 - vin_lvs2-supply:
134 - vin_lvs4_5_7-supply:
135 Usage: optional (pm8921 only)
136 Value type: <phandle>
137 Definition: reference to regulator supplying the input pin, as
138 described in the data sheet
139
140 The regulator node houses sub-nodes for each regulator within the device. Each
141 sub-node is identified using the node's name, with valid values listed for each
142 of the pmics below.
143
144 pm8058:
145 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
146 l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
147 lvs0, lvs1, ncp
148
149 pm8901:
150 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
151 mvs
152
153 pm8921:
154 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
155 l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
156 l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
157 ncp
158
159 The content of each sub-node is defined by the standard binding for regulators -
160 see regulator.txt - with additional custom properties described below:
161
162 === Switch-mode Power Supply regulator custom properties
163
164 - bias-pull-down:
165 Usage: optional
166 Value type: <empty>
167 Definition: enable pull down of the regulator when inactive
168
169 - qcom,switch-mode-frequency:
170 Usage: required
171 Value type: <u32>
172 Definition: Frequency (Hz) of the switch-mode power supply;
173 must be one of:
174 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
175 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
176 1480000, 1370000, 1280000, 1200000
177
178 - qcom,force-mode:
179 Usage: optional (default if no other qcom,force-mode is specified)
180 Value type: <u32>
181 Definition: indicates that the regulator should be forced to a
182 particular mode, valid values are:
183 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
184 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
185 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
186 QCOM_RPM_FORCE_MODE_AUTO - allow regulator to automatically
187 select its own mode based on
188 realtime current draw, only for:
189 pm8921 smps and ftsmps
190
191 - qcom,power-mode-hysteretic:
192 Usage: optional
193 Value type: <empty>
194 Definition: select that the power supply should operate in hysteretic
195 mode, instead of the default pwm mode
196
197 === Low-dropout regulator custom properties
198
199 - bias-pull-down:
200 Usage: optional
201 Value type: <empty>
202 Definition: enable pull down of the regulator when inactive
203
204 - qcom,force-mode:
205 Usage: optional
206 Value type: <u32>
207 Definition: indicates that the regulator should not be forced to any
208 particular mode, valid values are:
209 QCOM_RPM_FORCE_MODE_NONE - do not force any mode
210 QCOM_RPM_FORCE_MODE_LPM - force into low power mode
211 QCOM_RPM_FORCE_MODE_HPM - force into high power mode
212 QCOM_RPM_FORCE_MODE_BYPASS - set regulator to use bypass
213 mode, i.e. to act as a switch
214 and not regulate, only for:
215 pm8921 pldo, nldo and nldo1200
216
217 === Negative Charge Pump custom properties
218
219 - qcom,switch-mode-frequency:
220 Usage: required
221 Value type: <u32>
222 Definition: Frequency (Hz) of the swith mode power supply;
223 must be one of:
224 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
225 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
226 1480000, 1370000, 1280000, 1200000
227
228 = EXAMPLE
229
230 #include <dt-bindings/mfd/qcom-rpm.h>
231
232 rpm@108000 {
233 compatible = "qcom,rpm-msm8960";
234 reg = <0x108000 0x1000>;
235 qcom,ipc = <&apcs 0x8 2>;
236
237 interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
238 interrupt-names = "ack", "err", "wakeup";
239
240 regulators {
241 compatible = "qcom,rpm-pm8921-regulators";
242 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
243
244 s1 {
245 regulator-min-microvolt = <1225000>;
246 regulator-max-microvolt = <1225000>;
247
248 bias-pull-down;
249
250 qcom,switch-mode-frequency = <3200000>;
251 };
252
253 pm8921_s4: s4 {
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256
257 qcom,switch-mode-frequency = <1600000>;
258 bias-pull-down;
259
260 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
261 };
262 };
263 };
264
This page took 0.03923 seconds and 6 git commands to generate.