blob: 754c77ccf9d058072f296708bcf780104002248d [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glass344c8372015-08-30 16:55:20 -06002
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/interrupt-controller/irq.h>
5#include <dt-bindings/interrupt-controller/arm-gic.h>
6#include <dt-bindings/pinctrl/rockchip.h>
7#include <dt-bindings/clock/rk3288-cru.h>
Johan Jonker44431112022-04-15 23:21:37 +02008#include <dt-bindings/power/rk3288-power.h>
Simon Glass344c8372015-08-30 16:55:20 -06009#include <dt-bindings/thermal/thermal.h>
Jacob Chencfd97942016-03-14 11:20:17 +080010#include <dt-bindings/video/rk3288.h>
Simon Glass344c8372015-08-30 16:55:20 -060011#include "skeleton.dtsi"
12
13/ {
14 compatible = "rockchip,rk3288";
15
16 interrupt-parent = <&gic>;
17 aliases {
18 i2c0 = &i2c0;
19 i2c1 = &i2c1;
20 i2c2 = &i2c2;
21 i2c3 = &i2c3;
22 i2c4 = &i2c4;
23 i2c5 = &i2c5;
Simon Glass344c8372015-08-30 16:55:20 -060024 mshc0 = &emmc;
25 mshc1 = &sdmmc;
26 mshc2 = &sdio0;
27 mshc3 = &sdio1;
28 serial0 = &uart0;
29 serial1 = &uart1;
30 serial2 = &uart2;
31 serial3 = &uart3;
32 serial4 = &uart4;
33 spi0 = &spi0;
34 spi1 = &spi1;
35 spi2 = &spi2;
36 };
37
38 cpus {
39 #address-cells = <1>;
40 #size-cells = <0>;
41 enable-method = "rockchip,rk3066-smp";
42 rockchip,pmu = <&pmu>;
43
44 cpu0: cpu@500 {
45 device_type = "cpu";
46 compatible = "arm,cortex-a12";
47 reg = <0x500>;
48 operating-points = <
49 /* KHz uV */
50 1800000 1400000
51 1704000 1350000
52 1608000 1300000
53 1512000 1250000
54 1416000 1200000
55 1200000 1100000
56 1008000 1050000
57 816000 1000000
58 696000 950000
59 600000 900000
60 408000 900000
61 216000 900000
62 126000 900000
63 >;
64 #cooling-cells = <2>; /* min followed by max */
65 clock-latency = <40000>;
66 clocks = <&cru ARMCLK>;
67 resets = <&cru SRST_CORE0>;
68 };
69 cpu@501 {
70 device_type = "cpu";
71 compatible = "arm,cortex-a12";
72 reg = <0x501>;
73 resets = <&cru SRST_CORE1>;
74 };
75 cpu@502 {
76 device_type = "cpu";
77 compatible = "arm,cortex-a12";
78 reg = <0x502>;
79 resets = <&cru SRST_CORE2>;
80 };
81 cpu@503 {
82 device_type = "cpu";
83 compatible = "arm,cortex-a12";
84 reg = <0x503>;
85 resets = <&cru SRST_CORE3>;
86 };
87 };
88
Simon Glass344c8372015-08-30 16:55:20 -060089 xin24m: oscillator {
90 compatible = "fixed-clock";
91 clock-frequency = <24000000>;
92 clock-output-names = "xin24m";
93 #clock-cells = <0>;
94 };
95
96 timer {
97 arm,use-physical-timer;
98 compatible = "arm,armv7-timer";
99 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
100 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
101 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
102 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
103 clock-frequency = <24000000>;
104 always-on;
105 };
106
107 display-subsystem {
108 compatible = "rockchip,display-subsystem";
109 ports = <&vopl_out>, <&vopb_out>;
110 };
111
Johan Jonker69820e02022-05-02 11:42:22 +0200112 sdmmc: mmc@ff0c0000 {
Simon Glass344c8372015-08-30 16:55:20 -0600113 compatible = "rockchip,rk3288-dw-mshc";
Kever Yang16e358a2017-06-14 16:31:44 +0800114 max-frequency = <150000000>;
Simon Glass344c8372015-08-30 16:55:20 -0600115 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
116 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
Johan Jonker69820e02022-05-02 11:42:22 +0200117 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
Simon Glass344c8372015-08-30 16:55:20 -0600118 fifo-depth = <0x100>;
119 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
120 reg = <0xff0c0000 0x4000>;
121 status = "disabled";
122 };
123
Johan Jonker69820e02022-05-02 11:42:22 +0200124 sdio0: mmc@ff0d0000 {
Simon Glass344c8372015-08-30 16:55:20 -0600125 compatible = "rockchip,rk3288-dw-mshc";
Kever Yang16e358a2017-06-14 16:31:44 +0800126 max-frequency = <150000000>;
Simon Glass344c8372015-08-30 16:55:20 -0600127 clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
128 <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
Johan Jonker69820e02022-05-02 11:42:22 +0200129 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
Simon Glass344c8372015-08-30 16:55:20 -0600130 fifo-depth = <0x100>;
131 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
132 reg = <0xff0d0000 0x4000>;
133 status = "disabled";
134 };
135
Johan Jonker69820e02022-05-02 11:42:22 +0200136 sdio1: mmc@ff0e0000 {
Simon Glass344c8372015-08-30 16:55:20 -0600137 compatible = "rockchip,rk3288-dw-mshc";
Kever Yang16e358a2017-06-14 16:31:44 +0800138 max-frequency = <150000000>;
Simon Glass344c8372015-08-30 16:55:20 -0600139 clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>,
140 <&cru SCLK_SDIO1_DRV>, <&cru SCLK_SDIO1_SAMPLE>;
Johan Jonker69820e02022-05-02 11:42:22 +0200141 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
Simon Glass344c8372015-08-30 16:55:20 -0600142 fifo-depth = <0x100>;
143 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
144 reg = <0xff0e0000 0x4000>;
145 status = "disabled";
146 };
147
Johan Jonker69820e02022-05-02 11:42:22 +0200148 emmc: mmc@ff0f0000 {
Simon Glass344c8372015-08-30 16:55:20 -0600149 compatible = "rockchip,rk3288-dw-mshc";
Kever Yang16e358a2017-06-14 16:31:44 +0800150 max-frequency = <150000000>;
Simon Glass344c8372015-08-30 16:55:20 -0600151 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
152 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
Johan Jonker69820e02022-05-02 11:42:22 +0200153 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
Simon Glass344c8372015-08-30 16:55:20 -0600154 fifo-depth = <0x100>;
155 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
156 reg = <0xff0f0000 0x4000>;
157 status = "disabled";
158 };
159
160 saradc: saradc@ff100000 {
161 compatible = "rockchip,saradc";
162 reg = <0xff100000 0x100>;
163 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
164 #io-channel-cells = <1>;
165 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
166 clock-names = "saradc", "apb_pclk";
167 status = "disabled";
168 };
169
170 spi0: spi@ff110000 {
171 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
172 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
173 clock-names = "spiclk", "apb_pclk";
174 dmas = <&dmac_peri 11>, <&dmac_peri 12>;
175 dma-names = "tx", "rx";
176 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
177 pinctrl-names = "default";
178 pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
179 reg = <0xff110000 0x1000>;
180 #address-cells = <1>;
181 #size-cells = <0>;
182 status = "disabled";
183 };
184
185 spi1: spi@ff120000 {
186 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
187 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
188 clock-names = "spiclk", "apb_pclk";
189 dmas = <&dmac_peri 13>, <&dmac_peri 14>;
190 dma-names = "tx", "rx";
191 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
192 pinctrl-names = "default";
193 pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
194 reg = <0xff120000 0x1000>;
195 #address-cells = <1>;
196 #size-cells = <0>;
197 status = "disabled";
198 };
199
200 spi2: spi@ff130000 {
201 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
202 clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
203 clock-names = "spiclk", "apb_pclk";
204 dmas = <&dmac_peri 15>, <&dmac_peri 16>;
205 dma-names = "tx", "rx";
206 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
209 reg = <0xff130000 0x1000>;
210 #address-cells = <1>;
211 #size-cells = <0>;
212 status = "disabled";
213 };
214
215 i2c1: i2c@ff140000 {
216 compatible = "rockchip,rk3288-i2c";
217 reg = <0xff140000 0x1000>;
218 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
219 #address-cells = <1>;
220 #size-cells = <0>;
221 clock-names = "i2c";
222 clocks = <&cru PCLK_I2C1>;
223 pinctrl-names = "default";
224 pinctrl-0 = <&i2c1_xfer>;
225 status = "disabled";
226 };
227
228 i2c3: i2c@ff150000 {
229 compatible = "rockchip,rk3288-i2c";
230 reg = <0xff150000 0x1000>;
231 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
232 #address-cells = <1>;
233 #size-cells = <0>;
234 clock-names = "i2c";
235 clocks = <&cru PCLK_I2C3>;
236 pinctrl-names = "default";
237 pinctrl-0 = <&i2c3_xfer>;
238 status = "disabled";
239 };
240
241 i2c4: i2c@ff160000 {
242 compatible = "rockchip,rk3288-i2c";
243 reg = <0xff160000 0x1000>;
244 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
245 #address-cells = <1>;
246 #size-cells = <0>;
247 clock-names = "i2c";
248 clocks = <&cru PCLK_I2C4>;
249 pinctrl-names = "default";
250 pinctrl-0 = <&i2c4_xfer>;
251 status = "disabled";
252 };
253
254 i2c5: i2c@ff170000 {
255 compatible = "rockchip,rk3288-i2c";
256 reg = <0xff170000 0x1000>;
257 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 clock-names = "i2c";
261 clocks = <&cru PCLK_I2C5>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&i2c5_xfer>;
264 status = "disabled";
265 };
266 uart0: serial@ff180000 {
267 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
268 reg = <0xff180000 0x100>;
269 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
270 reg-shift = <2>;
271 reg-io-width = <4>;
272 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
273 clock-names = "baudclk", "apb_pclk";
274 pinctrl-names = "default";
275 pinctrl-0 = <&uart0_xfer>;
276 status = "disabled";
277 };
278
279 uart1: serial@ff190000 {
280 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
281 reg = <0xff190000 0x100>;
282 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
283 reg-shift = <2>;
284 reg-io-width = <4>;
285 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
286 clock-names = "baudclk", "apb_pclk";
287 pinctrl-names = "default";
288 pinctrl-0 = <&uart1_xfer>;
289 status = "disabled";
290 };
291
292 uart2: serial@ff690000 {
293 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
294 reg = <0xff690000 0x100>;
295 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
296 reg-shift = <2>;
297 reg-io-width = <4>;
298 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
299 clock-names = "baudclk", "apb_pclk";
300 pinctrl-names = "default";
301 pinctrl-0 = <&uart2_xfer>;
302 status = "disabled";
303 };
304 uart3: serial@ff1b0000 {
305 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
306 reg = <0xff1b0000 0x100>;
307 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
308 reg-shift = <2>;
309 reg-io-width = <4>;
310 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
311 clock-names = "baudclk", "apb_pclk";
312 pinctrl-names = "default";
313 pinctrl-0 = <&uart3_xfer>;
314 status = "disabled";
315 };
316
317 uart4: serial@ff1c0000 {
318 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
319 reg = <0xff1c0000 0x100>;
320 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
321 reg-shift = <2>;
322 reg-io-width = <4>;
323 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
324 clock-names = "baudclk", "apb_pclk";
325 pinctrl-names = "default";
326 pinctrl-0 = <&uart4_xfer>;
327 status = "disabled";
328 };
Johan Jonker6f0037f2022-05-02 13:22:55 +0200329
330 dmac_peri: dma-controller@ff250000 {
331 compatible = "arm,pl330", "arm,primecell";
332 reg = <0xff250000 0x4000>;
333 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
334 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
335 #dma-cells = <1>;
336 broken-no-flushp;
337 clocks = <&cru ACLK_DMAC2>;
338 clock-names = "apb_pclk";
339 };
340
Simon Glass344c8372015-08-30 16:55:20 -0600341 thermal: thermal-zones {
Johan Jonker4fd6c282022-09-28 16:24:06 +0200342 reserve_thermal: reserve-thermal {
343 polling-delay-passive = <1000>; /* milliseconds */
344 polling-delay = <5000>; /* milliseconds */
345
346 thermal-sensors = <&tsadc 0>;
347 };
348
349 cpu_thermal: cpu-thermal {
350 polling-delay-passive = <100>; /* milliseconds */
351 polling-delay = <5000>; /* milliseconds */
352
353 thermal-sensors = <&tsadc 1>;
354
355 trips {
356 cpu_alert0: cpu_alert0 {
357 temperature = <70000>; /* millicelsius */
358 hysteresis = <2000>; /* millicelsius */
359 type = "passive";
360 };
361 cpu_alert1: cpu_alert1 {
362 temperature = <75000>; /* millicelsius */
363 hysteresis = <2000>; /* millicelsius */
364 type = "passive";
365 };
366 cpu_crit: cpu_crit {
367 temperature = <90000>; /* millicelsius */
368 hysteresis = <2000>; /* millicelsius */
369 type = "critical";
370 };
371 };
372
373 cooling-maps {
374 map0 {
375 trip = <&cpu_alert0>;
376 cooling-device =
377 <&cpu0 THERMAL_NO_LIMIT 6>;
378 };
379 map1 {
380 trip = <&cpu_alert1>;
381 cooling-device =
382 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
383 };
384 };
385 };
386
387 gpu_thermal: gpu-thermal {
388 polling-delay-passive = <100>; /* milliseconds */
389 polling-delay = <5000>; /* milliseconds */
390
391 thermal-sensors = <&tsadc 2>;
392
393 trips {
394 gpu_alert0: gpu_alert0 {
395 temperature = <70000>; /* millicelsius */
396 hysteresis = <2000>; /* millicelsius */
397 type = "passive";
398 };
399 gpu_crit: gpu_crit {
400 temperature = <90000>; /* millicelsius */
401 hysteresis = <2000>; /* millicelsius */
402 type = "critical";
403 };
404 };
405
406 cooling-maps {
407 map0 {
408 trip = <&gpu_alert0>;
409 cooling-device =
410 <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
411 };
412 };
413 };
Simon Glass344c8372015-08-30 16:55:20 -0600414 };
415
416 tsadc: tsadc@ff280000 {
417 compatible = "rockchip,rk3288-tsadc";
418 reg = <0xff280000 0x100>;
419 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
420 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
421 clock-names = "tsadc", "apb_pclk";
422 resets = <&cru SRST_TSADC>;
423 reset-names = "tsadc-apb";
424 pinctrl-names = "otp_out";
425 pinctrl-0 = <&otp_out>;
426 #thermal-sensor-cells = <1>;
427 hw-shut-temp = <125000>;
428 status = "disabled";
429 };
430
431 gmac: ethernet@ff290000 {
432 compatible = "rockchip,rk3288-gmac";
433 reg = <0xff290000 0x10000>;
434 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
435 interrupt-names = "macirq";
436 rockchip,grf = <&grf>;
437 clocks = <&cru SCLK_MAC>,
438 <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
439 <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
440 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
441 clock-names = "stmmaceth",
442 "mac_clk_rx", "mac_clk_tx",
443 "clk_mac_ref", "clk_mac_refout",
444 "aclk_mac", "pclk_mac";
445 };
446
447 usb_host0_ehci: usb@ff500000 {
448 compatible = "generic-ehci";
449 reg = <0xff500000 0x100>;
450 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
451 clocks = <&cru HCLK_USBHOST0>;
452 clock-names = "usbhost";
453 phys = <&usbphy1>;
454 phy-names = "usb";
455 status = "disabled";
456 };
457
Jagan Teki4b0446d2020-07-21 20:54:37 +0530458 /* NOTE: doesn't work on RK3288, but fixed on RK3288W */
459 usb_host0_ohci: usb@ff520000 {
460 compatible = "generic-ohci";
461 reg = <0x0 0xff520000 0x0 0x100>;
462 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
463 clocks = <&cru HCLK_USBHOST0>;
464 phys = <&usbphy1>;
465 phy-names = "usb";
466 status = "disabled";
467 };
Simon Glass344c8372015-08-30 16:55:20 -0600468
469 usb_host1: usb@ff540000 {
470 compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
471 "snps,dwc2";
472 reg = <0xff540000 0x40000>;
473 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
474 clocks = <&cru HCLK_USBHOST1>;
475 clock-names = "otg";
476 phys = <&usbphy2>;
477 phy-names = "usb2-phy";
478 status = "disabled";
479 };
480
481 usb_otg: usb@ff580000 {
482 compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
483 "snps,dwc2";
484 reg = <0xff580000 0x40000>;
485 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
486 clocks = <&cru HCLK_OTG0>;
487 clock-names = "otg";
Xu Ziyuan266c8fa2016-07-15 00:26:59 +0800488 dr_mode = "otg";
Simon Glass344c8372015-08-30 16:55:20 -0600489 phys = <&usbphy0>;
490 phy-names = "usb2-phy";
491 status = "disabled";
492 };
493
494 usb_hsic: usb@ff5c0000 {
495 compatible = "generic-ehci";
496 reg = <0xff5c0000 0x100>;
497 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
498 clocks = <&cru HCLK_HSIC>;
499 clock-names = "usbhost";
500 status = "disabled";
501 };
502
Johan Jonker6f0037f2022-05-02 13:22:55 +0200503 dmac_bus_ns: dma-controller@ff600000 {
504 compatible = "arm,pl330", "arm,primecell";
505 reg = <0xff600000 0x4000>;
506 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
507 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
508 #dma-cells = <1>;
509 broken-no-flushp;
510 clocks = <&cru ACLK_DMAC1>;
511 clock-names = "apb_pclk";
512 status = "disabled";
513 };
514
Simon Glass344c8372015-08-30 16:55:20 -0600515 i2c0: i2c@ff650000 {
516 compatible = "rockchip,rk3288-i2c";
517 reg = <0xff650000 0x1000>;
518 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
519 #address-cells = <1>;
520 #size-cells = <0>;
521 clock-names = "i2c";
522 clocks = <&cru PCLK_I2C0>;
523 pinctrl-names = "default";
524 pinctrl-0 = <&i2c0_xfer>;
525 status = "disabled";
526 };
527
528 i2c2: i2c@ff660000 {
529 compatible = "rockchip,rk3288-i2c";
530 reg = <0xff660000 0x1000>;
531 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
532 #address-cells = <1>;
533 #size-cells = <0>;
534 clock-names = "i2c";
535 clocks = <&cru PCLK_I2C2>;
536 pinctrl-names = "default";
537 pinctrl-0 = <&i2c2_xfer>;
538 status = "disabled";
539 };
540
541 pwm0: pwm@ff680000 {
542 compatible = "rockchip,rk3288-pwm";
543 reg = <0xff680000 0x10>;
544 #pwm-cells = <3>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&pwm0_pin>;
547 clocks = <&cru PCLK_PWM>;
548 clock-names = "pwm";
549 rockchip,grf = <&grf>;
550 status = "disabled";
551 };
552
553 pwm1: pwm@ff680010 {
554 compatible = "rockchip,rk3288-pwm";
555 reg = <0xff680010 0x10>;
556 #pwm-cells = <3>;
557 pinctrl-names = "default";
558 pinctrl-0 = <&pwm1_pin>;
559 clocks = <&cru PCLK_PWM>;
560 clock-names = "pwm";
561 rockchip,grf = <&grf>;
562 status = "disabled";
563 };
564
565 pwm2: pwm@ff680020 {
566 compatible = "rockchip,rk3288-pwm";
567 reg = <0xff680020 0x10>;
568 #pwm-cells = <3>;
569 pinctrl-names = "default";
570 pinctrl-0 = <&pwm2_pin>;
571 clocks = <&cru PCLK_PWM>;
572 clock-names = "pwm";
573 rockchip,grf = <&grf>;
574 status = "disabled";
575 };
576
577 pwm3: pwm@ff680030 {
578 compatible = "rockchip,rk3288-pwm";
579 reg = <0xff680030 0x10>;
580 #pwm-cells = <2>;
581 pinctrl-names = "default";
582 pinctrl-0 = <&pwm3_pin>;
583 clocks = <&cru PCLK_PWM>;
584 clock-names = "pwm";
585 rockchip,grf = <&grf>;
586 status = "disabled";
587 };
588
Johan Jonker52a0c682022-04-15 23:21:39 +0200589 bus_intmem: bus_intmem@ff700000 {
Simon Glass344c8372015-08-30 16:55:20 -0600590 compatible = "mmio-sram";
591 reg = <0xff700000 0x18000>;
592 #address-cells = <1>;
593 #size-cells = <1>;
594 ranges = <0 0xff700000 0x18000>;
595 smp-sram@0 {
596 compatible = "rockchip,rk3066-smp-sram";
597 reg = <0x00 0x10>;
598 };
Simon Glass344c8372015-08-30 16:55:20 -0600599 };
600
601 sram@ff720000 {
602 compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
603 reg = <0xff720000 0x1000>;
604 };
605
606 pmu: power-management@ff730000 {
607 compatible = "rockchip,rk3288-pmu", "syscon";
608 reg = <0xff730000 0x100>;
609 };
610
611 sgrf: syscon@ff740000 {
612 compatible = "rockchip,rk3288-sgrf", "syscon";
613 reg = <0xff740000 0x1000>;
614 };
615
616 cru: clock-controller@ff760000 {
617 compatible = "rockchip,rk3288-cru";
618 reg = <0xff760000 0x1000>;
619 rockchip,grf = <&grf>;
620 #clock-cells = <1>;
621 #reset-cells = <1>;
David Wuc513e9e2018-01-13 14:06:16 +0800622 assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>,
Simon Glass344c8372015-08-30 16:55:20 -0600623 <&cru PLL_NPLL>, <&cru ACLK_CPU>,
624 <&cru HCLK_CPU>, <&cru PCLK_CPU>,
625 <&cru ACLK_PERI>, <&cru HCLK_PERI>,
626 <&cru PCLK_PERI>;
David Wuc513e9e2018-01-13 14:06:16 +0800627 assigned-clock-rates = <594000000>, <400000000>,
Simon Glass344c8372015-08-30 16:55:20 -0600628 <500000000>, <300000000>,
629 <150000000>, <75000000>,
630 <300000000>, <150000000>,
631 <75000000>;
Simon Glass344c8372015-08-30 16:55:20 -0600632 };
633
634 grf: syscon@ff770000 {
635 compatible = "rockchip,rk3288-grf", "syscon";
636 reg = <0xff770000 0x1000>;
637 };
638
639 wdt: watchdog@ff800000 {
640 compatible = "rockchip,rk3288-wdt", "snps,dw-wdt";
641 reg = <0xff800000 0x100>;
642 clocks = <&cru PCLK_WDT>;
643 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
644 status = "disabled";
645 };
646
Simon Glass6406f452016-01-21 19:45:21 -0700647 spdif: sound@ff88b0000 {
648 compatible = "rockchip,rk3288-spdif", "rockchip,rk3066-spdif";
649 reg = <0xff8b0000 0x10000>;
650 #sound-dai-cells = <0>;
651 clock-names = "hclk", "mclk";
652 clocks = <&cru HCLK_SPDIF8CH>, <&cru SCLK_SPDIF8CH>;
653 dmas = <&dmac_bus_s 3>;
654 dma-names = "tx";
655 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
656 pinctrl-names = "default";
657 pinctrl-0 = <&spdif_tx>;
658 rockchip,grf = <&grf>;
659 status = "disabled";
660 };
661
Simon Glass344c8372015-08-30 16:55:20 -0600662 i2s: i2s@ff890000 {
663 compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
664 reg = <0xff890000 0x10000>;
665 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
666 #address-cells = <1>;
667 #size-cells = <0>;
Simon Glass2d0c01b2018-12-27 20:15:23 -0700668 #sound-dai-cells = <1>;
Simon Glass344c8372015-08-30 16:55:20 -0600669 dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>;
670 dma-names = "tx", "rx";
671 clock-names = "i2s_hclk", "i2s_clk";
672 clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
673 pinctrl-names = "default";
674 pinctrl-0 = <&i2s0_bus>;
675 status = "disabled";
676 };
677
678 vopb: vop@ff930000 {
679 compatible = "rockchip,rk3288-vop";
680 reg = <0xff930000 0x19c>;
681 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
682 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
683 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
684 resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
685 reset-names = "axi", "ahb", "dclk";
686 iommus = <&vopb_mmu>;
687 power-domains = <&power RK3288_PD_VIO>;
688 status = "disabled";
689 vopb_out: port {
690 #address-cells = <1>;
691 #size-cells = <0>;
692 vopb_out_edp: endpoint@0 {
693 reg = <0>;
694 remote-endpoint = <&edp_in_vopb>;
695 };
696 vopb_out_hdmi: endpoint@1 {
697 reg = <1>;
698 remote-endpoint = <&hdmi_in_vopb>;
699 };
Jacob Chencfd97942016-03-14 11:20:17 +0800700 vopb_out_lvds: endpoint@2 {
701 reg = <2>;
702 remote-endpoint = <&lvds_in_vopb>;
703 };
Eric Gao2085de52017-05-02 18:32:45 +0800704 vopb_out_mipi: endpoint@3 {
705 reg = <3>;
706 remote-endpoint = <&mipi_in_vopb>;
707 };
708
Simon Glass344c8372015-08-30 16:55:20 -0600709 };
710 };
711
712 vopb_mmu: iommu@ff930300 {
713 compatible = "rockchip,iommu";
714 reg = <0xff930300 0x100>;
715 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
716 interrupt-names = "vopb_mmu";
717 power-domains = <&power RK3288_PD_VIO>;
718 #iommu-cells = <0>;
719 status = "disabled";
720 };
721
722 vopl: vop@ff940000 {
723 compatible = "rockchip,rk3288-vop";
724 reg = <0xff940000 0x19c>;
725 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
726 clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
727 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
728 resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
729 reset-names = "axi", "ahb", "dclk";
730 iommus = <&vopl_mmu>;
731 power-domains = <&power RK3288_PD_VIO>;
732 status = "disabled";
733 vopl_out: port {
734 #address-cells = <1>;
735 #size-cells = <0>;
736 vopl_out_edp: endpoint@0 {
737 reg = <0>;
738 remote-endpoint = <&edp_in_vopl>;
739 };
740 vopl_out_hdmi: endpoint@1 {
741 reg = <1>;
742 remote-endpoint = <&hdmi_in_vopl>;
743 };
Jacob Chencfd97942016-03-14 11:20:17 +0800744 vopl_out_lvds: endpoint@2 {
745 reg = <2>;
746 remote-endpoint = <&lvds_in_vopl>;
747 };
Eric Gao2085de52017-05-02 18:32:45 +0800748 vopl_out_mipi: endpoint@3 {
749 reg = <3>;
750 remote-endpoint = <&mipi_in_vopl>;
751 };
752
Simon Glass344c8372015-08-30 16:55:20 -0600753 };
754 };
755
756 vopl_mmu: iommu@ff940300 {
757 compatible = "rockchip,iommu";
758 reg = <0xff940300 0x100>;
759 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
760 interrupt-names = "vopl_mmu";
761 power-domains = <&power RK3288_PD_VIO>;
762 #iommu-cells = <0>;
763 status = "disabled";
764 };
765
Johan Jonkere0bf0102022-05-02 12:19:34 +0200766 mipi_dsi: mipi@ff960000 {
767 compatible = "rockchip,rk3288_mipi_dsi";
768 reg = <0xff960000 0x4000>;
769 clocks = <&cru PCLK_MIPI_DSI0>;
770 clock-names = "pclk_mipi";
771 /*pinctrl-names = "default";
772 pinctrl-0 = <&lcdc0_ctl>;*/
773 rockchip,grf = <&grf>;
774 #address-cells = <1>;
775 #size-cells = <0>;
776 status = "disabled";
777 ports {
778 reg = <1>;
779 mipi_in: port {
780 #address-cells = <1>;
781 #size-cells = <0>;
782 mipi_in_vopb: endpoint@0 {
783 reg = <0>;
784 remote-endpoint = <&vopb_out_mipi>;
785 };
786 mipi_in_vopl: endpoint@1 {
787 reg = <1>;
788 remote-endpoint = <&vopl_out_mipi>;
789 };
790 };
791 };
792 };
793
794 lvds: lvds@ff96c000 {
795 compatible = "rockchip,rk3288-lvds";
796 reg = <0xff96c000 0x4000>;
797 clocks = <&cru PCLK_LVDS_PHY>;
798 clock-names = "pclk_lvds";
799 pinctrl-names = "default";
800 pinctrl-0 = <&lcdc0_ctl>;
801 rockchip,grf = <&grf>;
802 status = "disabled";
803 ports {
804 #address-cells = <1>;
805 #size-cells = <0>;
806 lvds_in: port@0 {
807 reg = <0>;
808 #address-cells = <1>;
809 #size-cells = <0>;
810 lvds_in_vopb: endpoint@0 {
811 reg = <0>;
812 remote-endpoint = <&vopb_out_lvds>;
813 };
814 lvds_in_vopl: endpoint@1 {
815 reg = <1>;
816 remote-endpoint = <&vopl_out_lvds>;
817 };
818 };
819 };
820 };
821
822 edp: dp@ff970000 {
Simon Glass344c8372015-08-30 16:55:20 -0600823 compatible = "rockchip,rk3288-edp";
824 reg = <0xff970000 0x4000>;
825 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
826 clocks = <&cru SCLK_EDP>, <&cru SCLK_EDP_24M>, <&cru PCLK_EDP_CTRL>;
827 rockchip,grf = <&grf>;
828 clock-names = "clk_edp", "clk_edp_24m", "pclk_edp";
829 resets = <&cru 111>;
830 reset-names = "edp";
831 power-domains = <&power RK3288_PD_VIO>;
832 status = "disabled";
833 ports {
834 edp_in: port {
835 #address-cells = <1>;
836 #size-cells = <0>;
837 edp_in_vopb: endpoint@0 {
838 reg = <0>;
839 remote-endpoint = <&vopb_out_edp>;
840 };
841 edp_in_vopl: endpoint@1 {
842 reg = <1>;
843 remote-endpoint = <&vopl_out_edp>;
844 };
845 };
846 };
847 };
848
849 hdmi: hdmi@ff980000 {
850 compatible = "rockchip,rk3288-dw-hdmi";
851 reg = <0xff980000 0x20000>;
852 reg-io-width = <4>;
853 ddc-i2c-bus = <&i2c5>;
854 rockchip,grf = <&grf>;
855 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
856 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
857 clock-names = "iahb", "isfr";
858 status = "disabled";
859 ports {
860 hdmi_in: port {
861 #address-cells = <1>;
862 #size-cells = <0>;
863 hdmi_in_vopb: endpoint@0 {
864 reg = <0>;
865 remote-endpoint = <&vopb_out_hdmi>;
866 };
867 hdmi_in_vopl: endpoint@1 {
868 reg = <1>;
869 remote-endpoint = <&vopl_out_hdmi>;
870 };
871 };
872 };
873 };
874
875 hdmi_audio: hdmi_audio {
876 compatible = "rockchip,rk3288-hdmi-audio";
877 i2s-controller = <&i2s>;
878 status = "disable";
879 };
880
881 vpu: video-codec@ff9a0000 {
882 compatible = "rockchip,rk3288-vpu";
883 reg = <0xff9a0000 0x800>;
884 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
885 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
886 interrupt-names = "vepu", "vdpu";
887 clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
888 clock-names = "aclk_vcodec", "hclk_vcodec";
889 power-domains = <&power RK3288_PD_VIDEO>;
890 iommus = <&vpu_mmu>;
891 };
892
893 vpu_mmu: iommu@ff9a0800 {
894 compatible = "rockchip,iommu";
895 reg = <0xff9a0800 0x100>;
896 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
897 interrupt-names = "vpu_mmu";
898 power-domains = <&power RK3288_PD_VIDEO>;
899 #iommu-cells = <0>;
900 };
901
902 gpu: gpu@ffa30000 {
903 compatible = "arm,malit764",
904 "arm,malit76x",
905 "arm,malit7xx",
906 "arm,mali-midgard";
907 reg = <0xffa30000 0x10000>;
908 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
909 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
910 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
911 interrupt-names = "JOB", "MMU", "GPU";
912 clocks = <&cru ACLK_GPU>;
913 clock-names = "aclk_gpu";
914 operating-points = <
915 /* KHz uV */
916 100000 950000
917 200000 950000
918 300000 1000000
919 400000 1100000
920 /* 500000 1200000 - See crosbug.com/p/33857 */
921 600000 1250000
922 >;
Johan Jonker4fd6c282022-09-28 16:24:06 +0200923 #cooling-cells = <2>; /* min followed by max */
Simon Glass344c8372015-08-30 16:55:20 -0600924 power-domains = <&power RK3288_PD_GPU>;
925 status = "disabled";
926 };
927
Johan Jonker6f0037f2022-05-02 13:22:55 +0200928 dmac_bus_s: dma-controller@ffb20000 {
929 compatible = "arm,pl330", "arm,primecell";
930 reg = <0xffb20000 0x4000>;
931 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
932 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
933 #dma-cells = <1>;
934 broken-no-flushp;
935 clocks = <&cru ACLK_DMAC1>;
936 clock-names = "apb_pclk";
937 };
938
Simon Glass344c8372015-08-30 16:55:20 -0600939 efuse: efuse@ffb40000 {
940 compatible = "rockchip,rk3288-efuse";
941 reg = <0xffb40000 0x10000>;
942 status = "disabled";
943 };
944
945 gic: interrupt-controller@ffc01000 {
946 compatible = "arm,gic-400";
947 interrupt-controller;
948 #interrupt-cells = <3>;
949 #address-cells = <0>;
950
951 reg = <0xffc01000 0x1000>,
952 <0xffc02000 0x1000>,
953 <0xffc04000 0x2000>,
954 <0xffc06000 0x2000>;
955 interrupts = <GIC_PPI 9 0xf04>;
956 };
957
958 cpuidle: cpuidle {
959 compatible = "rockchip,rk3288-cpuidle";
960 };
961
962 usbphy: phy {
963 compatible = "rockchip,rk3288-usb-phy";
964 rockchip,grf = <&grf>;
965 #address-cells = <1>;
966 #size-cells = <0>;
967 status = "disabled";
968
969 usbphy0: usb-phy0 {
970 #phy-cells = <0>;
971 reg = <0x320>;
972 clocks = <&cru SCLK_OTGPHY0>;
973 clock-names = "phyclk";
974 };
975
976 usbphy1: usb-phy1 {
977 #phy-cells = <0>;
978 reg = <0x334>;
979 clocks = <&cru SCLK_OTGPHY1>;
980 clock-names = "phyclk";
981 };
982
983 usbphy2: usb-phy2 {
984 #phy-cells = <0>;
985 reg = <0x348>;
986 clocks = <&cru SCLK_OTGPHY2>;
987 clock-names = "phyclk";
988 };
989 };
990
991 pinctrl: pinctrl {
992 compatible = "rockchip,rk3288-pinctrl";
993 rockchip,grf = <&grf>;
994 rockchip,pmu = <&pmu>;
995 #address-cells = <1>;
996 #size-cells = <1>;
997 ranges;
998
999 gpio0: gpio0@ff750000 {
1000 compatible = "rockchip,gpio-bank";
1001 reg = <0xff750000 0x100>;
1002 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1003 clocks = <&cru PCLK_GPIO0>;
1004
1005 gpio-controller;
1006 #gpio-cells = <2>;
1007
1008 interrupt-controller;
1009 #interrupt-cells = <2>;
1010 };
1011
1012 gpio1: gpio1@ff780000 {
1013 compatible = "rockchip,gpio-bank";
1014 reg = <0xff780000 0x100>;
1015 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
1016 clocks = <&cru PCLK_GPIO1>;
1017
1018 gpio-controller;
1019 #gpio-cells = <2>;
1020
1021 interrupt-controller;
1022 #interrupt-cells = <2>;
1023 };
1024
1025 gpio2: gpio2@ff790000 {
1026 compatible = "rockchip,gpio-bank";
1027 reg = <0xff790000 0x100>;
1028 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1029 clocks = <&cru PCLK_GPIO2>;
1030
1031 gpio-controller;
1032 #gpio-cells = <2>;
1033
1034 interrupt-controller;
1035 #interrupt-cells = <2>;
1036 };
1037
1038 gpio3: gpio3@ff7a0000 {
1039 compatible = "rockchip,gpio-bank";
1040 reg = <0xff7a0000 0x100>;
1041 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1042 clocks = <&cru PCLK_GPIO3>;
1043
1044 gpio-controller;
1045 #gpio-cells = <2>;
1046
1047 interrupt-controller;
1048 #interrupt-cells = <2>;
1049 };
1050
1051 gpio4: gpio4@ff7b0000 {
1052 compatible = "rockchip,gpio-bank";
1053 reg = <0xff7b0000 0x100>;
1054 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1055 clocks = <&cru PCLK_GPIO4>;
1056
1057 gpio-controller;
1058 #gpio-cells = <2>;
1059
1060 interrupt-controller;
1061 #interrupt-cells = <2>;
1062 };
1063
1064 gpio5: gpio5@ff7c0000 {
1065 compatible = "rockchip,gpio-bank";
1066 reg = <0xff7c0000 0x100>;
1067 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1068 clocks = <&cru PCLK_GPIO5>;
1069
1070 gpio-controller;
1071 #gpio-cells = <2>;
1072
1073 interrupt-controller;
1074 #interrupt-cells = <2>;
1075 };
1076
1077 gpio6: gpio6@ff7d0000 {
1078 compatible = "rockchip,gpio-bank";
1079 reg = <0xff7d0000 0x100>;
1080 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1081 clocks = <&cru PCLK_GPIO6>;
1082
1083 gpio-controller;
1084 #gpio-cells = <2>;
1085
1086 interrupt-controller;
1087 #interrupt-cells = <2>;
1088 };
1089
1090 gpio7: gpio7@ff7e0000 {
1091 compatible = "rockchip,gpio-bank";
1092 reg = <0xff7e0000 0x100>;
1093 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1094 clocks = <&cru PCLK_GPIO7>;
1095
1096 gpio-controller;
1097 #gpio-cells = <2>;
1098
1099 interrupt-controller;
1100 #interrupt-cells = <2>;
1101 };
1102
1103 gpio8: gpio8@ff7f0000 {
1104 compatible = "rockchip,gpio-bank";
1105 reg = <0xff7f0000 0x100>;
1106 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1107 clocks = <&cru PCLK_GPIO8>;
1108
1109 gpio-controller;
1110 #gpio-cells = <2>;
1111
1112 interrupt-controller;
1113 #interrupt-cells = <2>;
1114 };
1115
Suniel Maheshe70d8262020-07-21 20:54:36 +05301116 hdmi {
1117 hdmi_cec_c0: hdmi-cec-c0 {
1118 rockchip,pins = <7 RK_PC0 2 &pcfg_pull_none>;
1119 };
1120 };
1121
Simon Glass344c8372015-08-30 16:55:20 -06001122 pcfg_pull_up: pcfg-pull-up {
1123 bias-pull-up;
1124 };
1125
1126 pcfg_pull_down: pcfg-pull-down {
1127 bias-pull-down;
1128 };
1129
1130 pcfg_pull_none: pcfg-pull-none {
1131 bias-disable;
1132 };
1133
1134 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1135 bias-disable;
1136 drive-strength = <12>;
1137 };
1138
1139 sleep {
1140 global_pwroff: global-pwroff {
Johan Jonker17044742022-05-02 10:58:27 +02001141 rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001142 };
1143
1144 ddrio_pwroff: ddrio-pwroff {
Johan Jonker17044742022-05-02 10:58:27 +02001145 rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001146 };
1147
1148 ddr0_retention: ddr0-retention {
Johan Jonker17044742022-05-02 10:58:27 +02001149 rockchip,pins = <0 RK_PA2 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001150 };
1151
1152 ddr1_retention: ddr1-retention {
Johan Jonker17044742022-05-02 10:58:27 +02001153 rockchip,pins = <0 RK_PA3 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001154 };
1155 };
1156
1157 i2c0 {
1158 i2c0_xfer: i2c0-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001159 rockchip,pins = <0 RK_PB7 1 &pcfg_pull_none>,
1160 <0 RK_PC0 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001161 };
1162 };
1163
1164 i2c1 {
1165 i2c1_xfer: i2c1-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001166 rockchip,pins = <8 RK_PA4 1 &pcfg_pull_none>,
1167 <8 RK_PA5 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001168 };
1169 };
1170
1171 i2c2 {
1172 i2c2_xfer: i2c2-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001173 rockchip,pins = <6 RK_PB1 1 &pcfg_pull_none>,
1174 <6 RK_PB2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001175 };
1176 };
1177
1178 i2c3 {
1179 i2c3_xfer: i2c3-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001180 rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>,
1181 <2 RK_PC1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001182 };
1183 };
1184
1185 i2c4 {
1186 i2c4_xfer: i2c4-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001187 rockchip,pins = <7 RK_PC1 1 &pcfg_pull_none>,
1188 <7 RK_PC2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001189 };
1190 };
1191
1192 i2c5 {
1193 i2c5_xfer: i2c5-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001194 rockchip,pins = <7 RK_PC3 1 &pcfg_pull_none>,
1195 <7 RK_PC4 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001196 };
1197 };
1198
1199 i2s0 {
1200 i2s0_bus: i2s0-bus {
Johan Jonker17044742022-05-02 10:58:27 +02001201 rockchip,pins = <6 RK_PA0 1 &pcfg_pull_none>,
1202 <6 RK_PA1 1 &pcfg_pull_none>,
1203 <6 RK_PA2 1 &pcfg_pull_none>,
1204 <6 RK_PA3 1 &pcfg_pull_none>,
1205 <6 RK_PA4 1 &pcfg_pull_none>,
1206 <6 RK_PB0 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001207 };
1208 };
1209
Jacob Chencfd97942016-03-14 11:20:17 +08001210 lcdc0 {
1211 lcdc0_ctl: lcdc0-ctl {
Johan Jonker17044742022-05-02 10:58:27 +02001212 rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>,
1213 <1 RK_PD1 1 &pcfg_pull_none>,
1214 <1 RK_PD2 1 &pcfg_pull_none>,
1215 <1 RK_PD3 1 &pcfg_pull_none>;
Jacob Chencfd97942016-03-14 11:20:17 +08001216 };
1217 };
1218
Simon Glass344c8372015-08-30 16:55:20 -06001219 sdmmc {
1220 sdmmc_clk: sdmmc-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001221 rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001222 };
1223
1224 sdmmc_cmd: sdmmc-cmd {
Johan Jonker17044742022-05-02 10:58:27 +02001225 rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001226 };
1227
1228 sdmmc_cd: sdmcc-cd {
Johan Jonker17044742022-05-02 10:58:27 +02001229 rockchip,pins = <6 RK_PC6 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001230 };
1231
1232 sdmmc_bus1: sdmmc-bus1 {
Johan Jonker17044742022-05-02 10:58:27 +02001233 rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001234 };
1235
1236 sdmmc_bus4: sdmmc-bus4 {
Johan Jonker17044742022-05-02 10:58:27 +02001237 rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up>,
1238 <6 RK_PC1 1 &pcfg_pull_up>,
1239 <6 RK_PC2 1 &pcfg_pull_up>,
1240 <6 RK_PC3 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001241 };
1242 };
1243
1244 sdio0 {
1245 sdio0_bus1: sdio0-bus1 {
Johan Jonker17044742022-05-02 10:58:27 +02001246 rockchip,pins = <4 RK_PC4 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001247 };
1248
1249 sdio0_bus4: sdio0-bus4 {
Johan Jonker17044742022-05-02 10:58:27 +02001250 rockchip,pins = <4 RK_PC4 1 &pcfg_pull_up>,
1251 <4 RK_PC5 1 &pcfg_pull_up>,
1252 <4 RK_PC6 1 &pcfg_pull_up>,
1253 <4 RK_PC7 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001254 };
1255
1256 sdio0_cmd: sdio0-cmd {
Johan Jonker17044742022-05-02 10:58:27 +02001257 rockchip,pins = <4 RK_PD0 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001258 };
1259
1260 sdio0_clk: sdio0-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001261 rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001262 };
1263
1264 sdio0_cd: sdio0-cd {
Johan Jonker17044742022-05-02 10:58:27 +02001265 rockchip,pins = <4 RK_PD2 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001266 };
1267
1268 sdio0_wp: sdio0-wp {
Johan Jonker17044742022-05-02 10:58:27 +02001269 rockchip,pins = <4 RK_PD3 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001270 };
1271
1272 sdio0_pwr: sdio0-pwr {
Johan Jonker17044742022-05-02 10:58:27 +02001273 rockchip,pins = <4 RK_PD4 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001274 };
1275
1276 sdio0_bkpwr: sdio0-bkpwr {
Johan Jonker17044742022-05-02 10:58:27 +02001277 rockchip,pins = <4 RK_PD5 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001278 };
1279
1280 sdio0_int: sdio0-int {
Johan Jonker17044742022-05-02 10:58:27 +02001281 rockchip,pins = <4 RK_PD6 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001282 };
1283 };
1284
1285 sdio1 {
1286 sdio1_bus1: sdio1-bus1 {
Johan Jonker17044742022-05-02 10:58:27 +02001287 rockchip,pins = <3 RK_PD0 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001288 };
1289
1290 sdio1_bus4: sdio1-bus4 {
Johan Jonker17044742022-05-02 10:58:27 +02001291 rockchip,pins = <3 RK_PD0 4 &pcfg_pull_up>,
1292 <3 RK_PD1 4 &pcfg_pull_up>,
1293 <3 RK_PD2 4 &pcfg_pull_up>,
1294 <3 RK_PD3 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001295 };
1296
1297 sdio1_cd: sdio1-cd {
Johan Jonker17044742022-05-02 10:58:27 +02001298 rockchip,pins = <3 RK_PD4 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001299 };
1300
1301 sdio1_wp: sdio1-wp {
Johan Jonker17044742022-05-02 10:58:27 +02001302 rockchip,pins = <3 RK_PD5 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001303 };
1304
1305 sdio1_bkpwr: sdio1-bkpwr {
Johan Jonker17044742022-05-02 10:58:27 +02001306 rockchip,pins = <3 RK_PD6 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001307 };
1308
1309 sdio1_int: sdio1-int {
Johan Jonker17044742022-05-02 10:58:27 +02001310 rockchip,pins = <3 RK_PD7 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001311 };
1312
1313 sdio1_cmd: sdio1-cmd {
Johan Jonker17044742022-05-02 10:58:27 +02001314 rockchip,pins = <4 RK_PA6 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001315 };
1316
1317 sdio1_clk: sdio1-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001318 rockchip,pins = <4 RK_PA7 4 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001319 };
1320
1321 sdio1_pwr: sdio1-pwr {
Johan Jonker17044742022-05-02 10:58:27 +02001322 rockchip,pins = <4 RK_PB1 4 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001323 };
1324 };
1325
1326 emmc {
1327 emmc_clk: emmc-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001328 rockchip,pins = <3 RK_PC2 2 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001329 };
1330
1331 emmc_cmd: emmc-cmd {
Johan Jonker17044742022-05-02 10:58:27 +02001332 rockchip,pins = <3 RK_PC0 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001333 };
1334
1335 emmc_pwr: emmc-pwr {
Johan Jonker17044742022-05-02 10:58:27 +02001336 rockchip,pins = <3 RK_PB1 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001337 };
1338
1339 emmc_bus1: emmc-bus1 {
Johan Jonker17044742022-05-02 10:58:27 +02001340 rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001341 };
1342
1343 emmc_bus4: emmc-bus4 {
Johan Jonker17044742022-05-02 10:58:27 +02001344 rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>,
1345 <3 RK_PA1 2 &pcfg_pull_up>,
1346 <3 RK_PA2 2 &pcfg_pull_up>,
1347 <3 RK_PA3 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001348 };
1349
1350 emmc_bus8: emmc-bus8 {
Johan Jonker17044742022-05-02 10:58:27 +02001351 rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>,
1352 <3 RK_PA1 2 &pcfg_pull_up>,
1353 <3 RK_PA2 2 &pcfg_pull_up>,
1354 <3 RK_PA3 2 &pcfg_pull_up>,
1355 <3 RK_PA4 2 &pcfg_pull_up>,
1356 <3 RK_PA5 2 &pcfg_pull_up>,
1357 <3 RK_PA6 2 &pcfg_pull_up>,
1358 <3 RK_PA7 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001359 };
1360 };
1361
1362 spi0 {
1363 spi0_clk: spi0-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001364 rockchip,pins = <5 RK_PB4 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001365 };
1366 spi0_cs0: spi0-cs0 {
Johan Jonker17044742022-05-02 10:58:27 +02001367 rockchip,pins = <5 RK_PB5 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001368 };
1369 spi0_tx: spi0-tx {
Johan Jonker17044742022-05-02 10:58:27 +02001370 rockchip,pins = <5 RK_PB6 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001371 };
1372 spi0_rx: spi0-rx {
Johan Jonker17044742022-05-02 10:58:27 +02001373 rockchip,pins = <5 RK_PB7 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001374 };
1375 spi0_cs1: spi0-cs1 {
Johan Jonker17044742022-05-02 10:58:27 +02001376 rockchip,pins = <5 RK_PC0 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001377 };
1378 };
1379 spi1 {
1380 spi1_clk: spi1-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001381 rockchip,pins = <7 RK_PB4 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001382 };
1383 spi1_cs0: spi1-cs0 {
Johan Jonker17044742022-05-02 10:58:27 +02001384 rockchip,pins = <7 RK_PB5 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001385 };
1386 spi1_rx: spi1-rx {
Johan Jonker17044742022-05-02 10:58:27 +02001387 rockchip,pins = <7 RK_PB6 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001388 };
1389 spi1_tx: spi1-tx {
Johan Jonker17044742022-05-02 10:58:27 +02001390 rockchip,pins = <7 RK_PB7 2 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001391 };
1392 };
1393
1394 spi2 {
1395 spi2_cs1: spi2-cs1 {
Johan Jonker17044742022-05-02 10:58:27 +02001396 rockchip,pins = <8 RK_PA3 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001397 };
1398 spi2_clk: spi2-clk {
Johan Jonker17044742022-05-02 10:58:27 +02001399 rockchip,pins = <8 RK_PA6 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001400 };
1401 spi2_cs0: spi2-cs0 {
Johan Jonker17044742022-05-02 10:58:27 +02001402 rockchip,pins = <8 RK_PA7 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001403 };
1404 spi2_rx: spi2-rx {
Johan Jonker17044742022-05-02 10:58:27 +02001405 rockchip,pins = <8 RK_PB0 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001406 };
1407 spi2_tx: spi2-tx {
Johan Jonker17044742022-05-02 10:58:27 +02001408 rockchip,pins = <8 RK_PB1 1 &pcfg_pull_up>;
Simon Glass344c8372015-08-30 16:55:20 -06001409 };
1410 };
1411
1412 uart0 {
1413 uart0_xfer: uart0-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001414 rockchip,pins = <4 RK_PC0 1 &pcfg_pull_up>,
1415 <4 RK_PC1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001416 };
1417
1418 uart0_cts: uart0-cts {
Johan Jonker17044742022-05-02 10:58:27 +02001419 rockchip,pins = <4 RK_PC2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001420 };
1421
1422 uart0_rts: uart0-rts {
Johan Jonker17044742022-05-02 10:58:27 +02001423 rockchip,pins = <4 RK_PC3 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001424 };
1425 };
1426
1427 uart1 {
1428 uart1_xfer: uart1-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001429 rockchip,pins = <5 RK_PB0 1 &pcfg_pull_up>,
1430 <5 RK_PB1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001431 };
1432
1433 uart1_cts: uart1-cts {
Johan Jonker17044742022-05-02 10:58:27 +02001434 rockchip,pins = <5 RK_PB2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001435 };
1436
1437 uart1_rts: uart1-rts {
Johan Jonker17044742022-05-02 10:58:27 +02001438 rockchip,pins = <5 RK_PB3 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001439 };
1440 };
1441
1442 uart2 {
1443 uart2_xfer: uart2-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001444 rockchip,pins = <7 RK_PC6 1 &pcfg_pull_up>,
1445 <7 RK_PC7 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001446 };
1447 /* no rts / cts for uart2 */
1448 };
1449
1450 uart3 {
1451 uart3_xfer: uart3-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001452 rockchip,pins = <7 RK_PA7 1 &pcfg_pull_up>,
1453 <7 RK_PB0 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001454 };
1455
1456 uart3_cts: uart3-cts {
Johan Jonker17044742022-05-02 10:58:27 +02001457 rockchip,pins = <7 RK_PB1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001458 };
1459
1460 uart3_rts: uart3-rts {
Johan Jonker17044742022-05-02 10:58:27 +02001461 rockchip,pins = <7 RK_PB2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001462 };
1463 };
1464
1465 uart4 {
1466 uart4_xfer: uart4-xfer {
Johan Jonker17044742022-05-02 10:58:27 +02001467 rockchip,pins = <5 RK_PB4 3 &pcfg_pull_up>,
1468 <5 RK_PB5 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001469 };
1470
1471 uart4_cts: uart4-cts {
Johan Jonker17044742022-05-02 10:58:27 +02001472 rockchip,pins = <5 RK_PB6 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001473 };
1474
1475 uart4_rts: uart4-rts {
Johan Jonker17044742022-05-02 10:58:27 +02001476 rockchip,pins = <5 RK_PB7 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001477 };
1478 };
1479
1480 tsadc {
1481 otp_out: otp-out {
Johan Jonker17044742022-05-02 10:58:27 +02001482 rockchip,pins = <0 RK_PB2 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001483 };
1484 };
1485
1486 pwm0 {
1487 pwm0_pin: pwm0-pin {
Johan Jonker17044742022-05-02 10:58:27 +02001488 rockchip,pins = <7 RK_PA0 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001489 };
1490 };
1491
1492 pwm1 {
1493 pwm1_pin: pwm1-pin {
Johan Jonker17044742022-05-02 10:58:27 +02001494 rockchip,pins = <7 RK_PA1 1 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001495 };
1496 };
1497
1498 pwm2 {
1499 pwm2_pin: pwm2-pin {
Johan Jonker17044742022-05-02 10:58:27 +02001500 rockchip,pins = <7 RK_PC6 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001501 };
1502 };
1503
1504 pwm3 {
1505 pwm3_pin: pwm3-pin {
Johan Jonker17044742022-05-02 10:58:27 +02001506 rockchip,pins = <7 RK_PC7 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001507 };
1508 };
1509
1510 gmac {
1511 rgmii_pins: rgmii-pins {
Johan Jonker17044742022-05-02 10:58:27 +02001512 rockchip,pins = <3 RK_PD6 3 &pcfg_pull_none>,
1513 <3 RK_PD7 3 &pcfg_pull_none>,
1514 <3 RK_PD2 3 &pcfg_pull_none>,
1515 <3 RK_PD3 3 &pcfg_pull_none>,
1516 <3 RK_PD4 3 &pcfg_pull_none_12ma>,
1517 <3 RK_PD5 3 &pcfg_pull_none_12ma>,
1518 <3 RK_PD0 3 &pcfg_pull_none_12ma>,
1519 <3 RK_PD1 3 &pcfg_pull_none_12ma>,
1520 <4 RK_PA0 3 &pcfg_pull_none>,
1521 <4 RK_PA5 3 &pcfg_pull_none>,
1522 <4 RK_PA6 3 &pcfg_pull_none>,
1523 <4 RK_PB1 3 &pcfg_pull_none_12ma>,
1524 <4 RK_PA4 3 &pcfg_pull_none_12ma>,
1525 <4 RK_PA1 3 &pcfg_pull_none>,
1526 <4 RK_PA3 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001527 };
1528
1529 rmii_pins: rmii-pins {
Johan Jonker17044742022-05-02 10:58:27 +02001530 rockchip,pins = <3 RK_PD6 3 &pcfg_pull_none>,
1531 <3 RK_PD7 3 &pcfg_pull_none>,
1532 <3 RK_PD4 3 &pcfg_pull_none>,
1533 <3 RK_PD5 3 &pcfg_pull_none>,
1534 <4 RK_PA0 3 &pcfg_pull_none>,
1535 <4 RK_PA5 3 &pcfg_pull_none>,
1536 <4 RK_PA4 3 &pcfg_pull_none>,
1537 <4 RK_PA1 3 &pcfg_pull_none>,
1538 <4 RK_PA2 3 &pcfg_pull_none>,
1539 <4 RK_PA3 3 &pcfg_pull_none>;
Simon Glass344c8372015-08-30 16:55:20 -06001540 };
1541 };
Simon Glass6406f452016-01-21 19:45:21 -07001542
1543 spdif {
1544 spdif_tx: spdif-tx {
Johan Jonker17044742022-05-02 10:58:27 +02001545 rockchip,pins = <6 RK_PB3 1 &pcfg_pull_none>;
Simon Glass6406f452016-01-21 19:45:21 -07001546 };
1547 };
Simon Glass344c8372015-08-30 16:55:20 -06001548 };
1549
1550 power: power-controller {
1551 compatible = "rockchip,rk3288-power-controller";
1552 #power-domain-cells = <1>;
1553 rockchip,pmu = <&pmu>;
1554 #address-cells = <1>;
1555 #size-cells = <0>;
1556
1557 pd_gpu {
1558 reg = <RK3288_PD_GPU>;
1559 clocks = <&cru ACLK_GPU>;
1560 };
1561
1562 pd_hevc {
1563 reg = <RK3288_PD_HEVC>;
1564 clocks = <&cru ACLK_HEVC>,
1565 <&cru SCLK_HEVC_CABAC>,
1566 <&cru SCLK_HEVC_CORE>,
1567 <&cru HCLK_HEVC>;
1568 };
1569
1570 pd_vio {
1571 reg = <RK3288_PD_VIO>;
1572 clocks = <&cru ACLK_IEP>,
1573 <&cru ACLK_ISP>,
1574 <&cru ACLK_RGA>,
1575 <&cru ACLK_VIP>,
1576 <&cru ACLK_VOP0>,
1577 <&cru ACLK_VOP1>,
1578 <&cru DCLK_VOP0>,
1579 <&cru DCLK_VOP1>,
1580 <&cru HCLK_IEP>,
1581 <&cru HCLK_ISP>,
1582 <&cru HCLK_RGA>,
1583 <&cru HCLK_VIP>,
1584 <&cru HCLK_VOP0>,
1585 <&cru HCLK_VOP1>,
1586 <&cru PCLK_EDP_CTRL>,
1587 <&cru PCLK_HDMI_CTRL>,
1588 <&cru PCLK_LVDS_PHY>,
1589 <&cru PCLK_MIPI_CSI>,
1590 <&cru PCLK_MIPI_DSI0>,
1591 <&cru PCLK_MIPI_DSI1>,
1592 <&cru SCLK_EDP_24M>,
1593 <&cru SCLK_EDP>,
1594 <&cru SCLK_HDMI_CEC>,
1595 <&cru SCLK_HDMI_HDCP>,
1596 <&cru SCLK_ISP_JPE>,
1597 <&cru SCLK_ISP>,
1598 <&cru SCLK_RGA>;
1599 };
1600
1601 pd_video {
1602 reg = <RK3288_PD_VIDEO>;
1603 clocks = <&cru ACLK_VCODEC>,
1604 <&cru HCLK_VCODEC>;
1605 };
1606 };
1607};