1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/power/rockchip-io-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Rockchip SRAM for IO Voltage Domains
8
9 maintainers:
10 - Heiko Stuebner <heiko@sntech.de>
11
12 description: |
13 IO domain voltages on some Rockchip SoCs are variable but need to be
14 kept in sync between the regulators and the SoC using a special
15 register.
16
17 A specific example using rk3288
18 If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then
19 bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to
20 that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1.
21
22 Said another way, this driver simply handles keeping bits in the SoCs
23 General Register File (GRF) in sync with the actual value of a voltage
24 hooked up to the pins.
25
26 Note that this driver specifically does not include
27 any logic for deciding what voltage we should set regulators to
28 any logic for deciding whether regulators (or internal SoC blocks)
29 should have power or not have power
30
31 If there were some other software that had the smarts of making
32 decisions about regulators, it would work in conjunction with this
33 driver. When that other software adjusted a regulators voltage then
34 this driver would handle telling the SoC about it. A good example is
35 vqmmc for SD. In that case the dw_mmc driver simply is told about a
36 regulator. It changes the regulator between 3.3V and 1.8V at the
37 right time. This driver notices the change and makes sure that the
38 SoC is on the same page.
39
40 You specify supplies using the standard regulator bindings by including
41 a phandle the relevant regulator. All specified supplies must be able
42 to report their voltage. The IO Voltage Domain for any non-specified
43 supplies will be not be touched.
44
45 properties:
46 compatible:
47 enum:
48 - rockchip,px30-io-voltage-domain
49 - rockchip,px30-pmu-io-voltage-domain
50 - rockchip,rk3188-io-voltage-domain
51 - rockchip,rk3228-io-voltage-domain
52 - rockchip,rk3288-io-voltage-domain
53 - rockchip,rk3328-io-voltage-domain
54 - rockchip,rk3368-io-voltage-domain
55 - rockchip,rk3368-pmu-io-voltage-domain
56 - rockchip,rk3399-io-voltage-domain
57 - rockchip,rk3399-pmu-io-voltage-domain
58 - rockchip,rk3568-pmu-io-voltage-domain
59 - rockchip,rv1108-io-voltage-domain
60 - rockchip,rv1108-pmu-io-voltage-domain
61
62 required:
63 - compatible
64
65 unevaluatedProperties: false
66
67 allOf:
68 - $ref: "#/$defs/px30"
69 - $ref: "#/$defs/px30-pmu"
70 - $ref: "#/$defs/rk3188"
71 - $ref: "#/$defs/rk3228"
72 - $ref: "#/$defs/rk3288"
73 - $ref: "#/$defs/rk3328"
74 - $ref: "#/$defs/rk3368"
75 - $ref: "#/$defs/rk3368-pmu"
76 - $ref: "#/$defs/rk3399"
77 - $ref: "#/$defs/rk3399-pmu"
78 - $ref: "#/$defs/rk3568-pmu"
79 - $ref: "#/$defs/rv1108"
80 - $ref: "#/$defs/rv1108-pmu"
81
82 $defs:
83 px30:
84 if:
85 properties:
86 compatible:
87 contains:
88 const: rockchip,px30-io-voltage-domain
89
90 then:
91 properties:
92 vccio1-supply:
93 description: The supply connected to VCCIO1.
94 vccio2-supply:
95 description: The supply connected to VCCIO2.
96 vccio3-supply:
97 description: The supply connected to VCCIO3.
98 vccio4-supply:
99 description: The supply connected to VCCIO4.
100 vccio5-supply:
101 description: The supply connected to VCCIO5.
102 vccio6-supply:
103 description: The supply connected to VCCIO6.
104 vccio-oscgpi-supply:
105 description: The supply connected to VCCIO_OSCGPI.
106
107 px30-pmu:
108 if:
109 properties:
110 compatible:
111 contains:
112 const: rockchip,px30-pmu-io-voltage-domain
113
114 then:
115 properties:
116 pmuio1-supply:
117 description: The supply connected to PMUIO1.
118 pmuio2-supply:
119 description: The supply connected to PMUIO2.
120
121 rk3188:
122 if:
123 properties:
124 compatible:
125 contains:
126 const: rockchip,rk3188-io-voltage-domain
127
128 then:
129 properties:
130 ap0-supply:
131 description: The supply connected to AP0_VCC.
132 ap1-supply:
133 description: The supply connected to AP1_VCC.
134 cif-supply:
135 description: The supply connected to CIF_VCC.
136 flash-supply:
137 description: The supply connected to FLASH_VCC.
138 lcdc0-supply:
139 description: The supply connected to LCD0_VCC.
140 lcdc1-supply:
141 description: The supply connected to LCD1_VCC.
142 vccio0-supply:
143 description: The supply connected to VCCIO0.
144 vccio1-supply:
145 description: The supply connected to VCCIO1. Also labeled as VCCIO2.
146
147 rk3228:
148 if:
149 properties:
150 compatible:
151 contains:
152 const: rockchip,rk3228-io-voltage-domain
153
154 then:
155 properties:
156 vccio1-supply:
157 description: The supply connected to VCCIO1.
158 vccio2-supply:
159 description: The supply connected to VCCIO2.
160 vccio3-supply:
161 description: The supply connected to VCCIO3.
162 vccio4-supply:
163 description: The supply connected to VCCIO4.
164
165 rk3288:
166 if:
167 properties:
168 compatible:
169 contains:
170 const: rockchip,rk3288-io-voltage-domain
171
172 then:
173 properties:
174 audio-supply:
175 description: The supply connected to APIO4_VDD.
176 bb-supply:
177 description: The supply connected to APIO5_VDD.
178 dvp-supply:
179 description: The supply connected to DVPIO_VDD.
180 flash0-supply:
181 description: The supply connected to FLASH0_VDD. Typically for eMMC.
182 flash1-supply:
183 description: The supply connected to FLASH1_VDD. Also known as SDIO1.
184 gpio30-supply:
185 description: The supply connected to APIO1_VDD.
186 gpio1830-supply:
187 description: The supply connected to APIO2_VDD.
188 lcdc-supply:
189 description: The supply connected to LCDC_VDD.
190 sdcard-supply:
191 description: The supply connected to SDMMC0_VDD.
192 wifi-supply:
193 description: The supply connected to APIO3_VDD. Also known as SDIO0.
194
195 rk3328:
196 if:
197 properties:
198 compatible:
199 contains:
200 const: rockchip,rk3328-io-voltage-domain
201
202 then:
203 properties:
204 vccio1-supply:
205 description: The supply connected to VCCIO1.
206 vccio2-supply:
207 description: The supply connected to VCCIO2.
208 vccio3-supply:
209 description: The supply connected to VCCIO3.
210 vccio4-supply:
211 description: The supply connected to VCCIO4.
212 vccio5-supply:
213 description: The supply connected to VCCIO5.
214 vccio6-supply:
215 description: The supply connected to VCCIO6.
216 pmuio-supply:
217 description: The supply connected to VCCIO_PMU.
218
219 rk3368:
220 if:
221 properties:
222 compatible:
223 contains:
224 const: rockchip,rk3368-io-voltage-domain
225
226 then:
227 properties:
228 audio-supply:
229 description: The supply connected to APIO3_VDD.
230 dvp-supply:
231 description: The supply connected to DVPIO_VDD.
232 flash0-supply:
233 description: The supply connected to FLASH0_VDD. Typically for eMMC.
234 gpio30-supply:
235 description: The supply connected to APIO1_VDD.
236 gpio1830-supply:
237 description: The supply connected to APIO4_VDD.
238 sdcard-supply:
239 description: The supply connected to SDMMC0_VDD.
240 wifi-supply:
241 description: The supply connected to APIO2_VDD. Also known as SDIO0.
242
243 rk3368-pmu:
244 if:
245 properties:
246 compatible:
247 contains:
248 const: rockchip,rk3368-pmu-io-voltage-domain
249
250 then:
251 properties:
252 pmu-supply:
253 description: The supply connected to PMUIO_VDD.
254 vop-supply:
255 description: The supply connected to LCDC_VDD.
256
257 rk3399:
258 if:
259 properties:
260 compatible:
261 contains:
262 const: rockchip,rk3399-io-voltage-domain
263
264 then:
265 properties:
266 audio-supply:
267 description: The supply connected to APIO5_VDD.
268 bt656-supply:
269 description: The supply connected to APIO2_VDD.
270 gpio1830-supply:
271 description: The supply connected to APIO4_VDD.
272 sdmmc-supply:
273 description: The supply connected to SDMMC0_VDD.
274
275 rk3399-pmu:
276 if:
277 properties:
278 compatible:
279 contains:
280 const: rockchip,rk3399-pmu-io-voltage-domain
281
282 then:
283 properties:
284 pmu1830-supply:
285 description: The supply connected to PMUIO2_VDD.
286
287 rk3568-pmu:
288 if:
289 properties:
290 compatible:
291 contains:
292 const: rockchip,rk3568-pmu-io-voltage-domain
293
294 then:
295 properties:
296 pmuio1-supply:
297 description: The supply connected to PMUIO1.
298 pmuio2-supply:
299 description: The supply connected to PMUIO2.
300 vccio1-supply:
301 description: The supply connected to VCCIO1.
302 vccio2-supply:
303 description: The supply connected to VCCIO2.
304 vccio3-supply:
305 description: The supply connected to VCCIO3.
306 vccio4-supply:
307 description: The supply connected to VCCIO4.
308 vccio5-supply:
309 description: The supply connected to VCCIO5.
310 vccio6-supply:
311 description: The supply connected to VCCIO6.
312 vccio7-supply:
313 description: The supply connected to VCCIO7.
314
315 rv1108:
316 if:
317 properties:
318 compatible:
319 contains:
320 const: rockchip,rv1108-io-voltage-domain
321
322 then:
323 properties:
324 vccio1-supply:
325 description: The supply connected to APIO1_VDD.
326 vccio2-supply:
327 description: The supply connected to APIO2_VDD.
328 vccio3-supply:
329 description: The supply connected to APIO3_VDD.
330 vccio5-supply:
331 description: The supply connected to APIO5_VDD.
332 vccio6-supply:
333 description: The supply connected to APIO6_VDD.
334
335 rv1108-pmu:
336 if:
337 properties:
338 compatible:
339 contains:
340 const: rockchip,rv1108-pmu-io-voltage-domain
341
342 then:
343 properties:
344 pmu-supply:
345 description: The supply connected to PMUIO_VDD.
346
347 examples:
348 - |
349 io-domains {
350 compatible = "rockchip,rk3288-io-voltage-domain";
351 audio-supply = <&vcc18_codec>;
352 bb-supply = <&vcc33_io>;
353 dvp-supply = <&vcc_18>;
354 flash0-supply = <&vcc18_flashio>;
355 gpio1830-supply = <&vcc33_io>;
356 gpio30-supply = <&vcc33_pmuio>;
357 lcdc-supply = <&vcc33_lcd>;
358 sdcard-supply = <&vccio_sd>;
359 wifi-supply = <&vcc18_wl>;
360 };
Cache object: b72f6a58a1a1b82d6b226d216e889f55
|