blob: 3152bf107db53ebc0ebdad06be221f39a7a6873a [file] [log] [blame]
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6#include <dt-bindings/clock/px30-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/px30-power.h>
12#include <dt-bindings/soc/rockchip,boot-mode.h>
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +010013#include <dt-bindings/thermal/thermal.h>
Heiko Stuebnerdd611e92019-07-16 22:12:07 +020014
15/ {
16 compatible = "rockchip,px30";
17
18 interrupt-parent = <&gic>;
19 #address-cells = <2>;
20 #size-cells = <2>;
21
22 aliases {
23 ethernet0 = &gmac;
24 i2c0 = &i2c0;
25 i2c1 = &i2c1;
26 i2c2 = &i2c2;
27 i2c3 = &i2c3;
28 serial0 = &uart0;
29 serial1 = &uart1;
30 serial2 = &uart2;
31 serial3 = &uart3;
32 serial4 = &uart4;
33 serial5 = &uart5;
34 spi0 = &spi0;
35 spi1 = &spi1;
36 };
37
38 cpus {
39 #address-cells = <2>;
40 #size-cells = <0>;
41
42 cpu0: cpu@0 {
43 device_type = "cpu";
44 compatible = "arm,cortex-a35";
45 reg = <0x0 0x0>;
46 enable-method = "psci";
47 clocks = <&cru ARMCLK>;
48 #cooling-cells = <2>;
49 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
50 dynamic-power-coefficient = <90>;
51 operating-points-v2 = <&cpu0_opp_table>;
52 };
53
54 cpu1: cpu@1 {
55 device_type = "cpu";
56 compatible = "arm,cortex-a35";
57 reg = <0x0 0x1>;
58 enable-method = "psci";
59 clocks = <&cru ARMCLK>;
60 #cooling-cells = <2>;
61 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
62 dynamic-power-coefficient = <90>;
63 operating-points-v2 = <&cpu0_opp_table>;
64 };
65
66 cpu2: cpu@2 {
67 device_type = "cpu";
68 compatible = "arm,cortex-a35";
69 reg = <0x0 0x2>;
70 enable-method = "psci";
71 clocks = <&cru ARMCLK>;
72 #cooling-cells = <2>;
73 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
74 dynamic-power-coefficient = <90>;
75 operating-points-v2 = <&cpu0_opp_table>;
76 };
77
78 cpu3: cpu@3 {
79 device_type = "cpu";
80 compatible = "arm,cortex-a35";
81 reg = <0x0 0x3>;
82 enable-method = "psci";
83 clocks = <&cru ARMCLK>;
84 #cooling-cells = <2>;
85 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
86 dynamic-power-coefficient = <90>;
87 operating-points-v2 = <&cpu0_opp_table>;
88 };
89
90 idle-states {
91 entry-method = "psci";
92
93 CPU_SLEEP: cpu-sleep {
94 compatible = "arm,idle-state";
95 local-timer-stop;
96 arm,psci-suspend-param = <0x0010000>;
97 entry-latency-us = <120>;
98 exit-latency-us = <250>;
99 min-residency-us = <900>;
100 };
101
102 CLUSTER_SLEEP: cluster-sleep {
103 compatible = "arm,idle-state";
104 local-timer-stop;
105 arm,psci-suspend-param = <0x1010000>;
106 entry-latency-us = <400>;
107 exit-latency-us = <500>;
108 min-residency-us = <2000>;
109 };
110 };
111 };
112
Jagan Teki20759fa2021-11-15 23:08:20 +0530113 cpu0_opp_table: opp-table-0 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200114 compatible = "operating-points-v2";
115 opp-shared;
116
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200117 opp-600000000 {
118 opp-hz = /bits/ 64 <600000000>;
119 opp-microvolt = <950000 950000 1350000>;
120 clock-latency-ns = <40000>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100121 opp-suspend;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200122 };
123 opp-816000000 {
124 opp-hz = /bits/ 64 <816000000>;
125 opp-microvolt = <1050000 1050000 1350000>;
126 clock-latency-ns = <40000>;
127 };
128 opp-1008000000 {
129 opp-hz = /bits/ 64 <1008000000>;
130 opp-microvolt = <1175000 1175000 1350000>;
131 clock-latency-ns = <40000>;
132 };
133 opp-1200000000 {
134 opp-hz = /bits/ 64 <1200000000>;
135 opp-microvolt = <1300000 1300000 1350000>;
136 clock-latency-ns = <40000>;
137 };
138 opp-1296000000 {
139 opp-hz = /bits/ 64 <1296000000>;
140 opp-microvolt = <1350000 1350000 1350000>;
141 clock-latency-ns = <40000>;
142 };
143 };
144
145 arm-pmu {
Jagan Teki20759fa2021-11-15 23:08:20 +0530146 compatible = "arm,cortex-a35-pmu";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200147 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
148 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
151 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
152 };
153
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200154 display_subsystem: display-subsystem {
155 compatible = "rockchip,display-subsystem";
156 ports = <&vopb_out>, <&vopl_out>;
157 status = "disabled";
158 };
159
160 gmac_clkin: external-gmac-clock {
161 compatible = "fixed-clock";
162 clock-frequency = <50000000>;
163 clock-output-names = "gmac_clkin";
164 #clock-cells = <0>;
165 };
166
167 psci {
168 compatible = "arm,psci-1.0";
169 method = "smc";
170 };
171
172 timer {
173 compatible = "arm,armv8-timer";
174 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
175 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
176 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
177 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
178 };
179
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100180 thermal_zones: thermal-zones {
181 soc_thermal: soc-thermal {
182 polling-delay-passive = <20>;
183 polling-delay = <1000>;
184 sustainable-power = <750>;
185 thermal-sensors = <&tsadc 0>;
186
187 trips {
188 threshold: trip-point-0 {
189 temperature = <70000>;
190 hysteresis = <2000>;
191 type = "passive";
192 };
193
194 target: trip-point-1 {
195 temperature = <85000>;
196 hysteresis = <2000>;
197 type = "passive";
198 };
199
200 soc_crit: soc-crit {
201 temperature = <115000>;
202 hysteresis = <2000>;
203 type = "critical";
204 };
205 };
206
207 cooling-maps {
208 map0 {
209 trip = <&target>;
210 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
211 contribution = <4096>;
212 };
213
214 map1 {
215 trip = <&target>;
216 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
217 contribution = <4096>;
218 };
219 };
220 };
221
222 gpu_thermal: gpu-thermal {
223 polling-delay-passive = <100>; /* milliseconds */
224 polling-delay = <1000>; /* milliseconds */
225 thermal-sensors = <&tsadc 1>;
226 };
227 };
228
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200229 xin24m: xin24m {
230 compatible = "fixed-clock";
231 #clock-cells = <0>;
232 clock-frequency = <24000000>;
233 clock-output-names = "xin24m";
234 };
235
236 pmu: power-management@ff000000 {
237 compatible = "rockchip,px30-pmu", "syscon", "simple-mfd";
238 reg = <0x0 0xff000000 0x0 0x1000>;
239
240 power: power-controller {
241 compatible = "rockchip,px30-power-controller";
242 #power-domain-cells = <1>;
243 #address-cells = <1>;
244 #size-cells = <0>;
245
246 /* These power domains are grouped by VD_LOGIC */
Jagan Teki20759fa2021-11-15 23:08:20 +0530247 power-domain@PX30_PD_USB {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200248 reg = <PX30_PD_USB>;
249 clocks = <&cru HCLK_HOST>,
250 <&cru HCLK_OTG>,
251 <&cru SCLK_OTG_ADP>;
252 pm_qos = <&qos_usb_host>, <&qos_usb_otg>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530253 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200254 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530255 power-domain@PX30_PD_SDCARD {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200256 reg = <PX30_PD_SDCARD>;
257 clocks = <&cru HCLK_SDMMC>,
258 <&cru SCLK_SDMMC>;
259 pm_qos = <&qos_sdmmc>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530260 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200261 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530262 power-domain@PX30_PD_GMAC {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200263 reg = <PX30_PD_GMAC>;
264 clocks = <&cru ACLK_GMAC>,
265 <&cru PCLK_GMAC>,
266 <&cru SCLK_MAC_REF>,
267 <&cru SCLK_GMAC_RX_TX>;
268 pm_qos = <&qos_gmac>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530269 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200270 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530271 power-domain@PX30_PD_MMC_NAND {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200272 reg = <PX30_PD_MMC_NAND>;
273 clocks = <&cru HCLK_NANDC>,
274 <&cru HCLK_EMMC>,
275 <&cru HCLK_SDIO>,
276 <&cru HCLK_SFC>,
277 <&cru SCLK_EMMC>,
278 <&cru SCLK_NANDC>,
279 <&cru SCLK_SDIO>,
280 <&cru SCLK_SFC>;
281 pm_qos = <&qos_emmc>, <&qos_nand>,
282 <&qos_sdio>, <&qos_sfc>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530283 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200284 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530285 power-domain@PX30_PD_VPU {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200286 reg = <PX30_PD_VPU>;
287 clocks = <&cru ACLK_VPU>,
288 <&cru HCLK_VPU>,
289 <&cru SCLK_CORE_VPU>;
290 pm_qos = <&qos_vpu>, <&qos_vpu_r128>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530291 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200292 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530293 power-domain@PX30_PD_VO {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200294 reg = <PX30_PD_VO>;
295 clocks = <&cru ACLK_RGA>,
296 <&cru ACLK_VOPB>,
297 <&cru ACLK_VOPL>,
298 <&cru DCLK_VOPB>,
299 <&cru DCLK_VOPL>,
300 <&cru HCLK_RGA>,
301 <&cru HCLK_VOPB>,
302 <&cru HCLK_VOPL>,
303 <&cru PCLK_MIPI_DSI>,
304 <&cru SCLK_RGA_CORE>,
305 <&cru SCLK_VOPB_PWM>;
306 pm_qos = <&qos_rga_rd>, <&qos_rga_wr>,
307 <&qos_vop_m0>, <&qos_vop_m1>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530308 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200309 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530310 power-domain@PX30_PD_VI {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200311 reg = <PX30_PD_VI>;
312 clocks = <&cru ACLK_CIF>,
313 <&cru ACLK_ISP>,
314 <&cru HCLK_CIF>,
315 <&cru HCLK_ISP>,
316 <&cru SCLK_ISP>;
317 pm_qos = <&qos_isp_128>, <&qos_isp_rd>,
318 <&qos_isp_wr>, <&qos_isp_m1>,
319 <&qos_vip>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530320 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200321 };
Jagan Teki20759fa2021-11-15 23:08:20 +0530322 power-domain@PX30_PD_GPU {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200323 reg = <PX30_PD_GPU>;
324 clocks = <&cru SCLK_GPU>;
325 pm_qos = <&qos_gpu>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530326 #power-domain-cells = <0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200327 };
328 };
329 };
330
331 pmugrf: syscon@ff010000 {
332 compatible = "rockchip,px30-pmugrf", "syscon", "simple-mfd";
333 reg = <0x0 0xff010000 0x0 0x1000>;
334 #address-cells = <1>;
335 #size-cells = <1>;
336
337 pmu_io_domains: io-domains {
338 compatible = "rockchip,px30-pmu-io-voltage-domain";
339 status = "disabled";
340 };
341
342 reboot-mode {
343 compatible = "syscon-reboot-mode";
344 offset = <0x200>;
345 mode-bootloader = <BOOT_BL_DOWNLOAD>;
346 mode-fastboot = <BOOT_FASTBOOT>;
347 mode-loader = <BOOT_BL_DOWNLOAD>;
348 mode-normal = <BOOT_NORMAL>;
349 mode-recovery = <BOOT_RECOVERY>;
350 };
351 };
352
353 uart0: serial@ff030000 {
354 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
355 reg = <0x0 0xff030000 0x0 0x100>;
356 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
357 clocks = <&pmucru SCLK_UART0_PMU>, <&pmucru PCLK_UART0_PMU>;
358 clock-names = "baudclk", "apb_pclk";
359 dmas = <&dmac 0>, <&dmac 1>;
360 dma-names = "tx", "rx";
361 reg-shift = <2>;
362 reg-io-width = <4>;
363 pinctrl-names = "default";
364 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
365 status = "disabled";
366 };
367
Quentin Schulz3202a962023-01-09 11:36:44 +0100368 i2s0_8ch: i2s@ff060000 {
369 compatible = "rockchip,px30-i2s-tdm";
370 reg = <0x0 0xff060000 0x0 0x1000>;
371 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
372 clocks = <&cru SCLK_I2S0_TX>, <&cru SCLK_I2S0_RX>, <&cru HCLK_I2S0>;
373 clock-names = "mclk_tx", "mclk_rx", "hclk";
374 dmas = <&dmac 16>, <&dmac 17>;
375 dma-names = "tx", "rx";
376 rockchip,grf = <&grf>;
377 resets = <&cru SRST_I2S0_TX>, <&cru SRST_I2S0_RX>;
378 reset-names = "tx-m", "rx-m";
379 pinctrl-names = "default";
380 pinctrl-0 = <&i2s0_8ch_sclktx &i2s0_8ch_sclkrx
381 &i2s0_8ch_lrcktx &i2s0_8ch_lrckrx
382 &i2s0_8ch_sdo0 &i2s0_8ch_sdi0
383 &i2s0_8ch_sdo1 &i2s0_8ch_sdi1
384 &i2s0_8ch_sdo2 &i2s0_8ch_sdi2
385 &i2s0_8ch_sdo3 &i2s0_8ch_sdi3>;
386 #sound-dai-cells = <0>;
387 status = "disabled";
388 };
389
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200390 i2s1_2ch: i2s@ff070000 {
391 compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
392 reg = <0x0 0xff070000 0x0 0x1000>;
393 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
394 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>;
395 clock-names = "i2s_clk", "i2s_hclk";
396 dmas = <&dmac 18>, <&dmac 19>;
397 dma-names = "tx", "rx";
398 pinctrl-names = "default";
399 pinctrl-0 = <&i2s1_2ch_sclk &i2s1_2ch_lrck
400 &i2s1_2ch_sdi &i2s1_2ch_sdo>;
401 #sound-dai-cells = <0>;
402 status = "disabled";
403 };
404
405 i2s2_2ch: i2s@ff080000 {
406 compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
407 reg = <0x0 0xff080000 0x0 0x1000>;
408 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
409 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>;
410 clock-names = "i2s_clk", "i2s_hclk";
411 dmas = <&dmac 20>, <&dmac 21>;
412 dma-names = "tx", "rx";
413 pinctrl-names = "default";
414 pinctrl-0 = <&i2s2_2ch_sclk &i2s2_2ch_lrck
415 &i2s2_2ch_sdi &i2s2_2ch_sdo>;
416 #sound-dai-cells = <0>;
417 status = "disabled";
418 };
419
420 gic: interrupt-controller@ff131000 {
421 compatible = "arm,gic-400";
422 #interrupt-cells = <3>;
423 #address-cells = <0>;
424 interrupt-controller;
425 reg = <0x0 0xff131000 0 0x1000>,
426 <0x0 0xff132000 0 0x2000>,
427 <0x0 0xff134000 0 0x2000>,
428 <0x0 0xff136000 0 0x2000>;
429 interrupts = <GIC_PPI 9
430 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
431 };
432
433 grf: syscon@ff140000 {
434 compatible = "rockchip,px30-grf", "syscon", "simple-mfd";
435 reg = <0x0 0xff140000 0x0 0x1000>;
436 #address-cells = <1>;
437 #size-cells = <1>;
438
439 io_domains: io-domains {
440 compatible = "rockchip,px30-io-voltage-domain";
441 status = "disabled";
442 };
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100443
444 lvds: lvds {
445 compatible = "rockchip,px30-lvds";
446 phys = <&dsi_dphy>;
447 phy-names = "dphy";
448 rockchip,grf = <&grf>;
449 rockchip,output = "lvds";
450 status = "disabled";
451
452 ports {
453 #address-cells = <1>;
454 #size-cells = <0>;
455
456 port@0 {
457 reg = <0>;
458 #address-cells = <1>;
459 #size-cells = <0>;
460
461 lvds_vopb_in: endpoint@0 {
462 reg = <0>;
463 remote-endpoint = <&vopb_out_lvds>;
464 };
465
466 lvds_vopl_in: endpoint@1 {
467 reg = <1>;
468 remote-endpoint = <&vopl_out_lvds>;
469 };
470 };
471 };
472 };
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200473 };
474
475 uart1: serial@ff158000 {
476 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
477 reg = <0x0 0xff158000 0x0 0x100>;
478 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
479 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
480 clock-names = "baudclk", "apb_pclk";
481 dmas = <&dmac 2>, <&dmac 3>;
482 dma-names = "tx", "rx";
483 reg-shift = <2>;
484 reg-io-width = <4>;
485 pinctrl-names = "default";
486 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
487 status = "disabled";
488 };
489
490 uart2: serial@ff160000 {
491 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
492 reg = <0x0 0xff160000 0x0 0x100>;
493 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
494 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
495 clock-names = "baudclk", "apb_pclk";
496 dmas = <&dmac 4>, <&dmac 5>;
497 dma-names = "tx", "rx";
498 reg-shift = <2>;
499 reg-io-width = <4>;
500 pinctrl-names = "default";
501 pinctrl-0 = <&uart2m0_xfer>;
502 status = "disabled";
503 };
504
505 uart3: serial@ff168000 {
506 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
507 reg = <0x0 0xff168000 0x0 0x100>;
508 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
509 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
510 clock-names = "baudclk", "apb_pclk";
511 dmas = <&dmac 6>, <&dmac 7>;
512 dma-names = "tx", "rx";
513 reg-shift = <2>;
514 reg-io-width = <4>;
515 pinctrl-names = "default";
516 pinctrl-0 = <&uart3m1_xfer &uart3m1_cts &uart3m1_rts>;
517 status = "disabled";
518 };
519
520 uart4: serial@ff170000 {
521 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
522 reg = <0x0 0xff170000 0x0 0x100>;
523 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
524 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
525 clock-names = "baudclk", "apb_pclk";
526 dmas = <&dmac 8>, <&dmac 9>;
527 dma-names = "tx", "rx";
528 reg-shift = <2>;
529 reg-io-width = <4>;
530 pinctrl-names = "default";
531 pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
532 status = "disabled";
533 };
534
535 uart5: serial@ff178000 {
536 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
537 reg = <0x0 0xff178000 0x0 0x100>;
538 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
539 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
540 clock-names = "baudclk", "apb_pclk";
541 dmas = <&dmac 10>, <&dmac 11>;
542 dma-names = "tx", "rx";
543 reg-shift = <2>;
544 reg-io-width = <4>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&uart5_xfer &uart5_cts &uart5_rts>;
547 status = "disabled";
548 };
549
550 i2c0: i2c@ff180000 {
551 compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
552 reg = <0x0 0xff180000 0x0 0x1000>;
Quentin Schulz3202a962023-01-09 11:36:44 +0100553 clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200554 clock-names = "i2c", "pclk";
555 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
556 pinctrl-names = "default";
557 pinctrl-0 = <&i2c0_xfer>;
558 #address-cells = <1>;
559 #size-cells = <0>;
560 status = "disabled";
561 };
562
563 i2c1: i2c@ff190000 {
564 compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
565 reg = <0x0 0xff190000 0x0 0x1000>;
566 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
567 clock-names = "i2c", "pclk";
568 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
569 pinctrl-names = "default";
570 pinctrl-0 = <&i2c1_xfer>;
571 #address-cells = <1>;
572 #size-cells = <0>;
573 status = "disabled";
574 };
575
576 i2c2: i2c@ff1a0000 {
577 compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
578 reg = <0x0 0xff1a0000 0x0 0x1000>;
579 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
580 clock-names = "i2c", "pclk";
581 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
582 pinctrl-names = "default";
583 pinctrl-0 = <&i2c2_xfer>;
584 #address-cells = <1>;
585 #size-cells = <0>;
586 status = "disabled";
587 };
588
589 i2c3: i2c@ff1b0000 {
590 compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
591 reg = <0x0 0xff1b0000 0x0 0x1000>;
592 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
593 clock-names = "i2c", "pclk";
594 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
595 pinctrl-names = "default";
596 pinctrl-0 = <&i2c3_xfer>;
597 #address-cells = <1>;
598 #size-cells = <0>;
599 status = "disabled";
600 };
601
602 spi0: spi@ff1d0000 {
603 compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
604 reg = <0x0 0xff1d0000 0x0 0x1000>;
605 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
606 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
607 clock-names = "spiclk", "apb_pclk";
608 dmas = <&dmac 12>, <&dmac 13>;
609 dma-names = "tx", "rx";
610 pinctrl-names = "default";
611 pinctrl-0 = <&spi0_clk &spi0_csn &spi0_miso &spi0_mosi>;
612 #address-cells = <1>;
613 #size-cells = <0>;
614 status = "disabled";
615 };
616
617 spi1: spi@ff1d8000 {
618 compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
619 reg = <0x0 0xff1d8000 0x0 0x1000>;
620 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
621 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
622 clock-names = "spiclk", "apb_pclk";
623 dmas = <&dmac 14>, <&dmac 15>;
624 dma-names = "tx", "rx";
625 pinctrl-names = "default";
626 pinctrl-0 = <&spi1_clk &spi1_csn0 &spi1_csn1 &spi1_miso &spi1_mosi>;
627 #address-cells = <1>;
628 #size-cells = <0>;
629 status = "disabled";
630 };
631
632 wdt: watchdog@ff1e0000 {
Jagan Teki20759fa2021-11-15 23:08:20 +0530633 compatible = "rockchip,px30-wdt", "snps,dw-wdt";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200634 reg = <0x0 0xff1e0000 0x0 0x100>;
635 clocks = <&cru PCLK_WDT_NS>;
636 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
637 status = "disabled";
638 };
639
640 pwm0: pwm@ff200000 {
641 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
642 reg = <0x0 0xff200000 0x0 0x10>;
643 clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
644 clock-names = "pwm", "pclk";
645 pinctrl-names = "default";
646 pinctrl-0 = <&pwm0_pin>;
647 #pwm-cells = <3>;
648 status = "disabled";
649 };
650
651 pwm1: pwm@ff200010 {
652 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
653 reg = <0x0 0xff200010 0x0 0x10>;
654 clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
655 clock-names = "pwm", "pclk";
656 pinctrl-names = "default";
657 pinctrl-0 = <&pwm1_pin>;
658 #pwm-cells = <3>;
659 status = "disabled";
660 };
661
662 pwm2: pwm@ff200020 {
663 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
664 reg = <0x0 0xff200020 0x0 0x10>;
665 clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
666 clock-names = "pwm", "pclk";
667 pinctrl-names = "default";
668 pinctrl-0 = <&pwm2_pin>;
669 #pwm-cells = <3>;
670 status = "disabled";
671 };
672
673 pwm3: pwm@ff200030 {
674 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
675 reg = <0x0 0xff200030 0x0 0x10>;
676 clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
677 clock-names = "pwm", "pclk";
678 pinctrl-names = "default";
679 pinctrl-0 = <&pwm3_pin>;
680 #pwm-cells = <3>;
681 status = "disabled";
682 };
683
684 pwm4: pwm@ff208000 {
685 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
686 reg = <0x0 0xff208000 0x0 0x10>;
687 clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
688 clock-names = "pwm", "pclk";
689 pinctrl-names = "default";
690 pinctrl-0 = <&pwm4_pin>;
691 #pwm-cells = <3>;
692 status = "disabled";
693 };
694
695 pwm5: pwm@ff208010 {
696 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
697 reg = <0x0 0xff208010 0x0 0x10>;
698 clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
699 clock-names = "pwm", "pclk";
700 pinctrl-names = "default";
701 pinctrl-0 = <&pwm5_pin>;
702 #pwm-cells = <3>;
703 status = "disabled";
704 };
705
706 pwm6: pwm@ff208020 {
707 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
708 reg = <0x0 0xff208020 0x0 0x10>;
709 clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
710 clock-names = "pwm", "pclk";
711 pinctrl-names = "default";
712 pinctrl-0 = <&pwm6_pin>;
713 #pwm-cells = <3>;
714 status = "disabled";
715 };
716
717 pwm7: pwm@ff208030 {
718 compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
719 reg = <0x0 0xff208030 0x0 0x10>;
720 clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
721 clock-names = "pwm", "pclk";
722 pinctrl-names = "default";
723 pinctrl-0 = <&pwm7_pin>;
724 #pwm-cells = <3>;
725 status = "disabled";
726 };
727
728 rktimer: timer@ff210000 {
729 compatible = "rockchip,px30-timer", "rockchip,rk3288-timer";
730 reg = <0x0 0xff210000 0x0 0x1000>;
731 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
732 clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER0>;
733 clock-names = "pclk", "timer";
734 };
735
Quentin Schulz3202a962023-01-09 11:36:44 +0100736 dmac: dma-controller@ff240000 {
Jagan Teki20759fa2021-11-15 23:08:20 +0530737 compatible = "arm,pl330", "arm,primecell";
738 reg = <0x0 0xff240000 0x0 0x4000>;
739 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
740 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
741 arm,pl330-periph-burst;
742 clocks = <&cru ACLK_DMAC>;
743 clock-names = "apb_pclk";
744 #dma-cells = <1>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200745 };
746
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100747 tsadc: tsadc@ff280000 {
748 compatible = "rockchip,px30-tsadc";
749 reg = <0x0 0xff280000 0x0 0x100>;
750 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
751 assigned-clocks = <&cru SCLK_TSADC>;
752 assigned-clock-rates = <50000>;
753 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
754 clock-names = "tsadc", "apb_pclk";
755 resets = <&cru SRST_TSADC>;
756 reset-names = "tsadc-apb";
757 rockchip,grf = <&grf>;
758 rockchip,hw-tshut-temp = <120000>;
759 pinctrl-names = "init", "default", "sleep";
Jagan Teki20759fa2021-11-15 23:08:20 +0530760 pinctrl-0 = <&tsadc_otp_pin>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100761 pinctrl-1 = <&tsadc_otp_out>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530762 pinctrl-2 = <&tsadc_otp_pin>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100763 #thermal-sensor-cells = <1>;
764 status = "disabled";
765 };
766
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200767 saradc: saradc@ff288000 {
768 compatible = "rockchip,px30-saradc", "rockchip,rk3399-saradc";
769 reg = <0x0 0xff288000 0x0 0x100>;
770 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
771 #io-channel-cells = <1>;
772 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
773 clock-names = "saradc", "apb_pclk";
774 resets = <&cru SRST_SARADC_P>;
775 reset-names = "saradc-apb";
776 status = "disabled";
777 };
778
779 otp: nvmem@ff290000 {
780 compatible = "rockchip,px30-otp";
781 reg = <0x0 0xff290000 0x0 0x4000>;
782 clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
783 <&cru PCLK_OTP_PHY>;
784 clock-names = "otp", "apb_pclk", "phy";
785 resets = <&cru SRST_OTP_PHY>;
786 reset-names = "phy";
787 #address-cells = <1>;
788 #size-cells = <1>;
789
790 /* Data cells */
791 cpu_id: id@7 {
792 reg = <0x07 0x10>;
793 };
794 cpu_leakage: cpu-leakage@17 {
795 reg = <0x17 0x1>;
796 };
797 performance: performance@1e {
798 reg = <0x1e 0x1>;
799 bits = <4 3>;
800 };
801 };
802
803 cru: clock-controller@ff2b0000 {
804 compatible = "rockchip,px30-cru";
805 reg = <0x0 0xff2b0000 0x0 0x1000>;
806 clocks = <&xin24m>, <&pmucru PLL_GPLL>;
807 clock-names = "xin24m", "gpll";
808 rockchip,grf = <&grf>;
809 #clock-cells = <1>;
810 #reset-cells = <1>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530811
812 assigned-clocks = <&cru PLL_NPLL>,
813 <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
814 <&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
815 <&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
816
817 assigned-clock-rates = <1188000000>,
818 <200000000>, <200000000>,
819 <150000000>, <150000000>,
820 <100000000>, <200000000>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200821 };
822
823 pmucru: clock-controller@ff2bc000 {
824 compatible = "rockchip,px30-pmucru";
825 reg = <0x0 0xff2bc000 0x0 0x1000>;
826 clocks = <&xin24m>;
827 clock-names = "xin24m";
828 rockchip,grf = <&grf>;
829 #clock-cells = <1>;
830 #reset-cells = <1>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530831
832 assigned-clocks =
833 <&pmucru PLL_GPLL>, <&pmucru PCLK_PMU_PRE>,
834 <&pmucru SCLK_WIFI_PMU>;
835 assigned-clock-rates =
836 <1200000000>, <100000000>,
837 <26000000>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200838 };
839
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100840 usb2phy_grf: syscon@ff2c0000 {
841 compatible = "rockchip,px30-usb2phy-grf", "syscon",
842 "simple-mfd";
843 reg = <0x0 0xff2c0000 0x0 0x10000>;
844 #address-cells = <1>;
845 #size-cells = <1>;
846
Jagan Teki20759fa2021-11-15 23:08:20 +0530847 u2phy: usb2phy@100 {
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100848 compatible = "rockchip,px30-usb2phy";
849 reg = <0x100 0x20>;
850 clocks = <&pmucru SCLK_USBPHY_REF>;
851 clock-names = "phyclk";
852 #clock-cells = <0>;
853 assigned-clocks = <&cru USB480M>;
854 assigned-clock-parents = <&u2phy>;
855 clock-output-names = "usb480m_phy";
856 status = "disabled";
857
858 u2phy_host: host-port {
859 #phy-cells = <0>;
860 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
861 interrupt-names = "linestate";
862 status = "disabled";
863 };
864
865 u2phy_otg: otg-port {
866 #phy-cells = <0>;
867 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
868 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
869 <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
870 interrupt-names = "otg-bvalid", "otg-id",
871 "linestate";
872 status = "disabled";
873 };
874 };
875 };
876
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200877 dsi_dphy: phy@ff2e0000 {
878 compatible = "rockchip,px30-dsi-dphy";
879 reg = <0x0 0xff2e0000 0x0 0x10000>;
880 clocks = <&pmucru SCLK_MIPIDSIPHY_REF>, <&cru PCLK_MIPIDSIPHY>;
881 clock-names = "ref", "pclk";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200882 resets = <&cru SRST_MIPIDSIPHY_P>;
883 reset-names = "apb";
884 #phy-cells = <0>;
885 power-domains = <&power PX30_PD_VO>;
886 status = "disabled";
887 };
888
Jagan Teki20759fa2021-11-15 23:08:20 +0530889 csi_dphy: phy@ff2f0000 {
890 compatible = "rockchip,px30-csi-dphy";
891 reg = <0x0 0xff2f0000 0x0 0x4000>;
892 clocks = <&cru PCLK_MIPICSIPHY>;
893 clock-names = "pclk";
894 #phy-cells = <0>;
895 power-domains = <&power PX30_PD_VI>;
896 resets = <&cru SRST_MIPICSIPHY_P>;
897 reset-names = "apb";
898 rockchip,grf = <&grf>;
899 status = "disabled";
900 };
901
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200902 usb20_otg: usb@ff300000 {
903 compatible = "rockchip,px30-usb", "rockchip,rk3066-usb",
904 "snps,dwc2";
905 reg = <0x0 0xff300000 0x0 0x40000>;
906 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
907 clocks = <&cru HCLK_OTG>;
908 clock-names = "otg";
909 dr_mode = "otg";
910 g-np-tx-fifo-size = <16>;
911 g-rx-fifo-size = <280>;
912 g-tx-fifo-size = <256 128 128 64 32 16>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100913 phys = <&u2phy_otg>;
914 phy-names = "usb2-phy";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200915 power-domains = <&power PX30_PD_USB>;
916 status = "disabled";
917 };
918
919 usb_host0_ehci: usb@ff340000 {
920 compatible = "generic-ehci";
921 reg = <0x0 0xff340000 0x0 0x10000>;
922 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
923 clocks = <&cru HCLK_HOST>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100924 phys = <&u2phy_host>;
925 phy-names = "usb";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200926 power-domains = <&power PX30_PD_USB>;
927 status = "disabled";
928 };
929
930 usb_host0_ohci: usb@ff350000 {
931 compatible = "generic-ohci";
932 reg = <0x0 0xff350000 0x0 0x10000>;
933 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
934 clocks = <&cru HCLK_HOST>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +0100935 phys = <&u2phy_host>;
936 phy-names = "usb";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200937 power-domains = <&power PX30_PD_USB>;
938 status = "disabled";
939 };
940
941 gmac: ethernet@ff360000 {
942 compatible = "rockchip,px30-gmac";
943 reg = <0x0 0xff360000 0x0 0x10000>;
944 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
945 interrupt-names = "macirq";
946 clocks = <&cru SCLK_GMAC>, <&cru SCLK_GMAC_RX_TX>,
947 <&cru SCLK_GMAC_RX_TX>, <&cru SCLK_MAC_REF>,
948 <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
949 <&cru PCLK_GMAC>, <&cru SCLK_GMAC_RMII>;
950 clock-names = "stmmaceth", "mac_clk_rx",
951 "mac_clk_tx", "clk_mac_ref",
952 "clk_mac_refout", "aclk_mac",
953 "pclk_mac", "clk_mac_speed";
954 rockchip,grf = <&grf>;
955 phy-mode = "rmii";
956 pinctrl-names = "default";
957 pinctrl-0 = <&rmii_pins &mac_refclk_12ma>;
958 power-domains = <&power PX30_PD_GMAC>;
959 resets = <&cru SRST_GMAC_A>;
960 reset-names = "stmmaceth";
961 status = "disabled";
962 };
963
Jagan Teki20759fa2021-11-15 23:08:20 +0530964 sdmmc: mmc@ff370000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200965 compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
966 reg = <0x0 0xff370000 0x0 0x4000>;
967 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
968 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
969 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530970 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
971 bus-width = <4>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200972 fifo-depth = <0x100>;
973 max-frequency = <150000000>;
974 pinctrl-names = "default";
975 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
976 power-domains = <&power PX30_PD_SDCARD>;
977 status = "disabled";
978 };
979
Jagan Teki20759fa2021-11-15 23:08:20 +0530980 sdio: mmc@ff380000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200981 compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
982 reg = <0x0 0xff380000 0x0 0x4000>;
983 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
984 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
985 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
Jagan Teki20759fa2021-11-15 23:08:20 +0530986 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
987 bus-width = <4>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200988 fifo-depth = <0x100>;
989 max-frequency = <150000000>;
990 pinctrl-names = "default";
991 pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>;
992 power-domains = <&power PX30_PD_MMC_NAND>;
993 status = "disabled";
994 };
995
Jagan Teki20759fa2021-11-15 23:08:20 +0530996 emmc: mmc@ff390000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +0200997 compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
998 reg = <0x0 0xff390000 0x0 0x4000>;
999 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1000 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
1001 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
Jagan Teki20759fa2021-11-15 23:08:20 +05301002 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1003 bus-width = <8>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001004 fifo-depth = <0x100>;
1005 max-frequency = <150000000>;
1006 pinctrl-names = "default";
1007 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
1008 power-domains = <&power PX30_PD_MMC_NAND>;
1009 status = "disabled";
1010 };
1011
Jagan Teki20759fa2021-11-15 23:08:20 +05301012 sfc: spi@ff3a0000 {
Chris Morgan51519002021-08-05 16:26:40 +08001013 compatible = "rockchip,sfc";
1014 reg = <0x0 0xff3a0000 0x0 0x4000>;
1015 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
1016 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
1017 clock-names = "clk_sfc", "hclk_sfc";
Chris Morgan24c96a52021-08-20 20:46:58 -05001018 pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus4>;
Jagan Teki20759fa2021-11-15 23:08:20 +05301019 pinctrl-names = "default";
1020 power-domains = <&power PX30_PD_MMC_NAND>;
1021 status = "disabled";
1022 };
1023
1024 nfc: nand-controller@ff3b0000 {
1025 compatible = "rockchip,px30-nfc";
1026 reg = <0x0 0xff3b0000 0x0 0x4000>;
1027 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1028 clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
1029 clock-names = "ahb", "nfc";
1030 assigned-clocks = <&cru SCLK_NANDC>;
1031 assigned-clock-rates = <150000000>;
1032 pinctrl-names = "default";
1033 pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_cs0
1034 &flash_rdn &flash_rdy &flash_wrn &flash_dqs>;
Chris Morgan51519002021-08-05 16:26:40 +08001035 power-domains = <&power PX30_PD_MMC_NAND>;
1036 status = "disabled";
1037 };
1038
Jagan Teki20759fa2021-11-15 23:08:20 +05301039 gpu_opp_table: opp-table-1 {
1040 compatible = "operating-points-v2";
1041
1042 opp-200000000 {
1043 opp-hz = /bits/ 64 <200000000>;
1044 opp-microvolt = <950000>;
1045 };
1046 opp-300000000 {
1047 opp-hz = /bits/ 64 <300000000>;
1048 opp-microvolt = <975000>;
1049 };
1050 opp-400000000 {
1051 opp-hz = /bits/ 64 <400000000>;
1052 opp-microvolt = <1050000>;
1053 };
1054 opp-480000000 {
1055 opp-hz = /bits/ 64 <480000000>;
1056 opp-microvolt = <1125000>;
1057 };
1058 };
1059
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001060 gpu: gpu@ff400000 {
1061 compatible = "rockchip,px30-mali", "arm,mali-bifrost";
1062 reg = <0x0 0xff400000 0x0 0x4000>;
1063 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
1064 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
1065 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1066 interrupt-names = "job", "mmu", "gpu";
1067 clocks = <&cru SCLK_GPU>;
1068 #cooling-cells = <2>;
1069 power-domains = <&power PX30_PD_GPU>;
Jagan Teki20759fa2021-11-15 23:08:20 +05301070 operating-points-v2 = <&gpu_opp_table>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001071 status = "disabled";
1072 };
1073
Jagan Teki20759fa2021-11-15 23:08:20 +05301074 vpu: video-codec@ff442000 {
1075 compatible = "rockchip,px30-vpu";
1076 reg = <0x0 0xff442000 0x0 0x800>;
1077 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
1078 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
1079 interrupt-names = "vepu", "vdpu";
1080 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
1081 clock-names = "aclk", "hclk";
1082 iommus = <&vpu_mmu>;
1083 power-domains = <&power PX30_PD_VPU>;
1084 };
1085
1086 vpu_mmu: iommu@ff442800 {
1087 compatible = "rockchip,iommu";
1088 reg = <0x0 0xff442800 0x0 0x100>;
1089 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1090 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
1091 clock-names = "aclk", "iface";
1092 #iommu-cells = <0>;
1093 power-domains = <&power PX30_PD_VPU>;
1094 };
1095
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001096 dsi: dsi@ff450000 {
Quentin Schulz3202a962023-01-09 11:36:44 +01001097 compatible = "rockchip,px30-mipi-dsi", "snps,dw-mipi-dsi";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001098 reg = <0x0 0xff450000 0x0 0x10000>;
1099 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001100 clocks = <&cru PCLK_MIPI_DSI>;
1101 clock-names = "pclk";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001102 phys = <&dsi_dphy>;
1103 phy-names = "dphy";
1104 power-domains = <&power PX30_PD_VO>;
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001105 resets = <&cru SRST_MIPIDSI_HOST_P>;
1106 reset-names = "apb";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001107 rockchip,grf = <&grf>;
1108 #address-cells = <1>;
1109 #size-cells = <0>;
1110 status = "disabled";
1111
1112 ports {
1113 #address-cells = <1>;
1114 #size-cells = <0>;
1115
1116 port@0 {
1117 reg = <0>;
1118 #address-cells = <1>;
1119 #size-cells = <0>;
1120
1121 dsi_in_vopb: endpoint@0 {
1122 reg = <0>;
1123 remote-endpoint = <&vopb_out_dsi>;
1124 };
1125
1126 dsi_in_vopl: endpoint@1 {
1127 reg = <1>;
1128 remote-endpoint = <&vopl_out_dsi>;
1129 };
1130 };
1131 };
1132 };
1133
1134 vopb: vop@ff460000 {
1135 compatible = "rockchip,px30-vop-big";
1136 reg = <0x0 0xff460000 0x0 0xefc>;
1137 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
1138 clocks = <&cru ACLK_VOPB>, <&cru DCLK_VOPB>,
1139 <&cru HCLK_VOPB>;
1140 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1141 resets = <&cru SRST_VOPB_A>, <&cru SRST_VOPB_H>, <&cru SRST_VOPB>;
1142 reset-names = "axi", "ahb", "dclk";
1143 iommus = <&vopb_mmu>;
1144 power-domains = <&power PX30_PD_VO>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001145 status = "disabled";
1146
1147 vopb_out: port {
1148 #address-cells = <1>;
1149 #size-cells = <0>;
1150
1151 vopb_out_dsi: endpoint@0 {
1152 reg = <0>;
1153 remote-endpoint = <&dsi_in_vopb>;
1154 };
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001155
1156 vopb_out_lvds: endpoint@1 {
1157 reg = <1>;
1158 remote-endpoint = <&lvds_vopb_in>;
1159 };
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001160 };
1161 };
1162
1163 vopb_mmu: iommu@ff460f00 {
1164 compatible = "rockchip,iommu";
1165 reg = <0x0 0xff460f00 0x0 0x100>;
1166 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001167 clocks = <&cru ACLK_VOPB>, <&cru HCLK_VOPB>;
1168 clock-names = "aclk", "iface";
1169 power-domains = <&power PX30_PD_VO>;
1170 #iommu-cells = <0>;
1171 status = "disabled";
1172 };
1173
1174 vopl: vop@ff470000 {
1175 compatible = "rockchip,px30-vop-lit";
1176 reg = <0x0 0xff470000 0x0 0xefc>;
1177 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
1178 clocks = <&cru ACLK_VOPL>, <&cru DCLK_VOPL>,
1179 <&cru HCLK_VOPL>;
1180 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1181 resets = <&cru SRST_VOPL_A>, <&cru SRST_VOPL_H>, <&cru SRST_VOPL>;
1182 reset-names = "axi", "ahb", "dclk";
1183 iommus = <&vopl_mmu>;
1184 power-domains = <&power PX30_PD_VO>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001185 status = "disabled";
1186
1187 vopl_out: port {
1188 #address-cells = <1>;
1189 #size-cells = <0>;
1190
1191 vopl_out_dsi: endpoint@0 {
1192 reg = <0>;
1193 remote-endpoint = <&dsi_in_vopl>;
1194 };
Heiko Stuebnerc9ea0cc2020-01-22 10:31:43 +01001195
1196 vopl_out_lvds: endpoint@1 {
1197 reg = <1>;
1198 remote-endpoint = <&lvds_vopl_in>;
1199 };
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001200 };
1201 };
1202
1203 vopl_mmu: iommu@ff470f00 {
1204 compatible = "rockchip,iommu";
1205 reg = <0x0 0xff470f00 0x0 0x100>;
Jagan Teki20759fa2021-11-15 23:08:20 +05301206 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001207 clocks = <&cru ACLK_VOPL>, <&cru HCLK_VOPL>;
1208 clock-names = "aclk", "iface";
1209 power-domains = <&power PX30_PD_VO>;
1210 #iommu-cells = <0>;
1211 status = "disabled";
1212 };
1213
Jagan Teki20759fa2021-11-15 23:08:20 +05301214 isp: isp@ff4a0000 {
1215 compatible = "rockchip,px30-cif-isp"; /*rk3326-rkisp1*/
1216 reg = <0x0 0xff4a0000 0x0 0x8000>;
1217 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1218 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
1219 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1220 interrupt-names = "isp", "mi", "mipi";
1221 clocks = <&cru SCLK_ISP>,
1222 <&cru ACLK_ISP>,
1223 <&cru HCLK_ISP>,
1224 <&cru PCLK_ISP>;
1225 clock-names = "isp", "aclk", "hclk", "pclk";
1226 iommus = <&isp_mmu>;
1227 phys = <&csi_dphy>;
1228 phy-names = "dphy";
1229 power-domains = <&power PX30_PD_VI>;
1230 status = "disabled";
1231
1232 ports {
1233 #address-cells = <1>;
1234 #size-cells = <0>;
1235
1236 port@0 {
1237 reg = <0>;
1238 #address-cells = <1>;
1239 #size-cells = <0>;
1240 };
1241 };
1242 };
1243
1244 isp_mmu: iommu@ff4a8000 {
1245 compatible = "rockchip,iommu";
1246 reg = <0x0 0xff4a8000 0x0 0x100>;
1247 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1248 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
1249 clock-names = "aclk", "iface";
1250 power-domains = <&power PX30_PD_VI>;
1251 rockchip,disable-mmu-reset;
1252 #iommu-cells = <0>;
1253 };
1254
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001255 qos_gmac: qos@ff518000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301256 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001257 reg = <0x0 0xff518000 0x0 0x20>;
1258 };
1259
1260 qos_gpu: qos@ff520000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301261 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001262 reg = <0x0 0xff520000 0x0 0x20>;
1263 };
1264
1265 qos_sdmmc: qos@ff52c000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301266 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001267 reg = <0x0 0xff52c000 0x0 0x20>;
1268 };
1269
1270 qos_emmc: qos@ff538000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301271 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001272 reg = <0x0 0xff538000 0x0 0x20>;
1273 };
1274
1275 qos_nand: qos@ff538080 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301276 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001277 reg = <0x0 0xff538080 0x0 0x20>;
1278 };
1279
1280 qos_sdio: qos@ff538100 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301281 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001282 reg = <0x0 0xff538100 0x0 0x20>;
1283 };
1284
1285 qos_sfc: qos@ff538180 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301286 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001287 reg = <0x0 0xff538180 0x0 0x20>;
1288 };
1289
1290 qos_usb_host: qos@ff540000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301291 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001292 reg = <0x0 0xff540000 0x0 0x20>;
1293 };
1294
1295 qos_usb_otg: qos@ff540080 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301296 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001297 reg = <0x0 0xff540080 0x0 0x20>;
1298 };
1299
1300 qos_isp_128: qos@ff548000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301301 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001302 reg = <0x0 0xff548000 0x0 0x20>;
1303 };
1304
1305 qos_isp_rd: qos@ff548080 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301306 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001307 reg = <0x0 0xff548080 0x0 0x20>;
1308 };
1309
1310 qos_isp_wr: qos@ff548100 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301311 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001312 reg = <0x0 0xff548100 0x0 0x20>;
1313 };
1314
1315 qos_isp_m1: qos@ff548180 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301316 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001317 reg = <0x0 0xff548180 0x0 0x20>;
1318 };
1319
1320 qos_vip: qos@ff548200 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301321 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001322 reg = <0x0 0xff548200 0x0 0x20>;
1323 };
1324
1325 qos_rga_rd: qos@ff550000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301326 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001327 reg = <0x0 0xff550000 0x0 0x20>;
1328 };
1329
1330 qos_rga_wr: qos@ff550080 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301331 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001332 reg = <0x0 0xff550080 0x0 0x20>;
1333 };
1334
1335 qos_vop_m0: qos@ff550100 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301336 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001337 reg = <0x0 0xff550100 0x0 0x20>;
1338 };
1339
1340 qos_vop_m1: qos@ff550180 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301341 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001342 reg = <0x0 0xff550180 0x0 0x20>;
1343 };
1344
1345 qos_vpu: qos@ff558000 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301346 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001347 reg = <0x0 0xff558000 0x0 0x20>;
1348 };
1349
1350 qos_vpu_r128: qos@ff558080 {
Jagan Teki20759fa2021-11-15 23:08:20 +05301351 compatible = "rockchip,px30-qos", "syscon";
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001352 reg = <0x0 0xff558080 0x0 0x20>;
1353 };
1354
1355 pinctrl: pinctrl {
1356 compatible = "rockchip,px30-pinctrl";
1357 rockchip,grf = <&grf>;
1358 rockchip,pmu = <&pmugrf>;
1359 #address-cells = <2>;
1360 #size-cells = <2>;
1361 ranges;
1362
Jagan Teki20759fa2021-11-15 23:08:20 +05301363 gpio0: gpio@ff040000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001364 compatible = "rockchip,gpio-bank";
1365 reg = <0x0 0xff040000 0x0 0x100>;
1366 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1367 clocks = <&pmucru PCLK_GPIO0_PMU>;
1368 gpio-controller;
Chris Morgan269be832023-02-13 16:27:35 -06001369 gpio-ranges = <&pinctrl 0 0 32>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001370 #gpio-cells = <2>;
1371
1372 interrupt-controller;
1373 #interrupt-cells = <2>;
1374 };
1375
Jagan Teki20759fa2021-11-15 23:08:20 +05301376 gpio1: gpio@ff250000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001377 compatible = "rockchip,gpio-bank";
1378 reg = <0x0 0xff250000 0x0 0x100>;
1379 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
1380 clocks = <&cru PCLK_GPIO1>;
1381 gpio-controller;
Chris Morgan269be832023-02-13 16:27:35 -06001382 gpio-ranges = <&pinctrl 0 32 32>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001383 #gpio-cells = <2>;
1384
1385 interrupt-controller;
1386 #interrupt-cells = <2>;
1387 };
1388
Jagan Teki20759fa2021-11-15 23:08:20 +05301389 gpio2: gpio@ff260000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001390 compatible = "rockchip,gpio-bank";
1391 reg = <0x0 0xff260000 0x0 0x100>;
1392 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1393 clocks = <&cru PCLK_GPIO2>;
1394 gpio-controller;
Chris Morgan269be832023-02-13 16:27:35 -06001395 gpio-ranges = <&pinctrl 0 64 32>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001396 #gpio-cells = <2>;
1397
1398 interrupt-controller;
1399 #interrupt-cells = <2>;
1400 };
1401
Jagan Teki20759fa2021-11-15 23:08:20 +05301402 gpio3: gpio@ff270000 {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001403 compatible = "rockchip,gpio-bank";
1404 reg = <0x0 0xff270000 0x0 0x100>;
1405 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1406 clocks = <&cru PCLK_GPIO3>;
1407 gpio-controller;
Chris Morgan269be832023-02-13 16:27:35 -06001408 gpio-ranges = <&pinctrl 0 96 32>;
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001409 #gpio-cells = <2>;
1410
1411 interrupt-controller;
1412 #interrupt-cells = <2>;
1413 };
1414
1415 pcfg_pull_up: pcfg-pull-up {
1416 bias-pull-up;
1417 };
1418
1419 pcfg_pull_down: pcfg-pull-down {
1420 bias-pull-down;
1421 };
1422
1423 pcfg_pull_none: pcfg-pull-none {
1424 bias-disable;
1425 };
1426
1427 pcfg_pull_none_2ma: pcfg-pull-none-2ma {
1428 bias-disable;
1429 drive-strength = <2>;
1430 };
1431
1432 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
1433 bias-pull-up;
1434 drive-strength = <2>;
1435 };
1436
1437 pcfg_pull_up_4ma: pcfg-pull-up-4ma {
1438 bias-pull-up;
1439 drive-strength = <4>;
1440 };
1441
1442 pcfg_pull_none_4ma: pcfg-pull-none-4ma {
1443 bias-disable;
1444 drive-strength = <4>;
1445 };
1446
1447 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
1448 bias-pull-down;
1449 drive-strength = <4>;
1450 };
1451
1452 pcfg_pull_none_8ma: pcfg-pull-none-8ma {
1453 bias-disable;
1454 drive-strength = <8>;
1455 };
1456
1457 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
1458 bias-pull-up;
1459 drive-strength = <8>;
1460 };
1461
1462 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1463 bias-disable;
1464 drive-strength = <12>;
1465 };
1466
1467 pcfg_pull_up_12ma: pcfg-pull-up-12ma {
1468 bias-pull-up;
1469 drive-strength = <12>;
1470 };
1471
1472 pcfg_pull_none_smt: pcfg-pull-none-smt {
1473 bias-disable;
1474 input-schmitt-enable;
1475 };
1476
1477 pcfg_output_high: pcfg-output-high {
1478 output-high;
1479 };
1480
1481 pcfg_output_low: pcfg-output-low {
1482 output-low;
1483 };
1484
1485 pcfg_input_high: pcfg-input-high {
1486 bias-pull-up;
1487 input-enable;
1488 };
1489
1490 pcfg_input: pcfg-input {
1491 input-enable;
1492 };
1493
1494 i2c0 {
1495 i2c0_xfer: i2c0-xfer {
1496 rockchip,pins =
1497 <0 RK_PB0 1 &pcfg_pull_none_smt>,
1498 <0 RK_PB1 1 &pcfg_pull_none_smt>;
1499 };
1500 };
1501
1502 i2c1 {
1503 i2c1_xfer: i2c1-xfer {
1504 rockchip,pins =
1505 <0 RK_PC2 1 &pcfg_pull_none_smt>,
1506 <0 RK_PC3 1 &pcfg_pull_none_smt>;
1507 };
1508 };
1509
1510 i2c2 {
1511 i2c2_xfer: i2c2-xfer {
1512 rockchip,pins =
1513 <2 RK_PB7 2 &pcfg_pull_none_smt>,
1514 <2 RK_PC0 2 &pcfg_pull_none_smt>;
1515 };
1516 };
1517
1518 i2c3 {
1519 i2c3_xfer: i2c3-xfer {
1520 rockchip,pins =
1521 <1 RK_PB4 4 &pcfg_pull_none_smt>,
1522 <1 RK_PB5 4 &pcfg_pull_none_smt>;
1523 };
1524 };
1525
1526 tsadc {
Jagan Teki20759fa2021-11-15 23:08:20 +05301527 tsadc_otp_pin: tsadc-otp-pin {
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02001528 rockchip,pins =
1529 <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
1530 };
1531
1532 tsadc_otp_out: tsadc-otp-out {
1533 rockchip,pins =
1534 <0 RK_PA6 1 &pcfg_pull_none>;
1535 };
1536 };
1537
1538 uart0 {
1539 uart0_xfer: uart0-xfer {
1540 rockchip,pins =
1541 <0 RK_PB2 1 &pcfg_pull_up>,
1542 <0 RK_PB3 1 &pcfg_pull_up>;
1543 };
1544
1545 uart0_cts: uart0-cts {
1546 rockchip,pins =
1547 <0 RK_PB4 1 &pcfg_pull_none>;
1548 };
1549
1550 uart0_rts: uart0-rts {
1551 rockchip,pins =
1552 <0 RK_PB5 1 &pcfg_pull_none>;
1553 };
1554 };
1555
1556 uart1 {
1557 uart1_xfer: uart1-xfer {
1558 rockchip,pins =
1559 <1 RK_PC1 1 &pcfg_pull_up>,
1560 <1 RK_PC0 1 &pcfg_pull_up>;
1561 };
1562
1563 uart1_cts: uart1-cts {
1564 rockchip,pins =
1565 <1 RK_PC2 1 &pcfg_pull_none>;
1566 };
1567
1568 uart1_rts: uart1-rts {
1569 rockchip,pins =
1570 <1 RK_PC3 1 &pcfg_pull_none>;
1571 };
1572 };
1573
1574 uart2-m0 {
1575 uart2m0_xfer: uart2m0-xfer {
1576 rockchip,pins =
1577 <1 RK_PD2 2 &pcfg_pull_up>,
1578 <1 RK_PD3 2 &pcfg_pull_up>;
1579 };
1580 };
1581
1582 uart2-m1 {
1583 uart2m1_xfer: uart2m1-xfer {
1584 rockchip,pins =
1585 <2 RK_PB4 2 &pcfg_pull_up>,
1586 <2 RK_PB6 2 &pcfg_pull_up>;
1587 };
1588 };
1589
1590 uart3-m0 {
1591 uart3m0_xfer: uart3m0-xfer {
1592 rockchip,pins =
1593 <0 RK_PC0 2 &pcfg_pull_up>,
1594 <0 RK_PC1 2 &pcfg_pull_up>;
1595 };
1596
1597 uart3m0_cts: uart3m0-cts {
1598 rockchip,pins =
1599 <0 RK_PC2 2 &pcfg_pull_none>;
1600 };
1601
1602 uart3m0_rts: uart3m0-rts {
1603 rockchip,pins =
1604 <0 RK_PC3 2 &pcfg_pull_none>;
1605 };
1606 };
1607
1608 uart3-m1 {
1609 uart3m1_xfer: uart3m1-xfer {
1610 rockchip,pins =
1611 <1 RK_PB6 2 &pcfg_pull_up>,
1612 <1 RK_PB7 2 &pcfg_pull_up>;
1613 };
1614
1615 uart3m1_cts: uart3m1-cts {
1616 rockchip,pins =
1617 <1 RK_PB4 2 &pcfg_pull_none>;
1618 };
1619
1620 uart3m1_rts: uart3m1-rts {
1621 rockchip,pins =
1622 <1 RK_PB5 2 &pcfg_pull_none>;
1623 };
1624 };
1625
1626 uart4 {
1627 uart4_xfer: uart4-xfer {
1628 rockchip,pins =
1629 <1 RK_PD4 2 &pcfg_pull_up>,
1630 <1 RK_PD5 2 &pcfg_pull_up>;
1631 };
1632
1633 uart4_cts: uart4-cts {
1634 rockchip,pins =
1635 <1 RK_PD6 2 &pcfg_pull_none>;
1636 };
1637
1638 uart4_rts: uart4-rts {
1639 rockchip,pins =
1640 <1 RK_PD7 2 &pcfg_pull_none>;
1641 };
1642 };
1643
1644 uart5 {
1645 uart5_xfer: uart5-xfer {
1646 rockchip,pins =
1647 <3 RK_PA2 4 &pcfg_pull_up>,
1648 <3 RK_PA1 4 &pcfg_pull_up>;
1649 };
1650
1651 uart5_cts: uart5-cts {
1652 rockchip,pins =
1653 <3 RK_PA3 4 &pcfg_pull_none>;
1654 };
1655
1656 uart5_rts: uart5-rts {
1657 rockchip,pins =
1658 <3 RK_PA5 4 &pcfg_pull_none>;
1659 };
1660 };
1661
1662 spi0 {
1663 spi0_clk: spi0-clk {
1664 rockchip,pins =
1665 <1 RK_PB7 3 &pcfg_pull_up_4ma>;
1666 };
1667
1668 spi0_csn: spi0-csn {
1669 rockchip,pins =
1670 <1 RK_PB6 3 &pcfg_pull_up_4ma>;
1671 };
1672
1673 spi0_miso: spi0-miso {
1674 rockchip,pins =
1675 <1 RK_PB5 3 &pcfg_pull_up_4ma>;
1676 };
1677
1678 spi0_mosi: spi0-mosi {
1679 rockchip,pins =
1680 <1 RK_PB4 3 &pcfg_pull_up_4ma>;
1681 };
1682
1683 spi0_clk_hs: spi0-clk-hs {
1684 rockchip,pins =
1685 <1 RK_PB7 3 &pcfg_pull_up_8ma>;
1686 };
1687
1688 spi0_miso_hs: spi0-miso-hs {
1689 rockchip,pins =
1690 <1 RK_PB5 3 &pcfg_pull_up_8ma>;
1691 };
1692
1693 spi0_mosi_hs: spi0-mosi-hs {
1694 rockchip,pins =
1695 <1 RK_PB4 3 &pcfg_pull_up_8ma>;
1696 };
1697 };
1698
1699 spi1 {
1700 spi1_clk: spi1-clk {
1701 rockchip,pins =
1702 <3 RK_PB7 4 &pcfg_pull_up_4ma>;
1703 };
1704
1705 spi1_csn0: spi1-csn0 {
1706 rockchip,pins =
1707 <3 RK_PB1 4 &pcfg_pull_up_4ma>;
1708 };
1709
1710 spi1_csn1: spi1-csn1 {
1711 rockchip,pins =
1712 <3 RK_PB2 2 &pcfg_pull_up_4ma>;
1713 };
1714
1715 spi1_miso: spi1-miso {
1716 rockchip,pins =
1717 <3 RK_PB6 4 &pcfg_pull_up_4ma>;
1718 };
1719
1720 spi1_mosi: spi1-mosi {
1721 rockchip,pins =
1722 <3 RK_PB4 4 &pcfg_pull_up_4ma>;
1723 };
1724
1725 spi1_clk_hs: spi1-clk-hs {
1726 rockchip,pins =
1727 <3 RK_PB7 4 &pcfg_pull_up_8ma>;
1728 };
1729
1730 spi1_miso_hs: spi1-miso-hs {
1731 rockchip,pins =
1732 <3 RK_PB6 4 &pcfg_pull_up_8ma>;
1733 };
1734
1735 spi1_mosi_hs: spi1-mosi-hs {
1736 rockchip,pins =
1737 <3 RK_PB4 4 &pcfg_pull_up_8ma>;
1738 };
1739 };
1740
1741 pdm {
1742 pdm_clk0m0: pdm-clk0m0 {
1743 rockchip,pins =
1744 <3 RK_PC6 2 &pcfg_pull_none>;
1745 };
1746
1747 pdm_clk0m1: pdm-clk0m1 {
1748 rockchip,pins =
1749 <2 RK_PC6 1 &pcfg_pull_none>;
1750 };
1751
1752 pdm_clk1: pdm-clk1 {
1753 rockchip,pins =
1754 <3 RK_PC7 2 &pcfg_pull_none>;
1755 };
1756
1757 pdm_sdi0m0: pdm-sdi0m0 {
1758 rockchip,pins =
1759 <3 RK_PD3 2 &pcfg_pull_none>;
1760 };
1761
1762 pdm_sdi0m1: pdm-sdi0m1 {
1763 rockchip,pins =
1764 <2 RK_PC5 2 &pcfg_pull_none>;
1765 };
1766
1767 pdm_sdi1: pdm-sdi1 {
1768 rockchip,pins =
1769 <3 RK_PD0 2 &pcfg_pull_none>;
1770 };
1771
1772 pdm_sdi2: pdm-sdi2 {
1773 rockchip,pins =
1774 <3 RK_PD1 2 &pcfg_pull_none>;
1775 };
1776
1777 pdm_sdi3: pdm-sdi3 {
1778 rockchip,pins =
1779 <3 RK_PD2 2 &pcfg_pull_none>;
1780 };
1781
1782 pdm_clk0m0_sleep: pdm-clk0m0-sleep {
1783 rockchip,pins =
1784 <3 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
1785 };
1786
1787 pdm_clk0m_sleep1: pdm-clk0m1-sleep {
1788 rockchip,pins =
1789 <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
1790 };
1791
1792 pdm_clk1_sleep: pdm-clk1-sleep {
1793 rockchip,pins =
1794 <3 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
1795 };
1796
1797 pdm_sdi0m0_sleep: pdm-sdi0m0-sleep {
1798 rockchip,pins =
1799 <3 RK_PD3 RK_FUNC_GPIO &pcfg_input_high>;
1800 };
1801
1802 pdm_sdi0m1_sleep: pdm-sdi0m1-sleep {
1803 rockchip,pins =
1804 <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
1805 };
1806
1807 pdm_sdi1_sleep: pdm-sdi1-sleep {
1808 rockchip,pins =
1809 <3 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>;
1810 };
1811
1812 pdm_sdi2_sleep: pdm-sdi2-sleep {
1813 rockchip,pins =
1814 <3 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
1815 };
1816
1817 pdm_sdi3_sleep: pdm-sdi3-sleep {
1818 rockchip,pins =
1819 <3 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>;
1820 };
1821 };
1822
1823 i2s0 {
1824 i2s0_8ch_mclk: i2s0-8ch-mclk {
1825 rockchip,pins =
1826 <3 RK_PC1 2 &pcfg_pull_none>;
1827 };
1828
1829 i2s0_8ch_sclktx: i2s0-8ch-sclktx {
1830 rockchip,pins =
1831 <3 RK_PC3 2 &pcfg_pull_none>;
1832 };
1833
1834 i2s0_8ch_sclkrx: i2s0-8ch-sclkrx {
1835 rockchip,pins =
1836 <3 RK_PB4 2 &pcfg_pull_none>;
1837 };
1838
1839 i2s0_8ch_lrcktx: i2s0-8ch-lrcktx {
1840 rockchip,pins =
1841 <3 RK_PC2 2 &pcfg_pull_none>;
1842 };
1843
1844 i2s0_8ch_lrckrx: i2s0-8ch-lrckrx {
1845 rockchip,pins =
1846 <3 RK_PB5 2 &pcfg_pull_none>;
1847 };
1848
1849 i2s0_8ch_sdo0: i2s0-8ch-sdo0 {
1850 rockchip,pins =
1851 <3 RK_PC4 2 &pcfg_pull_none>;
1852 };
1853
1854 i2s0_8ch_sdo1: i2s0-8ch-sdo1 {
1855 rockchip,pins =
1856 <3 RK_PC0 2 &pcfg_pull_none>;
1857 };
1858
1859 i2s0_8ch_sdo2: i2s0-8ch-sdo2 {
1860 rockchip,pins =
1861 <3 RK_PB7 2 &pcfg_pull_none>;
1862 };
1863
1864 i2s0_8ch_sdo3: i2s0-8ch-sdo3 {
1865 rockchip,pins =
1866 <3 RK_PB6 2 &pcfg_pull_none>;
1867 };
1868
1869 i2s0_8ch_sdi0: i2s0-8ch-sdi0 {
1870 rockchip,pins =
1871 <3 RK_PC5 2 &pcfg_pull_none>;
1872 };
1873
1874 i2s0_8ch_sdi1: i2s0-8ch-sdi1 {
1875 rockchip,pins =
1876 <3 RK_PB3 2 &pcfg_pull_none>;
1877 };
1878
1879 i2s0_8ch_sdi2: i2s0-8ch-sdi2 {
1880 rockchip,pins =
1881 <3 RK_PB1 2 &pcfg_pull_none>;
1882 };
1883
1884 i2s0_8ch_sdi3: i2s0-8ch-sdi3 {
1885 rockchip,pins =
1886 <3 RK_PB0 2 &pcfg_pull_none>;
1887 };
1888 };
1889
1890 i2s1 {
1891 i2s1_2ch_mclk: i2s1-2ch-mclk {
1892 rockchip,pins =
1893 <2 RK_PC3 1 &pcfg_pull_none>;
1894 };
1895
1896 i2s1_2ch_sclk: i2s1-2ch-sclk {
1897 rockchip,pins =
1898 <2 RK_PC2 1 &pcfg_pull_none>;
1899 };
1900
1901 i2s1_2ch_lrck: i2s1-2ch-lrck {
1902 rockchip,pins =
1903 <2 RK_PC1 1 &pcfg_pull_none>;
1904 };
1905
1906 i2s1_2ch_sdi: i2s1-2ch-sdi {
1907 rockchip,pins =
1908 <2 RK_PC5 1 &pcfg_pull_none>;
1909 };
1910
1911 i2s1_2ch_sdo: i2s1-2ch-sdo {
1912 rockchip,pins =
1913 <2 RK_PC4 1 &pcfg_pull_none>;
1914 };
1915 };
1916
1917 i2s2 {
1918 i2s2_2ch_mclk: i2s2-2ch-mclk {
1919 rockchip,pins =
1920 <3 RK_PA1 2 &pcfg_pull_none>;
1921 };
1922
1923 i2s2_2ch_sclk: i2s2-2ch-sclk {
1924 rockchip,pins =
1925 <3 RK_PA2 2 &pcfg_pull_none>;
1926 };
1927
1928 i2s2_2ch_lrck: i2s2-2ch-lrck {
1929 rockchip,pins =
1930 <3 RK_PA3 2 &pcfg_pull_none>;
1931 };
1932
1933 i2s2_2ch_sdi: i2s2-2ch-sdi {
1934 rockchip,pins =
1935 <3 RK_PA5 2 &pcfg_pull_none>;
1936 };
1937
1938 i2s2_2ch_sdo: i2s2-2ch-sdo {
1939 rockchip,pins =
1940 <3 RK_PA7 2 &pcfg_pull_none>;
1941 };
1942 };
1943
1944 sdmmc {
1945 sdmmc_clk: sdmmc-clk {
1946 rockchip,pins =
1947 <1 RK_PD6 1 &pcfg_pull_none_8ma>;
1948 };
1949
1950 sdmmc_cmd: sdmmc-cmd {
1951 rockchip,pins =
1952 <1 RK_PD7 1 &pcfg_pull_up_8ma>;
1953 };
1954
1955 sdmmc_det: sdmmc-det {
1956 rockchip,pins =
1957 <0 RK_PA3 1 &pcfg_pull_up_8ma>;
1958 };
1959
1960 sdmmc_bus1: sdmmc-bus1 {
1961 rockchip,pins =
1962 <1 RK_PD2 1 &pcfg_pull_up_8ma>;
1963 };
1964
1965 sdmmc_bus4: sdmmc-bus4 {
1966 rockchip,pins =
1967 <1 RK_PD2 1 &pcfg_pull_up_8ma>,
1968 <1 RK_PD3 1 &pcfg_pull_up_8ma>,
1969 <1 RK_PD4 1 &pcfg_pull_up_8ma>,
1970 <1 RK_PD5 1 &pcfg_pull_up_8ma>;
1971 };
1972 };
1973
1974 sdio {
1975 sdio_clk: sdio-clk {
1976 rockchip,pins =
1977 <1 RK_PC5 1 &pcfg_pull_none>;
1978 };
1979
1980 sdio_cmd: sdio-cmd {
1981 rockchip,pins =
1982 <1 RK_PC4 1 &pcfg_pull_up>;
1983 };
1984
1985 sdio_bus4: sdio-bus4 {
1986 rockchip,pins =
1987 <1 RK_PC6 1 &pcfg_pull_up>,
1988 <1 RK_PC7 1 &pcfg_pull_up>,
1989 <1 RK_PD0 1 &pcfg_pull_up>,
1990 <1 RK_PD1 1 &pcfg_pull_up>;
1991 };
1992 };
1993
1994 emmc {
1995 emmc_clk: emmc-clk {
1996 rockchip,pins =
1997 <1 RK_PB1 2 &pcfg_pull_none_8ma>;
1998 };
1999
2000 emmc_cmd: emmc-cmd {
2001 rockchip,pins =
2002 <1 RK_PB2 2 &pcfg_pull_up_8ma>;
2003 };
2004
2005 emmc_rstnout: emmc-rstnout {
2006 rockchip,pins =
2007 <1 RK_PB3 2 &pcfg_pull_none>;
2008 };
2009
2010 emmc_bus1: emmc-bus1 {
2011 rockchip,pins =
2012 <1 RK_PA0 2 &pcfg_pull_up_8ma>;
2013 };
2014
2015 emmc_bus4: emmc-bus4 {
2016 rockchip,pins =
2017 <1 RK_PA0 2 &pcfg_pull_up_8ma>,
2018 <1 RK_PA1 2 &pcfg_pull_up_8ma>,
2019 <1 RK_PA2 2 &pcfg_pull_up_8ma>,
2020 <1 RK_PA3 2 &pcfg_pull_up_8ma>;
2021 };
2022
2023 emmc_bus8: emmc-bus8 {
2024 rockchip,pins =
2025 <1 RK_PA0 2 &pcfg_pull_up_8ma>,
2026 <1 RK_PA1 2 &pcfg_pull_up_8ma>,
2027 <1 RK_PA2 2 &pcfg_pull_up_8ma>,
2028 <1 RK_PA3 2 &pcfg_pull_up_8ma>,
2029 <1 RK_PA4 2 &pcfg_pull_up_8ma>,
2030 <1 RK_PA5 2 &pcfg_pull_up_8ma>,
2031 <1 RK_PA6 2 &pcfg_pull_up_8ma>,
2032 <1 RK_PA7 2 &pcfg_pull_up_8ma>;
2033 };
2034 };
2035
2036 flash {
2037 flash_cs0: flash-cs0 {
2038 rockchip,pins =
2039 <1 RK_PB0 1 &pcfg_pull_none>;
2040 };
2041
2042 flash_rdy: flash-rdy {
2043 rockchip,pins =
2044 <1 RK_PB1 1 &pcfg_pull_none>;
2045 };
2046
2047 flash_dqs: flash-dqs {
2048 rockchip,pins =
2049 <1 RK_PB2 1 &pcfg_pull_none>;
2050 };
2051
2052 flash_ale: flash-ale {
2053 rockchip,pins =
2054 <1 RK_PB3 1 &pcfg_pull_none>;
2055 };
2056
2057 flash_cle: flash-cle {
2058 rockchip,pins =
2059 <1 RK_PB4 1 &pcfg_pull_none>;
2060 };
2061
2062 flash_wrn: flash-wrn {
2063 rockchip,pins =
2064 <1 RK_PB5 1 &pcfg_pull_none>;
2065 };
2066
2067 flash_csl: flash-csl {
2068 rockchip,pins =
2069 <1 RK_PB6 1 &pcfg_pull_none>;
2070 };
2071
2072 flash_rdn: flash-rdn {
2073 rockchip,pins =
2074 <1 RK_PB7 1 &pcfg_pull_none>;
2075 };
2076
2077 flash_bus8: flash-bus8 {
2078 rockchip,pins =
2079 <1 RK_PA0 1 &pcfg_pull_up_12ma>,
2080 <1 RK_PA1 1 &pcfg_pull_up_12ma>,
2081 <1 RK_PA2 1 &pcfg_pull_up_12ma>,
2082 <1 RK_PA3 1 &pcfg_pull_up_12ma>,
2083 <1 RK_PA4 1 &pcfg_pull_up_12ma>,
2084 <1 RK_PA5 1 &pcfg_pull_up_12ma>,
2085 <1 RK_PA6 1 &pcfg_pull_up_12ma>,
2086 <1 RK_PA7 1 &pcfg_pull_up_12ma>;
2087 };
2088 };
2089
Jagan Teki20759fa2021-11-15 23:08:20 +05302090 sfc {
Chris Morgan51519002021-08-05 16:26:40 +08002091 sfc_bus4: sfc-bus4 {
2092 rockchip,pins =
2093 <1 RK_PA0 3 &pcfg_pull_none>,
2094 <1 RK_PA1 3 &pcfg_pull_none>,
2095 <1 RK_PA2 3 &pcfg_pull_none>,
2096 <1 RK_PA3 3 &pcfg_pull_none>;
2097 };
2098
2099 sfc_bus2: sfc-bus2 {
2100 rockchip,pins =
2101 <1 RK_PA0 3 &pcfg_pull_none>,
2102 <1 RK_PA1 3 &pcfg_pull_none>;
2103 };
2104
Chris Morgan24c96a52021-08-20 20:46:58 -05002105 sfc_cs0: sfc-cs0 {
Chris Morgan51519002021-08-05 16:26:40 +08002106 rockchip,pins =
2107 <1 RK_PA4 3 &pcfg_pull_none>;
2108 };
2109
2110 sfc_clk: sfc-clk {
2111 rockchip,pins =
2112 <1 RK_PB1 3 &pcfg_pull_none>;
2113 };
2114 };
2115
Heiko Stuebnerdd611e92019-07-16 22:12:07 +02002116 lcdc {
2117 lcdc_rgb_dclk_pin: lcdc-rgb-dclk-pin {
2118 rockchip,pins =
2119 <3 RK_PA0 1 &pcfg_pull_none_12ma>;
2120 };
2121
2122 lcdc_rgb_m0_hsync_pin: lcdc-rgb-m0-hsync-pin {
2123 rockchip,pins =
2124 <3 RK_PA1 1 &pcfg_pull_none_12ma>;
2125 };
2126
2127 lcdc_rgb_m0_vsync_pin: lcdc-rgb-m0-vsync-pin {
2128 rockchip,pins =
2129 <3 RK_PA2 1 &pcfg_pull_none_12ma>;
2130 };
2131
2132 lcdc_rgb_m0_den_pin: lcdc-rgb-m0-den-pin {
2133 rockchip,pins =
2134 <3 RK_PA3 1 &pcfg_pull_none_12ma>;
2135 };
2136
2137 lcdc_rgb888_m0_data_pins: lcdc-rgb888-m0-data-pins {
2138 rockchip,pins =
2139 <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
2140 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2141 <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
2142 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2143 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2144 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2145 <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
2146 <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
2147 <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
2148 <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
2149 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2150 <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
2151 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2152 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2153 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2154 <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
2155 <3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
2156 <3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
2157 <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
2158 <3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
2159 <3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
2160 <3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
2161 <3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
2162 <3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
2163 };
2164
2165 lcdc_rgb666_m0_data_pins: lcdc-rgb666-m0-data-pins {
2166 rockchip,pins =
2167 <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
2168 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2169 <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
2170 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2171 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2172 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2173 <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
2174 <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
2175 <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
2176 <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
2177 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2178 <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
2179 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2180 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2181 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2182 <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
2183 <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
2184 <3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
2185 };
2186
2187 lcdc_rgb565_m0_data_pins: lcdc-rgb565-m0-data-pins {
2188 rockchip,pins =
2189 <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
2190 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2191 <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
2192 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2193 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2194 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2195 <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
2196 <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
2197 <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
2198 <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
2199 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2200 <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
2201 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2202 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2203 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2204 <3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
2205 };
2206
2207 lcdc_rgb888_m1_data_pins: lcdc-rgb888-m1-data-pins {
2208 rockchip,pins =
2209 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2210 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2211 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2212 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2213 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2214 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2215 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2216 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2217 <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
2218 <3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
2219 <3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
2220 <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
2221 <3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
2222 <3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
2223 <3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
2224 <3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
2225 <3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
2226 };
2227
2228 lcdc_rgb666_m1_data_pins: lcdc-rgb666-m1-data-pins {
2229 rockchip,pins =
2230 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2231 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2232 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2233 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2234 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2235 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2236 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2237 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2238 <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
2239 <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
2240 <3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
2241 };
2242
2243 lcdc_rgb565_m1_data_pins: lcdc-rgb565-m1-data-pins {
2244 rockchip,pins =
2245 <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
2246 <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
2247 <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
2248 <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
2249 <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
2250 <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
2251 <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
2252 <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
2253 <3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
2254 };
2255 };
2256
2257 pwm0 {
2258 pwm0_pin: pwm0-pin {
2259 rockchip,pins =
2260 <0 RK_PB7 1 &pcfg_pull_none>;
2261 };
2262 };
2263
2264 pwm1 {
2265 pwm1_pin: pwm1-pin {
2266 rockchip,pins =
2267 <0 RK_PC0 1 &pcfg_pull_none>;
2268 };
2269 };
2270
2271 pwm2 {
2272 pwm2_pin: pwm2-pin {
2273 rockchip,pins =
2274 <2 RK_PB5 1 &pcfg_pull_none>;
2275 };
2276 };
2277
2278 pwm3 {
2279 pwm3_pin: pwm3-pin {
2280 rockchip,pins =
2281 <0 RK_PC1 1 &pcfg_pull_none>;
2282 };
2283 };
2284
2285 pwm4 {
2286 pwm4_pin: pwm4-pin {
2287 rockchip,pins =
2288 <3 RK_PC2 3 &pcfg_pull_none>;
2289 };
2290 };
2291
2292 pwm5 {
2293 pwm5_pin: pwm5-pin {
2294 rockchip,pins =
2295 <3 RK_PC3 3 &pcfg_pull_none>;
2296 };
2297 };
2298
2299 pwm6 {
2300 pwm6_pin: pwm6-pin {
2301 rockchip,pins =
2302 <3 RK_PC4 3 &pcfg_pull_none>;
2303 };
2304 };
2305
2306 pwm7 {
2307 pwm7_pin: pwm7-pin {
2308 rockchip,pins =
2309 <3 RK_PC5 3 &pcfg_pull_none>;
2310 };
2311 };
2312
2313 gmac {
2314 rmii_pins: rmii-pins {
2315 rockchip,pins =
2316 <2 RK_PA0 2 &pcfg_pull_none_12ma>, /* mac_txen */
2317 <2 RK_PA1 2 &pcfg_pull_none_12ma>, /* mac_txd1 */
2318 <2 RK_PA2 2 &pcfg_pull_none_12ma>, /* mac_txd0 */
2319 <2 RK_PA3 2 &pcfg_pull_none>, /* mac_rxd0 */
2320 <2 RK_PA4 2 &pcfg_pull_none>, /* mac_rxd1 */
2321 <2 RK_PA5 2 &pcfg_pull_none>, /* mac_rxer */
2322 <2 RK_PA6 2 &pcfg_pull_none>, /* mac_rxdv */
2323 <2 RK_PA7 2 &pcfg_pull_none>, /* mac_mdio */
2324 <2 RK_PB1 2 &pcfg_pull_none>; /* mac_mdc */
2325 };
2326
2327 mac_refclk_12ma: mac-refclk-12ma {
2328 rockchip,pins =
2329 <2 RK_PB2 2 &pcfg_pull_none_12ma>;
2330 };
2331
2332 mac_refclk: mac-refclk {
2333 rockchip,pins =
2334 <2 RK_PB2 2 &pcfg_pull_none>;
2335 };
2336 };
2337
2338 cif-m0 {
2339 cif_clkout_m0: cif-clkout-m0 {
2340 rockchip,pins =
2341 <2 RK_PB3 1 &pcfg_pull_none>;
2342 };
2343
2344 dvp_d2d9_m0: dvp-d2d9-m0 {
2345 rockchip,pins =
2346 <2 RK_PA0 1 &pcfg_pull_none>, /* cif_data2 */
2347 <2 RK_PA1 1 &pcfg_pull_none>, /* cif_data3 */
2348 <2 RK_PA2 1 &pcfg_pull_none>, /* cif_data4 */
2349 <2 RK_PA3 1 &pcfg_pull_none>, /* cif_data5 */
2350 <2 RK_PA4 1 &pcfg_pull_none>, /* cif_data6 */
2351 <2 RK_PA5 1 &pcfg_pull_none>, /* cif_data7 */
2352 <2 RK_PA6 1 &pcfg_pull_none>, /* cif_data8 */
2353 <2 RK_PA7 1 &pcfg_pull_none>, /* cif_data9 */
2354 <2 RK_PB0 1 &pcfg_pull_none>, /* cif_sync */
2355 <2 RK_PB1 1 &pcfg_pull_none>, /* cif_href */
2356 <2 RK_PB2 1 &pcfg_pull_none>, /* cif_clkin */
2357 <2 RK_PB3 1 &pcfg_pull_none>; /* cif_clkout */
2358 };
2359
2360 dvp_d0d1_m0: dvp-d0d1-m0 {
2361 rockchip,pins =
2362 <2 RK_PB4 1 &pcfg_pull_none>, /* cif_data0 */
2363 <2 RK_PB6 1 &pcfg_pull_none>; /* cif_data1 */
2364 };
2365
2366 dvp_d10d11_m0:d10-d11-m0 {
2367 rockchip,pins =
2368 <2 RK_PB7 1 &pcfg_pull_none>, /* cif_data10 */
2369 <2 RK_PC0 1 &pcfg_pull_none>; /* cif_data11 */
2370 };
2371 };
2372
2373 cif-m1 {
2374 cif_clkout_m1: cif-clkout-m1 {
2375 rockchip,pins =
2376 <3 RK_PD0 3 &pcfg_pull_none>;
2377 };
2378
2379 dvp_d2d9_m1: dvp-d2d9-m1 {
2380 rockchip,pins =
2381 <3 RK_PA3 3 &pcfg_pull_none>, /* cif_data2 */
2382 <3 RK_PA5 3 &pcfg_pull_none>, /* cif_data3 */
2383 <3 RK_PA7 3 &pcfg_pull_none>, /* cif_data4 */
2384 <3 RK_PB0 3 &pcfg_pull_none>, /* cif_data5 */
2385 <3 RK_PB1 3 &pcfg_pull_none>, /* cif_data6 */
2386 <3 RK_PB4 3 &pcfg_pull_none>, /* cif_data7 */
2387 <3 RK_PB6 3 &pcfg_pull_none>, /* cif_data8 */
2388 <3 RK_PB7 3 &pcfg_pull_none>, /* cif_data9 */
2389 <3 RK_PD1 3 &pcfg_pull_none>, /* cif_sync */
2390 <3 RK_PD2 3 &pcfg_pull_none>, /* cif_href */
2391 <3 RK_PD3 3 &pcfg_pull_none>, /* cif_clkin */
2392 <3 RK_PD0 3 &pcfg_pull_none>; /* cif_clkout */
2393 };
2394
2395 dvp_d0d1_m1: dvp-d0d1-m1 {
2396 rockchip,pins =
2397 <3 RK_PA1 3 &pcfg_pull_none>, /* cif_data0 */
2398 <3 RK_PA2 3 &pcfg_pull_none>; /* cif_data1 */
2399 };
2400
2401 dvp_d10d11_m1:d10-d11-m1 {
2402 rockchip,pins =
2403 <3 RK_PC6 3 &pcfg_pull_none>, /* cif_data10 */
2404 <3 RK_PC7 3 &pcfg_pull_none>; /* cif_data11 */
2405 };
2406 };
2407
2408 isp {
2409 isp_prelight: isp-prelight {
2410 rockchip,pins =
2411 <3 RK_PD1 4 &pcfg_pull_none>;
2412 };
2413 };
2414 };
2415};