Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * (C) Copyright 2017 Rockchip Electronics Co., Ltd
4 */
5
6#include <dt-bindings/clock/rk3128-cru.h>
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11#include <dt-bindings/power/rk3128-power.h>
12
13/ {
14 compatible = "rockchip,rk3128";
15 interrupt-parent = <&gic>;
16 #address-cells = <1>;
17 #size-cells = <1>;
18
19 aliases {
20 gpio0 = &gpio0;
21 gpio1 = &gpio1;
22 gpio2 = &gpio2;
23 gpio3 = &gpio3;
24 i2c0 = &i2c0;
25 i2c1 = &i2c1;
26 i2c2 = &i2c2;
27 i2c3 = &i2c3;
28 serial0 = &uart0;
29 serial1 = &uart1;
30 serial2 = &uart2;
31 };
32
33 arm-pmu {
34 compatible = "arm,cortex-a7-pmu";
35 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
36 <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
39 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
40 };
41
42 cpus {
43 #address-cells = <1>;
44 #size-cells = <0>;
45 enable-method = "rockchip,rk3036-smp";
46
47 cpu0: cpu@f00 {
48 device_type = "cpu";
49 compatible = "arm,cortex-a7";
50 reg = <0xf00>;
51 clock-latency = <40000>;
52 clocks = <&cru ARMCLK>;
53 resets = <&cru SRST_CORE0>;
54 operating-points-v2 = <&cpu_opp_table>;
55 #cooling-cells = <2>; /* min followed by max */
56 };
57
58 cpu1: cpu@f01 {
59 device_type = "cpu";
60 compatible = "arm,cortex-a7";
61 reg = <0xf01>;
62 resets = <&cru SRST_CORE1>;
63 operating-points-v2 = <&cpu_opp_table>;
64 };
65
66 cpu2: cpu@f02 {
67 device_type = "cpu";
68 compatible = "arm,cortex-a7";
69 reg = <0xf02>;
70 resets = <&cru SRST_CORE2>;
71 operating-points-v2 = <&cpu_opp_table>;
72 };
73
74 cpu3: cpu@f03 {
75 device_type = "cpu";
76 compatible = "arm,cortex-a7";
77 reg = <0xf03>;
78 resets = <&cru SRST_CORE3>;
79 operating-points-v2 = <&cpu_opp_table>;
80 };
81 };
82
83 cpu_opp_table: opp-table-0 {
84 compatible = "operating-points-v2";
85 opp-shared;
86
87 opp-216000000 {
88 opp-hz = /bits/ 64 <216000000>;
89 opp-microvolt = <950000 950000 1325000>;
90 };
91 opp-408000000 {
92 opp-hz = /bits/ 64 <408000000>;
93 opp-microvolt = <950000 950000 1325000>;
94 };
95 opp-600000000 {
96 opp-hz = /bits/ 64 <600000000>;
97 opp-microvolt = <950000 950000 1325000>;
98 };
99 opp-696000000 {
100 opp-hz = /bits/ 64 <696000000>;
101 opp-microvolt = <975000 975000 1325000>;
102 };
103 opp-816000000 {
104 opp-hz = /bits/ 64 <816000000>;
105 opp-microvolt = <1075000 1075000 1325000>;
106 opp-suspend;
107 };
108 opp-1008000000 {
109 opp-hz = /bits/ 64 <1008000000>;
110 opp-microvolt = <1200000 1200000 1325000>;
111 };
112 opp-1200000000 {
113 opp-hz = /bits/ 64 <1200000000>;
114 opp-microvolt = <1325000 1325000 1325000>;
115 };
116 };
117
118 display_subsystem: display-subsystem {
119 compatible = "rockchip,display-subsystem";
120 ports = <&vop_out>;
121 status = "disabled";
122 };
123
124 gpu_opp_table: opp-table-1 {
125 compatible = "operating-points-v2";
126
127 opp-200000000 {
128 opp-hz = /bits/ 64 <200000000>;
129 opp-microvolt = <975000 975000 1250000>;
130 };
131 opp-300000000 {
132 opp-hz = /bits/ 64 <300000000>;
133 opp-microvolt = <1050000 1050000 1250000>;
134 };
135 opp-400000000 {
136 opp-hz = /bits/ 64 <400000000>;
137 opp-microvolt = <1150000 1150000 1250000>;
138 };
139 opp-480000000 {
140 opp-hz = /bits/ 64 <480000000>;
141 opp-microvolt = <1250000 1250000 1250000>;
142 };
143 };
144
145 timer {
146 compatible = "arm,armv7-timer";
147 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
148 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
149 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
150 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
151 arm,cpu-registers-not-fw-configured;
152 clock-frequency = <24000000>;
153 };
154
155 xin24m: oscillator {
156 compatible = "fixed-clock";
157 clock-frequency = <24000000>;
158 clock-output-names = "xin24m";
159 #clock-cells = <0>;
160 };
161
162 imem: sram@10080000 {
163 compatible = "mmio-sram";
164 reg = <0x10080000 0x2000>;
165 #address-cells = <1>;
166 #size-cells = <1>;
167 ranges = <0 0x10080000 0x2000>;
168
169 smp-sram@0 {
170 compatible = "rockchip,rk3066-smp-sram";
171 reg = <0x00 0x10>;
172 };
173 };
174
175 gpu: gpu@10090000 {
176 compatible = "rockchip,rk3128-mali", "arm,mali-400";
177 reg = <0x10090000 0x10000>;
178 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
184 interrupt-names = "gp",
185 "gpmmu",
186 "pp0",
187 "ppmmu0",
188 "pp1",
189 "ppmmu1";
190 clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
191 clock-names = "bus", "core";
192 operating-points-v2 = <&gpu_opp_table>;
193 resets = <&cru SRST_GPU>;
194 power-domains = <&power RK3128_PD_GPU>;
195 status = "disabled";
196 };
197
198 pmu: syscon@100a0000 {
199 compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd";
200 reg = <0x100a0000 0x1000>;
201
202 power: power-controller {
203 compatible = "rockchip,rk3128-power-controller";
204 #power-domain-cells = <1>;
205 #address-cells = <1>;
206 #size-cells = <0>;
207
208 power-domain@RK3128_PD_VIO {
209 reg = <RK3128_PD_VIO>;
210 clocks = <&cru ACLK_CIF>,
211 <&cru HCLK_CIF>,
212 <&cru DCLK_EBC>,
213 <&cru HCLK_EBC>,
214 <&cru ACLK_IEP>,
215 <&cru HCLK_IEP>,
216 <&cru ACLK_LCDC0>,
217 <&cru HCLK_LCDC0>,
218 <&cru PCLK_MIPI>,
219 <&cru PCLK_MIPIPHY>,
220 <&cru SCLK_MIPI_24M>,
221 <&cru ACLK_RGA>,
222 <&cru HCLK_RGA>,
223 <&cru ACLK_VIO0>,
224 <&cru ACLK_VIO1>,
225 <&cru HCLK_VIO>,
226 <&cru HCLK_VIO_H2P>,
227 <&cru DCLK_VOP>,
228 <&cru SCLK_VOP>;
229 pm_qos = <&qos_ebc>,
230 <&qos_iep>,
231 <&qos_lcdc>,
232 <&qos_rga>,
233 <&qos_vip>;
234 #power-domain-cells = <0>;
235 };
236
237 power-domain@RK3128_PD_VIDEO {
238 reg = <RK3128_PD_VIDEO>;
239 clocks = <&cru ACLK_VDPU>,
240 <&cru HCLK_VDPU>,
241 <&cru ACLK_VEPU>,
242 <&cru HCLK_VEPU>,
243 <&cru SCLK_HEVC_CORE>;
244 pm_qos = <&qos_vpu>;
245 #power-domain-cells = <0>;
246 };
247
248 power-domain@RK3128_PD_GPU {
249 reg = <RK3128_PD_GPU>;
250 clocks = <&cru ACLK_GPU>;
251 pm_qos = <&qos_gpu>;
252 #power-domain-cells = <0>;
253 };
254 };
255 };
256
257 vpu: video-codec@10106000 {
258 compatible = "rockchip,rk3128-vpu", "rockchip,rk3066-vpu";
259 reg = <0x10106000 0x800>;
260 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
261 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
262 interrupt-names = "vepu", "vdpu";
263 clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>,
264 <&cru ACLK_VEPU>, <&cru HCLK_VEPU>;
265 clock-names = "aclk_vdpu", "hclk_vdpu",
266 "aclk_vepu", "hclk_vepu";
267 iommus = <&vpu_mmu>;
268 power-domains = <&power RK3128_PD_VIDEO>;
269 };
270
271 vpu_mmu: iommu@10106800 {
272 compatible = "rockchip,iommu";
273 reg = <0x10106800 0x100>;
274 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
275 clocks = <&cru ACLK_VEPU>, <&cru HCLK_VDPU>;
276 clock-names = "aclk", "iface";
277 power-domains = <&power RK3128_PD_VIDEO>;
278 #iommu-cells = <0>;
279 };
280
281 vop: vop@1010e000 {
282 compatible = "rockchip,rk3126-vop";
283 reg = <0x1010e000 0x300>;
284 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
285 clocks = <&cru ACLK_LCDC0>, <&cru DCLK_VOP>,
286 <&cru HCLK_LCDC0>;
287 clock-names = "aclk_vop", "dclk_vop",
288 "hclk_vop";
289 resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>,
290 <&cru SRST_VOP_D>;
291 reset-names = "axi", "ahb",
292 "dclk";
293 power-domains = <&power RK3128_PD_VIO>;
294 status = "disabled";
295
296 vop_out: port {
297 #address-cells = <1>;
298 #size-cells = <0>;
299
300 vop_out_hdmi: endpoint@0 {
301 reg = <0>;
302 remote-endpoint = <&hdmi_in_vop>;
303 };
304
305 vop_out_dsi: endpoint@1 {
306 reg = <1>;
307 remote-endpoint = <&dsi_in_vop>;
308 };
309 };
310 };
311
312 dsi: dsi@10110000 {
313 compatible = "rockchip,rk3128-mipi-dsi", "snps,dw-mipi-dsi";
314 reg = <0x10110000 0x4000>;
315 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
316 clocks = <&cru PCLK_MIPI>;
317 clock-names = "pclk";
318 phys = <&dphy>;
319 phy-names = "dphy";
320 power-domains = <&power RK3128_PD_VIO>;
321 resets = <&cru SRST_VIO_MIPI_DSI>;
322 reset-names = "apb";
323 rockchip,grf = <&grf>;
324 status = "disabled";
325
326 ports {
327 #address-cells = <1>;
328 #size-cells = <0>;
329
330 dsi_in: port@0 {
331 reg = <0>;
332
333 dsi_in_vop: endpoint {
334 remote-endpoint = <&vop_out_dsi>;
335 };
336 };
337
338 dsi_out: port@1 {
339 reg = <1>;
340 };
341 };
342 };
343
344 qos_gpu: qos@1012d000 {
345 compatible = "rockchip,rk3128-qos", "syscon";
346 reg = <0x1012d000 0x20>;
347 };
348
349 qos_vpu: qos@1012e000 {
350 compatible = "rockchip,rk3128-qos", "syscon";
351 reg = <0x1012e000 0x20>;
352 };
353
354 qos_rga: qos@1012f000 {
355 compatible = "rockchip,rk3128-qos", "syscon";
356 reg = <0x1012f000 0x20>;
357 };
358
359 qos_ebc: qos@1012f080 {
360 compatible = "rockchip,rk3128-qos", "syscon";
361 reg = <0x1012f080 0x20>;
362 };
363
364 qos_iep: qos@1012f100 {
365 compatible = "rockchip,rk3128-qos", "syscon";
366 reg = <0x1012f100 0x20>;
367 };
368
369 qos_lcdc: qos@1012f180 {
370 compatible = "rockchip,rk3128-qos", "syscon";
371 reg = <0x1012f180 0x20>;
372 };
373
374 qos_vip: qos@1012f200 {
375 compatible = "rockchip,rk3128-qos", "syscon";
376 reg = <0x1012f200 0x20>;
377 };
378
379 gic: interrupt-controller@10139000 {
380 compatible = "arm,cortex-a7-gic";
381 reg = <0x10139000 0x1000>,
382 <0x1013a000 0x1000>,
383 <0x1013c000 0x2000>,
384 <0x1013e000 0x2000>;
385 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
386 interrupt-controller;
387 #interrupt-cells = <3>;
388 #address-cells = <0>;
389 };
390
391 usb_otg: usb@10180000 {
392 compatible = "rockchip,rk3128-usb", "rockchip,rk3066-usb", "snps,dwc2";
393 reg = <0x10180000 0x40000>;
394 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
395 clocks = <&cru HCLK_OTG>;
396 clock-names = "otg";
397 dr_mode = "otg";
398 g-np-tx-fifo-size = <16>;
399 g-rx-fifo-size = <280>;
400 g-tx-fifo-size = <256 128 128 64 32 16>;
401 phys = <&usb2phy_otg>;
402 phy-names = "usb2-phy";
403 status = "disabled";
404 };
405
406 usb_host_ehci: usb@101c0000 {
407 compatible = "generic-ehci";
408 reg = <0x101c0000 0x20000>;
409 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
410 clocks = <&cru HCLK_HOST2>;
411 phys = <&usb2phy_host>;
412 phy-names = "usb";
413 status = "disabled";
414 };
415
416 usb_host_ohci: usb@101e0000 {
417 compatible = "generic-ohci";
418 reg = <0x101e0000 0x20000>;
419 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
420 clocks = <&cru HCLK_HOST2>;
421 phys = <&usb2phy_host>;
422 phy-names = "usb";
423 status = "disabled";
424 };
425
426 i2s_8ch: i2s@10200000 {
427 compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s";
428 reg = <0x10200000 0x1000>;
429 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
430 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S_8CH>;
431 clock-names = "i2s_clk", "i2s_hclk";
432 dmas = <&pdma 14>, <&pdma 15>;
433 dma-names = "tx", "rx";
434 #sound-dai-cells = <0>;
435 status = "disabled";
436 };
437
438 spdif: spdif@10204000 {
439 compatible = "rockchip,rk3128-spdif", "rockchip,rk3066-spdif";
440 reg = <0x10204000 0x1000>;
441 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
442 clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
443 clock-names = "mclk", "hclk";
444 dmas = <&pdma 13>;
445 dma-names = "tx";
446 pinctrl-names = "default";
447 pinctrl-0 = <&spdif_tx>;
448 #sound-dai-cells = <0>;
449 status = "disabled";
450 };
451
452 sfc: spi@1020c000 {
453 compatible = "rockchip,sfc";
454 reg = <0x1020c000 0x8000>;
455 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
456 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
457 clock-names = "clk_sfc", "hclk_sfc";
458 status = "disabled";
459 };
460
461 sdmmc: mmc@10214000 {
462 compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
463 reg = <0x10214000 0x4000>;
464 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
465 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
466 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
467 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
468 dmas = <&pdma 10>;
469 dma-names = "rx-tx";
470 fifo-depth = <256>;
471 max-frequency = <150000000>;
472 resets = <&cru SRST_SDMMC>;
473 reset-names = "reset";
474 status = "disabled";
475 };
476
477 sdio: mmc@10218000 {
478 compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
479 reg = <0x10218000 0x4000>;
480 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
481 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
482 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
483 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
484 dmas = <&pdma 11>;
485 dma-names = "rx-tx";
486 fifo-depth = <256>;
487 max-frequency = <150000000>;
488 resets = <&cru SRST_SDIO>;
489 reset-names = "reset";
490 status = "disabled";
491 };
492
493 emmc: mmc@1021c000 {
494 compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
495 reg = <0x1021c000 0x4000>;
496 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
497 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
498 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
499 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
500 dmas = <&pdma 12>;
501 dma-names = "rx-tx";
502 fifo-depth = <256>;
503 max-frequency = <150000000>;
504 resets = <&cru SRST_EMMC>;
505 reset-names = "reset";
506 status = "disabled";
507 };
508
509 i2s_2ch: i2s@10220000 {
510 compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s";
511 reg = <0x10220000 0x1000>;
512 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
513 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S_2CH>;
514 clock-names = "i2s_clk", "i2s_hclk";
515 dmas = <&pdma 0>, <&pdma 1>;
516 dma-names = "tx", "rx";
517 rockchip,playback-channels = <2>;
518 pinctrl-names = "default";
519 pinctrl-0 = <&i2s_bus>;
520 #sound-dai-cells = <0>;
521 status = "disabled";
522 };
523
524 nfc: nand-controller@10500000 {
525 compatible = "rockchip,rk3128-nfc", "rockchip,rk2928-nfc";
526 reg = <0x10500000 0x4000>;
527 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
528 clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
529 clock-names = "ahb", "nfc";
530 pinctrl-names = "default";
531 pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_cs0
532 &flash_dqs &flash_rdn &flash_rdy &flash_wrn>;
533 status = "disabled";
534 };
535
536 cru: clock-controller@20000000 {
537 compatible = "rockchip,rk3128-cru";
538 reg = <0x20000000 0x1000>;
539 clocks = <&xin24m>;
540 clock-names = "xin24m";
541 rockchip,grf = <&grf>;
542 #clock-cells = <1>;
543 #reset-cells = <1>;
544 assigned-clocks = <&cru PLL_GPLL>;
545 assigned-clock-rates = <594000000>;
546 };
547
548 grf: syscon@20008000 {
549 compatible = "rockchip,rk3128-grf", "syscon", "simple-mfd";
550 reg = <0x20008000 0x1000>;
551 #address-cells = <1>;
552 #size-cells = <1>;
553
554 usb2phy: usb2phy@17c {
555 compatible = "rockchip,rk3128-usb2phy";
556 reg = <0x017c 0x0c>;
557 clocks = <&cru SCLK_OTGPHY0>;
558 clock-names = "phyclk";
559 clock-output-names = "usb480m_phy";
560 assigned-clocks = <&cru SCLK_USB480M>;
561 assigned-clock-parents = <&usb2phy>;
562 #clock-cells = <0>;
563 status = "disabled";
564
565 usb2phy_host: host-port {
566 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
567 interrupt-names = "linestate";
568 #phy-cells = <0>;
569 status = "disabled";
570 };
571
572 usb2phy_otg: otg-port {
573 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
574 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
575 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
576 interrupt-names = "otg-bvalid", "otg-id",
577 "linestate";
578 #phy-cells = <0>;
579 status = "disabled";
580 };
581 };
582 };
583
584 hdmi: hdmi@20034000 {
585 compatible = "rockchip,rk3128-inno-hdmi";
586 reg = <0x20034000 0x4000>;
587 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
588 clocks = <&cru PCLK_HDMI>, <&cru DCLK_VOP>;
589 clock-names = "pclk", "ref";
590 pinctrl-names = "default";
591 pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
592 power-domains = <&power RK3128_PD_VIO>;
593 #sound-dai-cells = <0>;
594 status = "disabled";
595
596 ports {
597 #address-cells = <1>;
598 #size-cells = <0>;
599
600 hdmi_in: port@0 {
601 reg = <0>;
602 hdmi_in_vop: endpoint {
603 remote-endpoint = <&vop_out_hdmi>;
604 };
605 };
606
607 hdmi_out: port@1 {
608 reg = <1>;
609 };
610 };
611 };
612
613 dphy: phy@20038000 {
614 compatible = "rockchip,rk3128-dsi-dphy";
615 reg = <0x20038000 0x4000>;
616 clocks = <&cru SCLK_MIPI_24M>, <&cru PCLK_MIPIPHY>;
617 clock-names = "ref", "pclk";
618 #phy-cells = <0>;
619 power-domains = <&power RK3128_PD_VIO>;
620 resets = <&cru SRST_MIPIPHY_P>;
621 reset-names = "apb";
622 status = "disabled";
623 };
624
625 timer0: timer@20044000 {
626 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
627 reg = <0x20044000 0x20>;
628 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
629 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER0>;
630 clock-names = "pclk", "timer";
631 };
632
633 timer1: timer@20044020 {
634 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
635 reg = <0x20044020 0x20>;
636 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
637 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER1>;
638 clock-names = "pclk", "timer";
639 };
640
641 timer2: timer@20044040 {
642 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
643 reg = <0x20044040 0x20>;
644 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
645 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER2>;
646 clock-names = "pclk", "timer";
647 };
648
649 timer3: timer@20044060 {
650 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
651 reg = <0x20044060 0x20>;
652 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
653 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER3>;
654 clock-names = "pclk", "timer";
655 };
656
657 timer4: timer@20044080 {
658 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
659 reg = <0x20044080 0x20>;
660 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
661 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER4>;
662 clock-names = "pclk", "timer";
663 };
664
665 timer5: timer@200440a0 {
666 compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer";
667 reg = <0x200440a0 0x20>;
668 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
669 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER5>;
670 clock-names = "pclk", "timer";
671 };
672
673 watchdog: watchdog@2004c000 {
674 compatible = "rockchip,rk3128-wdt", "snps,dw-wdt";
675 reg = <0x2004c000 0x100>;
676 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
677 clocks = <&cru PCLK_WDT>;
678 status = "disabled";
679 };
680
681 pwm0: pwm@20050000 {
682 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
683 reg = <0x20050000 0x10>;
684 clocks = <&cru PCLK_PWM>;
685 pinctrl-names = "default";
686 pinctrl-0 = <&pwm0_pin>;
687 #pwm-cells = <3>;
688 status = "disabled";
689 };
690
691 pwm1: pwm@20050010 {
692 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
693 reg = <0x20050010 0x10>;
694 clocks = <&cru PCLK_PWM>;
695 pinctrl-names = "default";
696 pinctrl-0 = <&pwm1_pin>;
697 #pwm-cells = <3>;
698 status = "disabled";
699 };
700
701 pwm2: pwm@20050020 {
702 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
703 reg = <0x20050020 0x10>;
704 clocks = <&cru PCLK_PWM>;
705 pinctrl-names = "default";
706 pinctrl-0 = <&pwm2_pin>;
707 #pwm-cells = <3>;
708 status = "disabled";
709 };
710
711 pwm3: pwm@20050030 {
712 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
713 reg = <0x20050030 0x10>;
714 clocks = <&cru PCLK_PWM>;
715 pinctrl-names = "default";
716 pinctrl-0 = <&pwm3_pin>;
717 #pwm-cells = <3>;
718 status = "disabled";
719 };
720
721 i2c1: i2c@20056000 {
722 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
723 reg = <0x20056000 0x1000>;
724 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
725 clock-names = "i2c";
726 clocks = <&cru PCLK_I2C1>;
727 pinctrl-names = "default";
728 pinctrl-0 = <&i2c1_xfer>;
729 #address-cells = <1>;
730 #size-cells = <0>;
731 status = "disabled";
732 };
733
734 i2c2: i2c@2005a000 {
735 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
736 reg = <0x2005a000 0x1000>;
737 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
738 clock-names = "i2c";
739 clocks = <&cru PCLK_I2C2>;
740 pinctrl-names = "default";
741 pinctrl-0 = <&i2c2_xfer>;
742 #address-cells = <1>;
743 #size-cells = <0>;
744 status = "disabled";
745 };
746
747 i2c3: i2c@2005e000 {
748 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
749 reg = <0x2005e000 0x1000>;
750 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
751 clock-names = "i2c";
752 clocks = <&cru PCLK_I2C3>;
753 pinctrl-names = "default";
754 pinctrl-0 = <&i2c3_xfer>;
755 #address-cells = <1>;
756 #size-cells = <0>;
757 status = "disabled";
758 };
759
760 uart0: serial@20060000 {
761 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
762 reg = <0x20060000 0x100>;
763 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
764 clock-frequency = <24000000>;
765 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
766 clock-names = "baudclk", "apb_pclk";
767 dmas = <&pdma 2>, <&pdma 3>;
768 dma-names = "tx", "rx";
769 pinctrl-names = "default";
770 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
771 reg-io-width = <4>;
772 reg-shift = <2>;
773 status = "disabled";
774 };
775
776 uart1: serial@20064000 {
777 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
778 reg = <0x20064000 0x100>;
779 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
780 clock-frequency = <24000000>;
781 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
782 clock-names = "baudclk", "apb_pclk";
783 dmas = <&pdma 4>, <&pdma 5>;
784 dma-names = "tx", "rx";
785 pinctrl-names = "default";
786 pinctrl-0 = <&uart1_xfer>;
787 reg-io-width = <4>;
788 reg-shift = <2>;
789 status = "disabled";
790 };
791
792 uart2: serial@20068000 {
793 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
794 reg = <0x20068000 0x100>;
795 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
796 clock-frequency = <24000000>;
797 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
798 clock-names = "baudclk", "apb_pclk";
799 dmas = <&pdma 6>, <&pdma 7>;
800 dma-names = "tx", "rx";
801 pinctrl-names = "default";
802 pinctrl-0 = <&uart2_xfer>;
803 reg-io-width = <4>;
804 reg-shift = <2>;
805 status = "disabled";
806 };
807
808 saradc: saradc@2006c000 {
809 compatible = "rockchip,saradc";
810 reg = <0x2006c000 0x100>;
811 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
812 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
813 clock-names = "saradc", "apb_pclk";
814 resets = <&cru SRST_SARADC>;
815 reset-names = "saradc-apb";
816 #io-channel-cells = <1>;
817 status = "disabled";
818 };
819
820 i2c0: i2c@20072000 {
821 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
822 reg = <0x20072000 0x1000>;
823 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
824 clock-names = "i2c";
825 clocks = <&cru PCLK_I2C0>;
826 pinctrl-names = "default";
827 pinctrl-0 = <&i2c0_xfer>;
828 #address-cells = <1>;
829 #size-cells = <0>;
830 status = "disabled";
831 };
832
833 spi0: spi@20074000 {
834 compatible = "rockchip,rk3128-spi", "rockchip,rk3066-spi";
835 reg = <0x20074000 0x1000>;
836 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
837 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
838 clock-names = "spiclk", "apb_pclk";
839 dmas = <&pdma 8>, <&pdma 9>;
840 dma-names = "tx", "rx";
841 pinctrl-names = "default";
842 pinctrl-0 = <&spi0_tx &spi0_rx &spi0_clk &spi0_cs0 &spi0_cs1>;
843 #address-cells = <1>;
844 #size-cells = <0>;
845 status = "disabled";
846 };
847
848 pdma: dma-controller@20078000 {
849 compatible = "arm,pl330", "arm,primecell";
850 reg = <0x20078000 0x4000>;
851 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
852 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
853 arm,pl330-broken-no-flushp;
854 arm,pl330-periph-burst;
855 clocks = <&cru ACLK_DMAC>;
856 clock-names = "apb_pclk";
857 #dma-cells = <1>;
858 };
859
860 gmac: ethernet@2008c000 {
861 compatible = "rockchip,rk3128-gmac";
862 reg = <0x2008c000 0x4000>;
863 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
864 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
865 interrupt-names = "macirq", "eth_wake_irq";
866 clocks = <&cru SCLK_MAC>,
867 <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
868 <&cru SCLK_MAC_REF>, <&cru SCLK_MAC_REFOUT>,
869 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
870 clock-names = "stmmaceth",
871 "mac_clk_rx", "mac_clk_tx",
872 "clk_mac_ref", "clk_mac_refout",
873 "aclk_mac", "pclk_mac";
874 resets = <&cru SRST_GMAC>;
875 reset-names = "stmmaceth";
876 rockchip,grf = <&grf>;
877 rx-fifo-depth = <4096>;
878 tx-fifo-depth = <2048>;
879 status = "disabled";
880
881 mdio: mdio {
882 compatible = "snps,dwmac-mdio";
883 #address-cells = <0x1>;
884 #size-cells = <0x0>;
885 };
886 };
887
888 pinctrl: pinctrl {
889 compatible = "rockchip,rk3128-pinctrl";
890 rockchip,grf = <&grf>;
891 #address-cells = <1>;
892 #size-cells = <1>;
893 ranges;
894
895 gpio0: gpio@2007c000 {
896 compatible = "rockchip,gpio-bank";
897 reg = <0x2007c000 0x100>;
898 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
899 clocks = <&cru PCLK_GPIO0>;
900 gpio-controller;
901 #gpio-cells = <2>;
902 interrupt-controller;
903 #interrupt-cells = <2>;
904 };
905
906 gpio1: gpio@20080000 {
907 compatible = "rockchip,gpio-bank";
908 reg = <0x20080000 0x100>;
909 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
910 clocks = <&cru PCLK_GPIO1>;
911 gpio-controller;
912 #gpio-cells = <2>;
913 interrupt-controller;
914 #interrupt-cells = <2>;
915 };
916
917 gpio2: gpio@20084000 {
918 compatible = "rockchip,gpio-bank";
919 reg = <0x20084000 0x100>;
920 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
921 clocks = <&cru PCLK_GPIO2>;
922 gpio-controller;
923 #gpio-cells = <2>;
924 interrupt-controller;
925 #interrupt-cells = <2>;
926 };
927
928 gpio3: gpio@20088000 {
929 compatible = "rockchip,gpio-bank";
930 reg = <0x20088000 0x100>;
931 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
932 clocks = <&cru PCLK_GPIO3>;
933 gpio-controller;
934 #gpio-cells = <2>;
935 interrupt-controller;
936 #interrupt-cells = <2>;
937 };
938
939 pcfg_pull_default: pcfg-pull-default {
940 bias-pull-pin-default;
941 };
942
943 pcfg_pull_none: pcfg-pull-none {
944 bias-disable;
945 };
946
947 emmc {
948 emmc_clk: emmc-clk {
949 rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>;
950 };
951
952 emmc_cmd: emmc-cmd {
953 rockchip,pins = <1 RK_PC6 2 &pcfg_pull_default>;
954 };
955
956 emmc_cmd1: emmc-cmd1 {
957 rockchip,pins = <2 RK_PA4 2 &pcfg_pull_default>;
958 };
959
960 emmc_pwr: emmc-pwr {
961 rockchip,pins = <2 RK_PA5 2 &pcfg_pull_default>;
962 };
963
964 emmc_bus1: emmc-bus1 {
965 rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>;
966 };
967
968 emmc_bus4: emmc-bus4 {
969 rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>,
970 <1 RK_PD1 2 &pcfg_pull_default>,
971 <1 RK_PD2 2 &pcfg_pull_default>,
972 <1 RK_PD3 2 &pcfg_pull_default>;
973 };
974
975 emmc_bus8: emmc-bus8 {
976 rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>,
977 <1 RK_PD1 2 &pcfg_pull_default>,
978 <1 RK_PD2 2 &pcfg_pull_default>,
979 <1 RK_PD3 2 &pcfg_pull_default>,
980 <1 RK_PD4 2 &pcfg_pull_default>,
981 <1 RK_PD5 2 &pcfg_pull_default>,
982 <1 RK_PD6 2 &pcfg_pull_default>,
983 <1 RK_PD7 2 &pcfg_pull_default>;
984 };
985 };
986
987 gmac {
988 rgmii_pins: rgmii-pins {
989 rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>,
990 <2 RK_PB1 3 &pcfg_pull_default>,
991 <2 RK_PB3 3 &pcfg_pull_default>,
992 <2 RK_PB4 3 &pcfg_pull_default>,
993 <2 RK_PB5 3 &pcfg_pull_default>,
994 <2 RK_PB6 3 &pcfg_pull_default>,
995 <2 RK_PC0 3 &pcfg_pull_default>,
996 <2 RK_PC1 3 &pcfg_pull_default>,
997 <2 RK_PC2 3 &pcfg_pull_default>,
998 <2 RK_PC3 3 &pcfg_pull_default>,
999 <2 RK_PD1 3 &pcfg_pull_default>,
1000 <2 RK_PC4 4 &pcfg_pull_default>,
1001 <2 RK_PC5 4 &pcfg_pull_default>,
1002 <2 RK_PC6 4 &pcfg_pull_default>,
1003 <2 RK_PC7 4 &pcfg_pull_default>;
1004 };
1005
1006 rmii_pins: rmii-pins {
1007 rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>,
1008 <2 RK_PB4 3 &pcfg_pull_default>,
1009 <2 RK_PB5 3 &pcfg_pull_default>,
1010 <2 RK_PB6 3 &pcfg_pull_default>,
1011 <2 RK_PB7 3 &pcfg_pull_default>,
1012 <2 RK_PC0 3 &pcfg_pull_default>,
1013 <2 RK_PC1 3 &pcfg_pull_default>,
1014 <2 RK_PC2 3 &pcfg_pull_default>,
1015 <2 RK_PC3 3 &pcfg_pull_default>,
1016 <2 RK_PD1 3 &pcfg_pull_default>;
1017 };
1018 };
1019
1020 hdmi {
1021 hdmii2c_xfer: hdmii2c-xfer {
1022 rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
1023 <0 RK_PA7 2 &pcfg_pull_none>;
1024 };
1025
1026 hdmi_hpd: hdmi-hpd {
1027 rockchip,pins = <0 RK_PB7 1 &pcfg_pull_none>;
1028 };
1029
1030 hdmi_cec: hdmi-cec {
1031 rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
1032 };
1033 };
1034
1035 i2c0 {
1036 i2c0_xfer: i2c0-xfer {
1037 rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,
1038 <0 RK_PA1 1 &pcfg_pull_none>;
1039 };
1040 };
1041
1042 i2c1 {
1043 i2c1_xfer: i2c1-xfer {
1044 rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>,
1045 <0 RK_PA3 1 &pcfg_pull_none>;
1046 };
1047 };
1048
1049 i2c2 {
1050 i2c2_xfer: i2c2-xfer {
1051 rockchip,pins = <2 RK_PC4 3 &pcfg_pull_none>,
1052 <2 RK_PC5 3 &pcfg_pull_none>;
1053 };
1054 };
1055
1056 i2c3 {
1057 i2c3_xfer: i2c3-xfer {
1058 rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>,
1059 <0 RK_PA7 1 &pcfg_pull_none>;
1060 };
1061 };
1062
1063 i2s {
1064 i2s_bus: i2s-bus {
1065 rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>,
1066 <0 RK_PB1 1 &pcfg_pull_none>,
1067 <0 RK_PB3 1 &pcfg_pull_none>,
1068 <0 RK_PB4 1 &pcfg_pull_none>,
1069 <0 RK_PB5 1 &pcfg_pull_none>,
1070 <0 RK_PB6 1 &pcfg_pull_none>;
1071 };
1072
1073 i2s1_bus: i2s1-bus {
1074 rockchip,pins = <1 RK_PA0 1 &pcfg_pull_none>,
1075 <1 RK_PA1 1 &pcfg_pull_none>,
1076 <1 RK_PA2 1 &pcfg_pull_none>,
1077 <1 RK_PA3 1 &pcfg_pull_none>,
1078 <1 RK_PA4 1 &pcfg_pull_none>,
1079 <1 RK_PA5 1 &pcfg_pull_none>;
1080 };
1081 };
1082
1083 lcdc {
1084 lcdc_dclk: lcdc-dclk {
1085 rockchip,pins = <2 RK_PB0 1 &pcfg_pull_none>;
1086 };
1087
1088 lcdc_den: lcdc-den {
1089 rockchip,pins = <2 RK_PB3 1 &pcfg_pull_none>;
1090 };
1091
1092 lcdc_hsync: lcdc-hsync {
1093 rockchip,pins = <2 RK_PB1 1 &pcfg_pull_none>;
1094 };
1095
1096 lcdc_vsync: lcdc-vsync {
1097 rockchip,pins = <2 RK_PB2 1 &pcfg_pull_none>;
1098 };
1099
1100 lcdc_rgb24: lcdc-rgb24 {
1101 rockchip,pins = <2 RK_PB4 1 &pcfg_pull_none>,
1102 <2 RK_PB5 1 &pcfg_pull_none>,
1103 <2 RK_PB6 1 &pcfg_pull_none>,
1104 <2 RK_PB7 1 &pcfg_pull_none>,
1105 <2 RK_PC0 1 &pcfg_pull_none>,
1106 <2 RK_PC1 1 &pcfg_pull_none>,
1107 <2 RK_PC2 1 &pcfg_pull_none>,
1108 <2 RK_PC3 1 &pcfg_pull_none>,
1109 <2 RK_PC4 1 &pcfg_pull_none>,
1110 <2 RK_PC5 1 &pcfg_pull_none>,
1111 <2 RK_PC6 1 &pcfg_pull_none>,
1112 <2 RK_PC7 1 &pcfg_pull_none>,
1113 <2 RK_PD0 1 &pcfg_pull_none>,
1114 <2 RK_PD1 1 &pcfg_pull_none>;
1115 };
1116 };
1117
1118 nfc {
1119 flash_ale: flash-ale {
1120 rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>;
1121 };
1122
1123 flash_cle: flash-cle {
1124 rockchip,pins = <2 RK_PA1 1 &pcfg_pull_none>;
1125 };
1126
1127 flash_wrn: flash-wrn {
1128 rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>;
1129 };
1130
1131 flash_rdn: flash-rdn {
1132 rockchip,pins = <2 RK_PA3 1 &pcfg_pull_none>;
1133 };
1134
1135 flash_rdy: flash-rdy {
1136 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>;
1137 };
1138
1139 flash_cs0: flash-cs0 {
1140 rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>;
1141 };
1142
1143 flash_dqs: flash-dqs {
1144 rockchip,pins = <2 RK_PA7 1 &pcfg_pull_none>;
1145 };
1146
1147 flash_bus8: flash-bus8 {
1148 rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>,
1149 <1 RK_PD1 1 &pcfg_pull_none>,
1150 <1 RK_PD2 1 &pcfg_pull_none>,
1151 <1 RK_PD3 1 &pcfg_pull_none>,
1152 <1 RK_PD4 1 &pcfg_pull_none>,
1153 <1 RK_PD5 1 &pcfg_pull_none>,
1154 <1 RK_PD6 1 &pcfg_pull_none>,
1155 <1 RK_PD7 1 &pcfg_pull_none>;
1156 };
1157 };
1158
1159 pwm0 {
1160 pwm0_pin: pwm0-pin {
1161 rockchip,pins = <0 RK_PD2 1 &pcfg_pull_none>;
1162 };
1163 };
1164
1165 pwm1 {
1166 pwm1_pin: pwm1-pin {
1167 rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>;
1168 };
1169 };
1170
1171 pwm2 {
1172 pwm2_pin: pwm2-pin {
1173 rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>;
1174 };
1175 };
1176
1177 pwm3 {
1178 pwm3_pin: pwm3-pin {
1179 rockchip,pins = <3 RK_PD2 1 &pcfg_pull_none>;
1180 };
1181 };
1182
1183 sdio {
1184 sdio_clk: sdio-clk {
1185 rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>;
1186 };
1187
1188 sdio_cmd: sdio-cmd {
1189 rockchip,pins = <0 RK_PA3 2 &pcfg_pull_default>;
1190 };
1191
1192 sdio_pwren: sdio-pwren {
1193 rockchip,pins = <0 RK_PD6 1 &pcfg_pull_default>;
1194 };
1195
1196 sdio_bus4: sdio-bus4 {
1197 rockchip,pins = <1 RK_PA1 2 &pcfg_pull_default>,
1198 <1 RK_PA2 2 &pcfg_pull_default>,
1199 <1 RK_PA4 2 &pcfg_pull_default>,
1200 <1 RK_PA5 2 &pcfg_pull_default>;
1201 };
1202 };
1203
1204 sdmmc {
1205 sdmmc_clk: sdmmc-clk {
1206 rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>;
1207 };
1208
1209 sdmmc_cmd: sdmmc-cmd {
1210 rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>;
1211 };
1212
1213 sdmmc_det: sdmmc-det {
1214 rockchip,pins = <1 RK_PC1 1 &pcfg_pull_default>;
1215 };
1216
1217 sdmmc_wp: sdmmc-wp {
1218 rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>;
1219 };
1220
1221 sdmmc_pwren: sdmmc-pwren {
1222 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_default>;
1223 };
1224
1225 sdmmc_bus4: sdmmc-bus4 {
1226 rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>,
1227 <1 RK_PC3 1 &pcfg_pull_default>,
1228 <1 RK_PC4 1 &pcfg_pull_default>,
1229 <1 RK_PC5 1 &pcfg_pull_default>;
1230 };
1231 };
1232
1233 sfc {
1234 sfc_bus2: sfc-bus2 {
1235 rockchip,pins = <1 RK_PD0 3 &pcfg_pull_default>,
1236 <1 RK_PD1 3 &pcfg_pull_default>;
1237 };
1238
1239 sfc_bus4: sfc-bus4 {
1240 rockchip,pins = <1 RK_PD0 3 &pcfg_pull_default>,
1241 <1 RK_PD1 3 &pcfg_pull_default>,
1242 <1 RK_PD2 3 &pcfg_pull_default>,
1243 <1 RK_PD3 3 &pcfg_pull_default>;
1244 };
1245
1246 sfc_clk: sfc-clk {
1247 rockchip,pins = <2 RK_PA4 3 &pcfg_pull_none>;
1248 };
1249
1250 sfc_cs0: sfc-cs0 {
1251 rockchip,pins = <2 RK_PA2 2 &pcfg_pull_default>;
1252 };
1253
1254 sfc_cs1: sfc-cs1 {
1255 rockchip,pins = <2 RK_PA3 2 &pcfg_pull_default>;
1256 };
1257 };
1258
1259 spdif {
1260 spdif_tx: spdif-tx {
1261 rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>;
1262 };
1263 };
1264
1265 spi0 {
1266 spi0_clk: spi0-clk {
1267 rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>;
1268 };
1269
1270 spi0_cs0: spi0-cs0 {
1271 rockchip,pins = <1 RK_PB3 1 &pcfg_pull_default>;
1272 };
1273
1274 spi0_tx: spi0-tx {
1275 rockchip,pins = <1 RK_PB1 1 &pcfg_pull_default>;
1276 };
1277
1278 spi0_rx: spi0-rx {
1279 rockchip,pins = <1 RK_PB2 1 &pcfg_pull_default>;
1280 };
1281
1282 spi0_cs1: spi0-cs1 {
1283 rockchip,pins = <1 RK_PB4 1 &pcfg_pull_default>;
1284 };
1285
1286 spi1_clk: spi1-clk {
1287 rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>;
1288 };
1289
1290 spi1_cs0: spi1-cs0 {
1291 rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>;
1292 };
1293
1294 spi1_tx: spi1-tx {
1295 rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>;
1296 };
1297
1298 spi1_rx: spi1-rx {
1299 rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>;
1300 };
1301
1302 spi1_cs1: spi1-cs1 {
1303 rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>;
1304 };
1305
1306 spi2_clk: spi2-clk {
1307 rockchip,pins = <0 RK_PB1 2 &pcfg_pull_default>;
1308 };
1309
1310 spi2_cs0: spi2-cs0 {
1311 rockchip,pins = <0 RK_PB6 2 &pcfg_pull_default>;
1312 };
1313
1314 spi2_tx: spi2-tx {
1315 rockchip,pins = <0 RK_PB3 2 &pcfg_pull_default>;
1316 };
1317
1318 spi2_rx: spi2-rx {
1319 rockchip,pins = <0 RK_PB5 2 &pcfg_pull_default>;
1320 };
1321 };
1322
1323 uart0 {
1324 uart0_xfer: uart0-xfer {
1325 rockchip,pins = <2 RK_PD2 2 &pcfg_pull_default>,
1326 <2 RK_PD3 2 &pcfg_pull_none>;
1327 };
1328
1329 uart0_cts: uart0-cts {
1330 rockchip,pins = <2 RK_PD5 2 &pcfg_pull_none>;
1331 };
1332
1333 uart0_rts: uart0-rts {
1334 rockchip,pins = <0 RK_PC1 2 &pcfg_pull_none>;
1335 };
1336 };
1337
1338 uart1 {
1339 uart1_xfer: uart1-xfer {
1340 rockchip,pins = <1 RK_PB1 2 &pcfg_pull_default>,
1341 <1 RK_PB2 2 &pcfg_pull_default>;
1342 };
1343
1344 uart1_cts: uart1-cts {
1345 rockchip,pins = <1 RK_PB0 2 &pcfg_pull_none>;
1346 };
1347
1348 uart1_rts: uart1-rts {
1349 rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>;
1350 };
1351 };
1352
1353 uart2 {
1354 uart2_xfer: uart2-xfer {
1355 rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>,
1356 <1 RK_PC3 2 &pcfg_pull_none>;
1357 };
1358
1359 uart2_cts: uart2-cts {
1360 rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>;
1361 };
1362
1363 uart2_rts: uart2-rts {
1364 rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>;
1365 };
1366 };
1367 };
1368};