blob: a080ae8d69742822a3260ff642bd747ab50a9788 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Kever Yangfc281b72017-02-23 15:37:50 +08002/*
3 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
Kever Yangfc281b72017-02-23 15:37:50 +08004 */
5
6#include <dt-bindings/clock/rk3328-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
12/ {
13 compatible = "rockchip,rk3328";
14
15 interrupt-parent = <&gic>;
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 aliases {
20 serial0 = &uart0;
21 serial1 = &uart1;
22 serial2 = &uart2;
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 i2c2 = &i2c2;
26 i2c3 = &i2c3;
Kever Yang73518912017-05-18 16:05:20 +080027 mmc0 = &emmc;
28 mmc1 = &sdmmc;
29 mmc2 = &sdmmc_ext;
Kever Yangfc281b72017-02-23 15:37:50 +080030 };
31
32 cpus {
33 #address-cells = <2>;
34 #size-cells = <0>;
35
36 cpu0: cpu@0 {
37 device_type = "cpu";
38 compatible = "arm,cortex-a53", "arm,armv8";
39 reg = <0x0 0x0>;
40 enable-method = "psci";
41// clocks = <&cru ARMCLK>;
42 operating-points-v2 = <&cpu0_opp_table>;
43 };
44 cpu1: cpu@1 {
45 device_type = "cpu";
46 compatible = "arm,cortex-a53", "arm,armv8";
47 reg = <0x0 0x1>;
48 enable-method = "psci";
49 };
50 cpu2: cpu@2 {
51 device_type = "cpu";
52 compatible = "arm,cortex-a53", "arm,armv8";
53 reg = <0x0 0x2>;
54 enable-method = "psci";
55 };
56 cpu3: cpu@3 {
57 device_type = "cpu";
58 compatible = "arm,cortex-a53", "arm,armv8";
59 reg = <0x0 0x3>;
60 enable-method = "psci";
61 };
62 };
63
64 cpu0_opp_table: opp_table0 {
65 compatible = "operating-points-v2";
66 opp-shared;
67
68 opp@408000000 {
69 opp-hz = /bits/ 64 <408000000>;
70 opp-microvolt = <950000>;
71 clock-latency-ns = <40000>;
72 opp-suspend;
73 };
74 opp@600000000 {
75 opp-hz = /bits/ 64 <600000000>;
76 opp-microvolt = <950000>;
77 clock-latency-ns = <40000>;
78 };
79 opp@816000000 {
80 opp-hz = /bits/ 64 <816000000>;
81 opp-microvolt = <1000000>;
82 clock-latency-ns = <40000>;
83 };
84 opp@1008000000 {
85 opp-hz = /bits/ 64 <1008000000>;
86 opp-microvolt = <1100000>;
87 clock-latency-ns = <40000>;
88 };
89 opp@1200000000 {
90 opp-hz = /bits/ 64 <1200000000>;
91 opp-microvolt = <1225000>;
92 clock-latency-ns = <40000>;
93 };
94 opp@1296000000 {
95 opp-hz = /bits/ 64 <1296000000>;
96 opp-microvolt = <1300000>;
97 clock-latency-ns = <40000>;
98 };
99 };
100
101 arm-pmu {
102 compatible = "arm,cortex-a53-pmu";
103 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
104 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
105 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
106 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
107 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
108 };
109
110 psci {
111 compatible = "arm,psci-1.0";
112 method = "smc";
113 };
114
115 timer {
116 compatible = "arm,armv8-timer";
117 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
118 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
119 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
120 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
121 };
122
123 xin24m: xin24m {
124 compatible = "fixed-clock";
125 #clock-cells = <0>;
126 clock-frequency = <24000000>;
127 clock-output-names = "xin24m";
128 };
129
130 i2s0: i2s@ff000000 {
131 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
132 reg = <0x0 0xff000000 0x0 0x1000>;
133 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
134 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
135 clock-names = "i2s_clk", "i2s_hclk";
136 dmas = <&dmac 11>, <&dmac 12>;
137 #dma-cells = <2>;
138 dma-names = "tx", "rx";
139 status = "disabled";
140 };
141
142 i2s1: i2s@ff010000 {
143 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
144 reg = <0x0 0xff010000 0x0 0x1000>;
145 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
146 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
147 clock-names = "i2s_clk", "i2s_hclk";
148 dmas = <&dmac 14>, <&dmac 15>;
149 #dma-cells = <2>;
150 dma-names = "tx", "rx";
151 status = "disabled";
152 };
153
154 i2s2: i2s@ff020000 {
155 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
156 reg = <0x0 0xff020000 0x0 0x1000>;
157 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
158 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
159 clock-names = "i2s_clk", "i2s_hclk";
160 dmas = <&dmac 0>, <&dmac 1>;
161 #dma-cells = <2>;
162 dma-names = "tx", "rx";
163 pinctrl-names = "default", "sleep";
164 pinctrl-0 = <&i2s2m0_mclk
165 &i2s2m0_sclk
166 &i2s2m0_lrcktx
167 &i2s2m0_lrckrx
168 &i2s2m0_sdo
169 &i2s2m0_sdi>;
170 pinctrl-1 = <&i2s2m0_sleep>;
171 status = "disabled";
172 };
173
174 spdif: spdif@ff030000 {
175 compatible = "rockchip,rk3328-spdif";
176 reg = <0x0 0xff030000 0x0 0x1000>;
177 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
178 clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
179 clock-names = "mclk", "hclk";
180 dmas = <&dmac 10>;
181 #dma-cells = <1>;
182 dma-names = "tx";
183 pinctrl-names = "default";
184 pinctrl-0 = <&spdifm2_tx>;
185 status = "disabled";
186 };
187
188 grf: syscon@ff100000 {
Kever Yangf1a14462017-06-23 16:11:09 +0800189 u-boot,dm-pre-reloc;
Kever Yangfc281b72017-02-23 15:37:50 +0800190 compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
191 reg = <0x0 0xff100000 0x0 0x1000>;
Kever Yangfc281b72017-02-23 15:37:50 +0800192
193 io_domains: io-domains {
194 compatible = "rockchip,rk3328-io-voltage-domain";
195 status = "disabled";
196 };
197 };
198
199 uart0: serial@ff110000 {
200 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
201 reg = <0x0 0xff110000 0x0 0x100>;
202 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
203 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
204 clock-names = "baudclk", "apb_pclk";
205 reg-shift = <2>;
206 reg-io-width = <4>;
207 dmas = <&dmac 2>, <&dmac 3>;
208 #dma-cells = <2>;
209 pinctrl-names = "default";
210 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
211 status = "disabled";
212 };
213
214 uart1: serial@ff120000 {
215 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
216 reg = <0x0 0xff120000 0x0 0x100>;
217 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
219 clock-names = "sclk_uart", "pclk_uart";
220 reg-shift = <2>;
221 reg-io-width = <4>;
222 dmas = <&dmac 4>, <&dmac 5>;
223 #dma-cells = <2>;
224 pinctrl-names = "default";
225 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
226 status = "disabled";
227 };
228
229 uart2: serial@ff130000 {
230 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
231 reg = <0x0 0xff130000 0x0 0x100>;
232 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
233 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
234 clock-names = "baudclk", "apb_pclk";
235 clock-frequency = <24000000>;
236 reg-shift = <2>;
237 reg-io-width = <4>;
238 dmas = <&dmac 6>, <&dmac 7>;
239 #dma-cells = <2>;
240 pinctrl-names = "default";
241 pinctrl-0 = <&uart2m1_xfer>;
242 status = "disabled";
243 };
244
245 pmu: power-management@ff140000 {
246 compatible = "rockchip,rk3328-pmu", "syscon", "simple-mfd";
247 reg = <0x0 0xff140000 0x0 0x1000>;
248 };
249
250 i2c0: i2c@ff150000 {
251 compatible = "rockchip,rk3328-i2c";
252 reg = <0x0 0xff150000 0x0 0x1000>;
253 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
254 #address-cells = <1>;
255 #size-cells = <0>;
256 clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
257 clock-names = "i2c", "pclk";
258 pinctrl-names = "default";
259 pinctrl-0 = <&i2c0_xfer>;
260 status = "disabled";
261 };
262
263 i2c1: i2c@ff160000 {
264 compatible = "rockchip,rk3328-i2c";
265 reg = <0x0 0xff160000 0x0 0x1000>;
266 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
267 #address-cells = <1>;
268 #size-cells = <0>;
269 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
270 clock-names = "i2c", "pclk";
271 pinctrl-names = "default";
272 pinctrl-0 = <&i2c1_xfer>;
273 status = "disabled";
274 };
275
276 i2c2: i2c@ff170000 {
277 compatible = "rockchip,rk3328-i2c";
278 reg = <0x0 0xff170000 0x0 0x1000>;
279 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
280 #address-cells = <1>;
281 #size-cells = <0>;
282 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
283 clock-names = "i2c", "pclk";
284 pinctrl-names = "default";
285 pinctrl-0 = <&i2c2_xfer>;
286 status = "disabled";
287 };
288
289 i2c3: i2c@ff180000 {
290 compatible = "rockchip,rk3328-i2c";
291 reg = <0x0 0xff180000 0x0 0x1000>;
292 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
293 #address-cells = <1>;
294 #size-cells = <0>;
295 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
296 clock-names = "i2c", "pclk";
297 pinctrl-names = "default";
298 pinctrl-0 = <&i2c3_xfer>;
299 status = "disabled";
300 };
301
302 spi0: spi@ff190000 {
303 compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
304 reg = <0x0 0xff190000 0x0 0x1000>;
305 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
306 #address-cells = <1>;
307 #size-cells = <0>;
308 clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
309 clock-names = "spiclk", "apb_pclk";
310 dmas = <&dmac 8>, <&dmac 9>;
311 #dma-cells = <2>;
312 dma-names = "tx", "rx";
313 pinctrl-names = "default";
314 pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
315 status = "disabled";
316 };
317
318 wdt: watchdog@ff1a0000 {
319 compatible = "snps,dw-wdt";
320 reg = <0x0 0xff1a0000 0x0 0x100>;
321 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
322 status = "disabled";
323 };
324
325 amba {
326 compatible = "simple-bus";
327 #address-cells = <2>;
328 #size-cells = <2>;
329 ranges;
330
331 dmac: dmac@ff1f0000 {
332 compatible = "arm,pl330", "arm,primecell";
333 reg = <0x0 0xff1f0000 0x0 0x4000>;
334 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
335 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
336 clocks = <&cru ACLK_DMAC>;
337 clock-names = "apb_pclk";
338 #dma-cells = <1>;
339 };
340 };
341
342 saradc: saradc@ff280000 {
343 compatible = "rockchip,rk3328-saradc", "rockchip,saradc";
344 reg = <0x0 0xff280000 0x0 0x100>;
345 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
346 #io-channel-cells = <1>;
347 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
348 clock-names = "saradc", "apb_pclk";
349 resets = <&cru SRST_SARADC_P>;
350 reset-names = "saradc-apb";
351 status = "disabled";
352 };
353
Kever Yange0d3f882019-08-02 10:40:00 +0300354 dmc: dmc {
Kever Yangf1a14462017-06-23 16:11:09 +0800355 u-boot,dm-pre-reloc;
Kever Yange0d3f882019-08-02 10:40:00 +0300356 compatible = "rockchip,rk3328-dmc";
357 reg = <0x0 0xff400000 0x0 0x1000
358 0x0 0xff780000 0x0 0x3000
359 0x0 0xff100000 0x0 0x1000
360 0x0 0xff440000 0x0 0x1000
361 0x0 0xff720000 0x0 0x1000
362 0x0 0xff798000 0x0 0x1000>;
Kever Yangf1a14462017-06-23 16:11:09 +0800363 };
364
Kever Yangfc281b72017-02-23 15:37:50 +0800365 cru: clock-controller@ff440000 {
366 compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
367 reg = <0x0 0xff440000 0x0 0x1000>;
368 rockchip,grf = <&grf>;
369 #clock-cells = <1>;
370 #reset-cells = <1>;
371 assigned-clocks =
372 <&cru DCLK_LCDC>, <&cru SCLK_PDM>,
373 <&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
374 <&cru SCLK_UART1>, <&cru SCLK_UART2>,
375 <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
376 <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
377 <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
378 <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
379 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
380 <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
381 <&cru SCLK_SDIO>, <&cru SCLK_TSP>,
382 <&cru SCLK_WIFI>, <&cru ARMCLK>,
383 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
384 <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
385 <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
386 <&cru HCLK_PERI>, <&cru PCLK_PERI>,
387 <&cru ACLK_VIO_PRE>, <&cru HCLK_VIO_PRE>,
388 <&cru ACLK_RGA_PRE>, <&cru SCLK_RGA>,
389 <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
390 <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
391 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
392 <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
393 <&cru SCLK_EFUSE>, <&cru PCLK_DDR>,
394 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>,
395 <&cru SCLK_RTC32K>, <&cru SCLK_USB3OTG_SUSPEND>;
396 assigned-clock-parents =
397 <&cru HDMIPHY>, <&cru PLL_APLL>,
398 <&cru PLL_GPLL>, <&xin24m>,
399 <&xin24m>, <&xin24m>;
400 assigned-clock-rates =
401 <0>, <61440000>,
402 <0>, <24000000>,
403 <24000000>, <24000000>,
404 <15000000>, <15000000>,
405 <100000000>, <100000000>,
406 <100000000>, <100000000>,
407 <50000000>, <100000000>,
408 <100000000>, <100000000>,
409 <50000000>, <50000000>,
410 <50000000>, <50000000>,
411 <24000000>, <600000000>,
412 <491520000>, <1200000000>,
413 <150000000>, <75000000>,
414 <75000000>, <150000000>,
415 <75000000>, <75000000>,
416 <300000000>, <100000000>,
417 <300000000>, <200000000>,
418 <400000000>, <500000000>,
419 <200000000>, <300000000>,
420 <300000000>, <250000000>,
421 <200000000>, <100000000>,
422 <24000000>, <100000000>,
423 <150000000>, <50000000>,
424 <32768>, <32768>;
425 };
426
427 sdmmc: rksdmmc@ff500000 {
428 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
429 reg = <0x0 0xff500000 0x0 0x4000>;
Kever Yang08401422017-06-14 16:31:45 +0800430 max-frequency = <150000000>;
Kever Yangfc281b72017-02-23 15:37:50 +0800431 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
432 clock-names = "biu", "ciu";
433 fifo-depth = <0x100>;
434 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
435 status = "disabled";
436 };
437
438 sdio: dwmmc@ff510000 {
439 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
440 reg = <0x0 0xff510000 0x0 0x4000>;
Kever Yang08401422017-06-14 16:31:45 +0800441 max-frequency = <150000000>;
Kever Yangfc281b72017-02-23 15:37:50 +0800442 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
443 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
444 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
445 fifo-depth = <0x100>;
446 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
447 status = "disabled";
448 };
449
450 emmc: rksdmmc@ff520000 {
451 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
452 reg = <0x0 0xff520000 0x0 0x4000>;
Kever Yang08401422017-06-14 16:31:45 +0800453 max-frequency = <150000000>;
Kever Yangfc281b72017-02-23 15:37:50 +0800454 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
455 clock-names = "biu", "ciu";
456 fifo-depth = <0x100>;
457 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
458 status = "disabled";
459 };
460
David Wu29b0bfd2018-01-13 14:03:56 +0800461 gmac2io: ethernet@ff540000 {
462 compatible = "rockchip,rk3328-gmac";
463 reg = <0x0 0xff540000 0x0 0x10000>;
464 rockchip,grf = <&grf>;
465 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
466 interrupt-names = "macirq";
467 clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
468 <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
469 <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
470 <&cru PCLK_MAC2IO>;
471 clock-names = "stmmaceth", "mac_clk_rx",
472 "mac_clk_tx", "clk_mac_ref",
473 "clk_mac_refout", "aclk_mac",
474 "pclk_mac";
475 resets = <&cru SRST_GMAC2IO_A>;
476 reset-names = "stmmaceth";
477 status = "disabled";
478 };
479
Meng Dongyang4fd2d8f2017-05-17 18:21:46 +0800480 usb_host0_ehci: usb@ff5c0000 {
481 compatible = "generic-ehci";
482 reg = <0x0 0xff5c0000 0x0 0x10000>;
483 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
484 status = "disabled";
485 };
486
487 usb_host0_ohci: usb@ff5d0000 {
488 compatible = "generic-ohci";
489 reg = <0x0 0xff5d0000 0x0 0x10000>;
490 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
491 status = "disabled";
492 };
493
Meng Dongyangc27dcf92017-06-28 19:22:45 +0800494 usb20_otg: usb@ff580000 {
495 compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
496 "snps,dwc2";
497 reg = <0x0 0xff580000 0x0 0x40000>;
498 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
499 hnp-srp-disable;
500 dr_mode = "otg";
501 status = "disabled";
502 };
503
Kever Yangfc281b72017-02-23 15:37:50 +0800504 sdmmc_ext: rksdmmc@ff5f0000 {
505 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
506 reg = <0x0 0xff5f0000 0x0 0x4000>;
Kever Yang08401422017-06-14 16:31:45 +0800507 max-frequency = <150000000>;
Kever Yangfc281b72017-02-23 15:37:50 +0800508 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
509 clock-names = "biu", "ciu";
510 fifo-depth = <0x100>;
511 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
512 status = "disabled";
513 };
514
Meng Dongyang820d1122017-05-17 18:25:28 +0800515 usb_host0_xhci: usb@ff600000 {
516 compatible = "rockchip,rk3328-xhci";
517 reg = <0x0 0xff600000 0x0 0x100000>;
518 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
519 snps,dis-enblslpm-quirk;
520 snps,phyif-utmi-bits = <16>;
521 snps,dis-u2-freeclk-exists-quirk;
522 snps,dis-u2-susphy-quirk;
523 status = "disabled";
524 };
525
Kever Yangfc281b72017-02-23 15:37:50 +0800526 gic: interrupt-controller@ffb70000 {
527 compatible = "arm,gic-400";
528 #interrupt-cells = <3>;
529 #address-cells = <0>;
530 interrupt-controller;
531 reg = <0x0 0xff811000 0 0x1000>,
532 <0x0 0xff812000 0 0x2000>,
533 <0x0 0xff814000 0 0x2000>,
534 <0x0 0xff816000 0 0x2000>;
535 interrupts = <GIC_PPI 9
536 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
537 };
538
539 pinctrl: pinctrl {
540 compatible = "rockchip,rk3328-pinctrl";
541 rockchip,grf = <&grf>;
542 #address-cells = <2>;
543 #size-cells = <2>;
544 ranges;
545
546 gpio0: gpio0@ff210000 {
547 compatible = "rockchip,gpio-bank";
548 reg = <0x0 0xff210000 0x0 0x100>;
549 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
550 clocks = <&cru PCLK_GPIO0>;
551
552 gpio-controller;
553 #gpio-cells = <2>;
554
555 interrupt-controller;
556 #interrupt-cells = <2>;
557 };
558
559 gpio1: gpio1@ff220000 {
560 compatible = "rockchip,gpio-bank";
561 reg = <0x0 0xff220000 0x0 0x100>;
562 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&cru PCLK_GPIO1>;
564
565 gpio-controller;
566 #gpio-cells = <2>;
567
568 interrupt-controller;
569 #interrupt-cells = <2>;
570 };
571
572 gpio2: gpio2@ff230000 {
573 compatible = "rockchip,gpio-bank";
574 reg = <0x0 0xff230000 0x0 0x100>;
575 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
576 clocks = <&cru PCLK_GPIO2>;
577
578 gpio-controller;
579 #gpio-cells = <2>;
580
581 interrupt-controller;
582 #interrupt-cells = <2>;
583 };
584
585 gpio3: gpio3@ff240000 {
586 compatible = "rockchip,gpio-bank";
587 reg = <0x0 0xff240000 0x0 0x100>;
588 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
589 clocks = <&cru PCLK_GPIO3>;
590
591 gpio-controller;
592 #gpio-cells = <2>;
593
594 interrupt-controller;
595 #interrupt-cells = <2>;
596 };
597
598 pcfg_pull_up: pcfg-pull-up {
599 bias-pull-up;
600 };
601
602 pcfg_pull_down: pcfg-pull-down {
603 bias-pull-down;
604 };
605
606 pcfg_pull_none: pcfg-pull-none {
607 bias-disable;
608 };
609
610 pcfg_pull_none_2ma: pcfg-pull-none-2ma {
611 bias-disable;
612 drive-strength = <2>;
613 };
614
615 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
616 bias-pull-up;
617 drive-strength = <2>;
618 };
619
620 pcfg_pull_up_4ma: pcfg-pull-up-4ma {
621 bias-pull-up;
622 drive-strength = <4>;
623 };
624
625 pcfg_pull_none_4ma: pcfg-pull-none-4ma {
626 bias-disable;
627 drive-strength = <4>;
628 };
629
630 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
631 bias-pull-down;
632 drive-strength = <4>;
633 };
634
635 pcfg_pull_none_8ma: pcfg-pull-none-8ma {
636 bias-disable;
637 drive-strength = <8>;
638 };
639
640 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
641 bias-pull-up;
642 drive-strength = <8>;
643 };
644
645 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
646 bias-disable;
647 drive-strength = <12>;
648 };
649
650 pcfg_pull_up_12ma: pcfg-pull-up-12ma {
651 bias-pull-up;
652 drive-strength = <12>;
653 };
654
655 pcfg_output_high: pcfg-output-high {
656 output-high;
657 };
658
659 pcfg_output_low: pcfg-output-low {
660 output-low;
661 };
662
663 pcfg_input_high: pcfg-input-high {
664 bias-pull-up;
665 input-enable;
666 };
667
668 pcfg_input: pcfg-input {
669 input-enable;
670 };
671
672 i2c0 {
673 i2c0_xfer: i2c0-xfer {
674 rockchip,pins =
675 <2 24 RK_FUNC_1 &pcfg_pull_none>,
676 <2 25 RK_FUNC_1 &pcfg_pull_none>;
677 };
678 };
679
680 i2c1 {
681 i2c1_xfer: i2c1-xfer {
682 rockchip,pins =
683 <2 4 RK_FUNC_2 &pcfg_pull_none>,
684 <2 5 RK_FUNC_2 &pcfg_pull_none>;
685 };
686 };
687
688 i2c2 {
689 i2c2_xfer: i2c2-xfer {
690 rockchip,pins =
691 <2 13 RK_FUNC_1 &pcfg_pull_none>,
692 <2 14 RK_FUNC_1 &pcfg_pull_none>;
693 };
694 };
695
696 i2c3 {
697 i2c3_xfer: i2c3-xfer {
698 rockchip,pins =
699 <0 5 RK_FUNC_2 &pcfg_pull_none>,
700 <0 6 RK_FUNC_2 &pcfg_pull_none>;
701 };
702 i2c3_gpio: i2c3-gpio {
703 rockchip,pins =
704 <0 5 RK_FUNC_GPIO &pcfg_pull_none>,
705 <0 6 RK_FUNC_GPIO &pcfg_pull_none>;
706 };
707 };
708
709 hdmi_i2c {
710 hdmii2c_xfer: hdmii2c-xfer {
711 rockchip,pins =
712 <0 5 RK_FUNC_1 &pcfg_pull_none>,
713 <0 6 RK_FUNC_1 &pcfg_pull_none>;
714 };
715 };
716
717 uart0 {
718 uart0_xfer: uart0-xfer {
719 rockchip,pins =
720 <1 9 RK_FUNC_1 &pcfg_pull_up>,
721 <1 8 RK_FUNC_1 &pcfg_pull_none>;
722 };
723
724 uart0_cts: uart0-cts {
725 rockchip,pins =
726 <1 11 RK_FUNC_1 &pcfg_pull_none>;
727 };
728
729 uart0_rts: uart0-rts {
730 rockchip,pins =
731 <1 10 RK_FUNC_1 &pcfg_pull_none>;
732 };
733
734 uart0_rts_gpio: uart0-rts-gpio {
735 rockchip,pins =
736 <1 10 RK_FUNC_GPIO &pcfg_pull_none>;
737 };
738 };
739
740 uart1 {
741 uart1_xfer: uart1-xfer {
742 rockchip,pins =
743 <3 4 RK_FUNC_4 &pcfg_pull_up>,
744 <3 6 RK_FUNC_4 &pcfg_pull_none>;
745 };
746
747 uart1_cts: uart1-cts {
748 rockchip,pins =
749 <3 7 RK_FUNC_4 &pcfg_pull_none>;
750 };
751
752 uart1_rts: uart1-rts {
753 rockchip,pins =
754 <3 5 RK_FUNC_4 &pcfg_pull_none>;
755 };
756
757 uart1_rts_gpio: uart1-rts-gpio {
758 rockchip,pins =
759 <3 5 RK_FUNC_GPIO &pcfg_pull_none>;
760 };
761 };
762
763 uart2-0 {
764 uart2m0_xfer: uart2m0-xfer {
765 rockchip,pins =
766 <1 0 RK_FUNC_2 &pcfg_pull_up>,
767 <1 1 RK_FUNC_2 &pcfg_pull_none>;
768 };
769 };
770
771 uart2-1 {
772 uart2m1_xfer: uart2m1-xfer {
773 rockchip,pins =
774 <2 0 RK_FUNC_1 &pcfg_pull_up>,
775 <2 1 RK_FUNC_1 &pcfg_pull_none>;
776 };
777 };
778
779 spi0-0 {
780 spi0m0_clk: spi0m0-clk {
781 rockchip,pins =
782 <2 8 RK_FUNC_1 &pcfg_pull_up>;
783 };
784
785 spi0m0_cs0: spi0m0-cs0 {
786 rockchip,pins =
787 <2 11 RK_FUNC_1 &pcfg_pull_up>;
788 };
789
790 spi0m0_tx: spi0m0-tx {
791 rockchip,pins =
792 <2 9 RK_FUNC_1 &pcfg_pull_up>;
793 };
794
795 spi0m0_rx: spi0m0-rx {
796 rockchip,pins =
797 <2 10 RK_FUNC_1 &pcfg_pull_up>;
798 };
799
800 spi0m0_cs1: spi0m0-cs1 {
801 rockchip,pins =
802 <2 12 RK_FUNC_1 &pcfg_pull_up>;
803 };
804 };
805
806 spi0-1 {
807 spi0m1_clk: spi0m1-clk {
808 rockchip,pins =
809 <3 23 RK_FUNC_2 &pcfg_pull_up>;
810 };
811
812 spi0m1_cs0: spi0m1-cs0 {
813 rockchip,pins =
814 <3 26 RK_FUNC_2 &pcfg_pull_up>;
815 };
816
817 spi0m1_tx: spi0m1-tx {
818 rockchip,pins =
819 <3 25 RK_FUNC_2 &pcfg_pull_up>;
820 };
821
822 spi0m1_rx: spi0m1-rx {
823 rockchip,pins =
824 <3 24 RK_FUNC_2 &pcfg_pull_up>;
825 };
826
827 spi0m1_cs1: spi0m1-cs1 {
828 rockchip,pins =
829 <3 27 RK_FUNC_2 &pcfg_pull_up>;
830 };
831 };
832
833 spi0-2 {
834 spi0m2_clk: spi0m2-clk {
835 rockchip,pins =
836 <3 0 RK_FUNC_4 &pcfg_pull_up>;
837 };
838
839 spi0m2_cs0: spi0m2-cs0 {
840 rockchip,pins =
841 <3 8 RK_FUNC_3 &pcfg_pull_up>;
842 };
843
844 spi0m2_tx: spi0m2-tx {
845 rockchip,pins =
846 <3 1 RK_FUNC_4 &pcfg_pull_up>;
847 };
848
849 spi0m2_rx: spi0m2-rx {
850 rockchip,pins =
851 <3 2 RK_FUNC_4 &pcfg_pull_up>;
852 };
853 };
854
855 i2s1 {
856 i2s1_mclk: i2s1-mclk {
857 rockchip,pins =
858 <2 15 RK_FUNC_1 &pcfg_pull_none>;
859 };
860
861 i2s1_sclk: i2s1-sclk {
862 rockchip,pins =
863 <2 18 RK_FUNC_1 &pcfg_pull_none>;
864 };
865
866 i2s1_lrckrx: i2s1-lrckrx {
867 rockchip,pins =
868 <2 16 RK_FUNC_1 &pcfg_pull_none>;
869 };
870
871 i2s1_lrcktx: i2s1-lrcktx {
872 rockchip,pins =
873 <2 17 RK_FUNC_1 &pcfg_pull_none>;
874 };
875
876 i2s1_sdi: i2s1-sdi {
877 rockchip,pins =
878 <2 19 RK_FUNC_1 &pcfg_pull_none>;
879 };
880
881 i2s1_sdo: i2s1-sdo {
882 rockchip,pins =
883 <2 23 RK_FUNC_1 &pcfg_pull_none>;
884 };
885
886 i2s1_sdio1: i2s1-sdio1 {
887 rockchip,pins =
888 <2 20 RK_FUNC_1 &pcfg_pull_none>;
889 };
890
891 i2s1_sdio2: i2s1-sdio2 {
892 rockchip,pins =
893 <2 21 RK_FUNC_1 &pcfg_pull_none>;
894 };
895
896 i2s1_sdio3: i2s1-sdio3 {
897 rockchip,pins =
898 <2 22 RK_FUNC_1 &pcfg_pull_none>;
899 };
900
901 i2s1_sleep: i2s1-sleep {
902 rockchip,pins =
903 <2 15 RK_FUNC_GPIO &pcfg_input_high>,
904 <2 16 RK_FUNC_GPIO &pcfg_input_high>,
905 <2 17 RK_FUNC_GPIO &pcfg_input_high>,
906 <2 18 RK_FUNC_GPIO &pcfg_input_high>,
907 <2 19 RK_FUNC_GPIO &pcfg_input_high>,
908 <2 20 RK_FUNC_GPIO &pcfg_input_high>,
909 <2 21 RK_FUNC_GPIO &pcfg_input_high>,
910 <2 22 RK_FUNC_GPIO &pcfg_input_high>,
911 <2 23 RK_FUNC_GPIO &pcfg_input_high>;
912 };
913 };
914
915 i2s2-0 {
916 i2s2m0_mclk: i2s2m0-mclk {
917 rockchip,pins =
918 <1 21 RK_FUNC_1 &pcfg_pull_none>;
919 };
920
921 i2s2m0_sclk: i2s2m0-sclk {
922 rockchip,pins =
923 <1 22 RK_FUNC_1 &pcfg_pull_none>;
924 };
925
926 i2s2m0_lrckrx: i2s2m0-lrckrx {
927 rockchip,pins =
928 <1 26 RK_FUNC_1 &pcfg_pull_none>;
929 };
930
931 i2s2m0_lrcktx: i2s2m0-lrcktx {
932 rockchip,pins =
933 <1 23 RK_FUNC_1 &pcfg_pull_none>;
934 };
935
936 i2s2m0_sdi: i2s2m0-sdi {
937 rockchip,pins =
938 <1 24 RK_FUNC_1 &pcfg_pull_none>;
939 };
940
941 i2s2m0_sdo: i2s2m0-sdo {
942 rockchip,pins =
943 <1 25 RK_FUNC_1 &pcfg_pull_none>;
944 };
945
946 i2s2m0_sleep: i2s2m0-sleep {
947 rockchip,pins =
948 <1 21 RK_FUNC_GPIO &pcfg_input_high>,
949 <1 22 RK_FUNC_GPIO &pcfg_input_high>,
950 <1 26 RK_FUNC_GPIO &pcfg_input_high>,
951 <1 23 RK_FUNC_GPIO &pcfg_input_high>,
952 <1 24 RK_FUNC_GPIO &pcfg_input_high>,
953 <1 25 RK_FUNC_GPIO &pcfg_input_high>;
954 };
955 };
956
957 i2s2-1 {
958 i2s2m1_mclk: i2s2m1-mclk {
959 rockchip,pins =
960 <1 21 RK_FUNC_1 &pcfg_pull_none>;
961 };
962
963 i2s2m1_sclk: i2s2m1-sclk {
964 rockchip,pins =
965 <3 0 RK_FUNC_6 &pcfg_pull_none>;
966 };
967
968 i2s2m1_lrckrx: i2sm1-lrckrx {
969 rockchip,pins =
970 <3 8 RK_FUNC_6 &pcfg_pull_none>;
971 };
972
973 i2s2m1_lrcktx: i2s2m1-lrcktx {
974 rockchip,pins =
975 <3 8 RK_FUNC_4 &pcfg_pull_none>;
976 };
977
978 i2s2m1_sdi: i2s2m1-sdi {
979 rockchip,pins =
980 <3 2 RK_FUNC_6 &pcfg_pull_none>;
981 };
982
983 i2s2m1_sdo: i2s2m1-sdo {
984 rockchip,pins =
985 <3 1 RK_FUNC_6 &pcfg_pull_none>;
986 };
987
988 i2s2m1_sleep: i2s2m1-sleep {
989 rockchip,pins =
990 <1 21 RK_FUNC_GPIO &pcfg_input_high>,
991 <3 0 RK_FUNC_GPIO &pcfg_input_high>,
992 <3 8 RK_FUNC_GPIO &pcfg_input_high>,
993 <3 2 RK_FUNC_GPIO &pcfg_input_high>,
994 <3 1 RK_FUNC_GPIO &pcfg_input_high>;
995 };
996 };
997
998 spdif-0 {
999 spdifm0_tx: spdifm0-tx {
1000 rockchip,pins =
1001 <0 27 RK_FUNC_1 &pcfg_pull_none>;
1002 };
1003 };
1004
1005 spdif-1 {
1006 spdifm1_tx: spdifm1-tx {
1007 rockchip,pins =
1008 <2 17 RK_FUNC_2 &pcfg_pull_none>;
1009 };
1010 };
1011
1012 spdif-2 {
1013 spdifm2_tx: spdifm2-tx {
1014 rockchip,pins =
1015 <0 2 RK_FUNC_2 &pcfg_pull_none>;
1016 };
1017 };
1018
1019 sdmmc0-0 {
1020 sdmmc0m0_pwren: sdmmc0m0-pwren {
1021 rockchip,pins =
1022 <2 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1023 };
1024
1025 sdmmc0m0_gpio: sdmmc0m0-gpio {
1026 rockchip,pins =
1027 <2 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1028 };
1029 };
1030
1031 sdmmc0-1 {
1032 sdmmc0m1_pwren: sdmmc0m1-pwren {
1033 rockchip,pins =
1034 <0 30 RK_FUNC_3 &pcfg_pull_up_4ma>;
1035 };
1036
1037 sdmmc0m1_gpio: sdmmc0m1-gpio {
1038 rockchip,pins =
1039 <0 30 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1040 };
1041 };
1042
1043 sdmmc0 {
1044 sdmmc0_clk: sdmmc0-clk {
1045 rockchip,pins =
1046 <1 6 RK_FUNC_1 &pcfg_pull_none_4ma>;
1047 };
1048
1049 sdmmc0_cmd: sdmmc0-cmd {
1050 rockchip,pins =
1051 <1 4 RK_FUNC_1 &pcfg_pull_up_4ma>;
1052 };
1053
1054 sdmmc0_dectn: sdmmc0-dectn {
1055 rockchip,pins =
1056 <1 5 RK_FUNC_1 &pcfg_pull_up_4ma>;
1057 };
1058
1059 sdmmc0_wrprt: sdmmc0-wrprt {
1060 rockchip,pins =
1061 <1 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1062 };
1063
1064 sdmmc0_bus1: sdmmc0-bus1 {
1065 rockchip,pins =
1066 <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>;
1067 };
1068
1069 sdmmc0_bus4: sdmmc0-bus4 {
1070 rockchip,pins =
1071 <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>,
1072 <1 1 RK_FUNC_1 &pcfg_pull_up_4ma>,
1073 <1 2 RK_FUNC_1 &pcfg_pull_up_4ma>,
1074 <1 3 RK_FUNC_1 &pcfg_pull_up_4ma>;
1075 };
1076
1077 sdmmc0_gpio: sdmmc0-gpio {
1078 rockchip,pins =
1079 <1 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1080 <1 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1081 <1 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1082 <1 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1083 <1 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1084 <1 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1085 <1 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1086 <1 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1087 };
1088 };
1089
1090 sdmmc0ext {
1091 sdmmc0ext_clk: sdmmc0ext-clk {
1092 rockchip,pins =
1093 <3 2 RK_FUNC_3 &pcfg_pull_none_4ma>;
1094 };
1095
1096 sdmmc0ext_cmd: sdmmc0ext-cmd {
1097 rockchip,pins =
1098 <3 0 RK_FUNC_3 &pcfg_pull_up_4ma>;
1099 };
1100
1101 sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1102 rockchip,pins =
1103 <3 3 RK_FUNC_3 &pcfg_pull_up_4ma>;
1104 };
1105
1106 sdmmc0ext_dectn: sdmmc0ext-dectn {
1107 rockchip,pins =
1108 <3 1 RK_FUNC_3 &pcfg_pull_up_4ma>;
1109 };
1110
1111 sdmmc0ext_bus1: sdmmc0ext-bus1 {
1112 rockchip,pins =
1113 <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>;
1114 };
1115
1116 sdmmc0ext_bus4: sdmmc0ext-bus4 {
1117 rockchip,pins =
1118 <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>,
1119 <3 5 RK_FUNC_3 &pcfg_pull_up_4ma>,
1120 <3 6 RK_FUNC_3 &pcfg_pull_up_4ma>,
1121 <3 7 RK_FUNC_3 &pcfg_pull_up_4ma>;
1122 };
1123
1124 sdmmc0ext_gpio: sdmmc0ext-gpio {
1125 rockchip,pins =
1126 <3 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1127 <3 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1128 <3 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1129 <3 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1130 <3 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1131 <3 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1132 <3 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1133 <3 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1134 };
1135 };
1136
1137 sdmmc1 {
1138 sdmmc1_clk: sdmmc1-clk {
1139 rockchip,pins =
1140 <1 12 RK_FUNC_1 &pcfg_pull_none_8ma>;
1141 };
1142
1143 sdmmc1_cmd: sdmmc1-cmd {
1144 rockchip,pins =
1145 <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
1146 };
1147
1148 sdmmc1_pwren: sdmmc1-pwren {
1149 rockchip,pins =
1150 <1 18 RK_FUNC_1 &pcfg_pull_up_8ma>;
1151 };
1152
1153 sdmmc1_wrprt: sdmmc1-wrprt {
1154 rockchip,pins =
1155 <1 20 RK_FUNC_1 &pcfg_pull_up_8ma>;
1156 };
1157
1158 sdmmc1_dectn: sdmmc1-dectn {
1159 rockchip,pins =
1160 <1 19 RK_FUNC_1 &pcfg_pull_up_8ma>;
1161 };
1162
1163 sdmmc1_bus1: sdmmc1-bus1 {
1164 rockchip,pins =
1165 <1 14 RK_FUNC_1 &pcfg_pull_up_8ma>;
1166 };
1167
1168 sdmmc1_bus4: sdmmc1-bus4 {
1169 rockchip,pins =
1170 <1 12 RK_FUNC_1 &pcfg_pull_up_8ma>,
1171 <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>,
1172 <1 16 RK_FUNC_1 &pcfg_pull_up_8ma>,
1173 <1 17 RK_FUNC_1 &pcfg_pull_up_8ma>;
1174 };
1175
1176 sdmmc1_gpio: sdmmc1-gpio {
1177 rockchip,pins =
1178 <1 12 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1179 <1 13 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1180 <1 14 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1181 <1 15 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1182 <1 16 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1183 <1 17 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1184 <1 18 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1185 <1 19 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1186 <1 20 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1187 };
1188 };
1189
1190 emmc {
1191 emmc_clk: emmc-clk {
1192 rockchip,pins =
1193 <3 21 RK_FUNC_2 &pcfg_pull_none_12ma>;
1194 };
1195
1196 emmc_cmd: emmc-cmd {
1197 rockchip,pins =
1198 <3 19 RK_FUNC_2 &pcfg_pull_up_12ma>;
1199 };
1200
1201 emmc_pwren: emmc-pwren {
1202 rockchip,pins =
1203 <3 22 RK_FUNC_2 &pcfg_pull_none>;
1204 };
1205
1206 emmc_rstnout: emmc-rstnout {
1207 rockchip,pins =
1208 <3 20 RK_FUNC_2 &pcfg_pull_none>;
1209 };
1210
1211 emmc_bus1: emmc-bus1 {
1212 rockchip,pins =
1213 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>;
1214 };
1215
1216 emmc_bus4: emmc-bus4 {
1217 rockchip,pins =
1218 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1219 <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1220 <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1221 <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>;
1222 };
1223
1224 emmc_bus8: emmc-bus8 {
1225 rockchip,pins =
1226 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1227 <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1228 <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1229 <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>,
1230 <2 31 RK_FUNC_2 &pcfg_pull_up_12ma>,
1231 <3 16 RK_FUNC_2 &pcfg_pull_up_12ma>,
1232 <3 17 RK_FUNC_2 &pcfg_pull_up_12ma>,
1233 <3 18 RK_FUNC_2 &pcfg_pull_up_12ma>;
1234 };
1235 };
1236
1237 pwm0 {
1238 pwm0_pin: pwm0-pin {
1239 rockchip,pins =
1240 <2 4 RK_FUNC_1 &pcfg_pull_none>;
1241 };
1242 };
1243
1244 pwm1 {
1245 pwm1_pin: pwm1-pin {
1246 rockchip,pins =
1247 <2 5 RK_FUNC_1 &pcfg_pull_none>;
1248 };
1249 };
1250
1251 pwm2 {
1252 pwm2_pin: pwm2-pin {
1253 rockchip,pins =
1254 <2 6 RK_FUNC_1 &pcfg_pull_none>;
1255 };
1256 };
1257
1258 pwmir {
1259 pwmir_pin: pwmir-pin {
1260 rockchip,pins =
1261 <2 2 RK_FUNC_1 &pcfg_pull_none>;
1262 };
1263 };
1264
1265 gmac-0 {
1266 rgmiim0_pins: rgmiim0-pins {
1267 rockchip,pins =
1268 /* mac_txclk */
1269 <0 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
1270 /* mac_rxclk */
1271 <0 10 RK_FUNC_1 &pcfg_pull_none>,
1272 /* mac_mdio */
1273 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1274 /* mac_txen */
1275 <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1276 /* mac_clk */
1277 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1278 /* mac_rxdv */
1279 <0 25 RK_FUNC_1 &pcfg_pull_none>,
1280 /* mac_mdc */
1281 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1282 /* mac_rxd1 */
1283 <0 14 RK_FUNC_1 &pcfg_pull_none>,
1284 /* mac_rxd0 */
1285 <0 15 RK_FUNC_1 &pcfg_pull_none>,
1286 /* mac_txd1 */
1287 <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1288 /* mac_txd0 */
1289 <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>,
1290 /* mac_rxd3 */
1291 <0 20 RK_FUNC_1 &pcfg_pull_none>,
1292 /* mac_rxd2 */
1293 <0 21 RK_FUNC_1 &pcfg_pull_none>,
1294 /* mac_txd3 */
1295 <0 23 RK_FUNC_1 &pcfg_pull_none_12ma>,
1296 /* mac_txd2 */
1297 <0 22 RK_FUNC_1 &pcfg_pull_none_12ma>;
1298 };
1299
1300 rmiim0_pins: rmiim0-pins {
1301 rockchip,pins =
1302 /* mac_mdio */
1303 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1304 /* mac_txen */
1305 <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1306 /* mac_clk */
1307 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1308 /* mac_rxer */
1309 <0 13 RK_FUNC_1 &pcfg_pull_none>,
1310 /* mac_rxdv */
1311 <0 25 RK_FUNC_1 &pcfg_pull_none>,
1312 /* mac_mdc */
1313 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1314 /* mac_rxd1 */
1315 <0 14 RK_FUNC_1 &pcfg_pull_none>,
1316 /* mac_rxd0 */
1317 <0 15 RK_FUNC_1 &pcfg_pull_none>,
1318 /* mac_txd1 */
1319 <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1320 /* mac_txd0 */
1321 <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>;
1322 };
1323 };
1324
1325 gmac-1 {
1326 rgmiim1_pins: rgmiim1-pins {
1327 rockchip,pins =
1328 /* mac_txclk */
1329 <1 12 RK_FUNC_2 &pcfg_pull_none_12ma>,
1330 /* mac_rxclk */
1331 <1 13 RK_FUNC_2 &pcfg_pull_none_2ma>,
1332 /* mac_mdio */
1333 <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1334 /* mac_txen */
1335 <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1336 /* mac_clk */
1337 <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1338 /* mac_rxdv */
1339 <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1340 /* mac_mdc */
1341 <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1342 /* mac_rxd1 */
1343 <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1344 /* mac_rxd0 */
1345 <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1346 /* mac_txd1 */
1347 <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1348 /* mac_txd0 */
1349 <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1350 /* mac_rxd3 */
1351 <1 14 RK_FUNC_2 &pcfg_pull_none_2ma>,
1352 /* mac_rxd2 */
1353 <1 15 RK_FUNC_2 &pcfg_pull_none_2ma>,
1354 /* mac_txd3 */
1355 <1 16 RK_FUNC_2 &pcfg_pull_none_12ma>,
1356 /* mac_txd2 */
1357 <1 17 RK_FUNC_2 &pcfg_pull_none_12ma>,
1358
1359 /* mac_txclk */
1360 <0 8 RK_FUNC_1 &pcfg_pull_none>,
1361 /* mac_txen */
1362 <0 12 RK_FUNC_1 &pcfg_pull_none>,
1363 /* mac_clk */
1364 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1365 /* mac_txd1 */
1366 <0 16 RK_FUNC_1 &pcfg_pull_none>,
1367 /* mac_txd0 */
1368 <0 17 RK_FUNC_1 &pcfg_pull_none>,
1369 /* mac_txd3 */
1370 <0 23 RK_FUNC_1 &pcfg_pull_none>,
1371 /* mac_txd2 */
1372 <0 22 RK_FUNC_1 &pcfg_pull_none>;
1373 };
1374
1375 rmiim1_pins: rmiim1-pins {
1376 rockchip,pins =
1377 /* mac_mdio */
1378 <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1379 /* mac_txen */
1380 <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1381 /* mac_clk */
1382 <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1383 /* mac_rxer */
1384 <1 24 RK_FUNC_2 &pcfg_pull_none_2ma>,
1385 /* mac_rxdv */
1386 <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1387 /* mac_mdc */
1388 <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1389 /* mac_rxd1 */
1390 <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1391 /* mac_rxd0 */
1392 <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1393 /* mac_txd1 */
1394 <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1395 /* mac_txd0 */
1396 <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1397
1398 /* mac_mdio */
1399 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1400 /* mac_txen */
1401 <0 12 RK_FUNC_1 &pcfg_pull_none>,
1402 /* mac_clk */
1403 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1404 /* mac_mdc */
1405 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1406 /* mac_txd1 */
1407 <0 16 RK_FUNC_1 &pcfg_pull_none>,
1408 /* mac_txd0 */
1409 <0 17 RK_FUNC_1 &pcfg_pull_none>;
1410 };
1411 };
1412
1413 gmac2phy {
1414 fephyled_speed100: fephyled-speed100 {
1415 rockchip,pins =
1416 <0 31 RK_FUNC_1 &pcfg_pull_none>;
1417 };
1418
1419 fephyled_speed10: fephyled-speed10 {
1420 rockchip,pins =
1421 <0 30 RK_FUNC_1 &pcfg_pull_none>;
1422 };
1423
1424 fephyled_duplex: fephyled-duplex {
1425 rockchip,pins =
1426 <0 30 RK_FUNC_2 &pcfg_pull_none>;
1427 };
1428
1429 fephyled_rxm0: fephyled-rxm0 {
1430 rockchip,pins =
1431 <0 29 RK_FUNC_1 &pcfg_pull_none>;
1432 };
1433
1434 fephyled_txm0: fephyled-txm0 {
1435 rockchip,pins =
1436 <0 29 RK_FUNC_2 &pcfg_pull_none>;
1437 };
1438
1439 fephyled_linkm0: fephyled-linkm0 {
1440 rockchip,pins =
1441 <0 28 RK_FUNC_1 &pcfg_pull_none>;
1442 };
1443
1444 fephyled_rxm1: fephyled-rxm1 {
1445 rockchip,pins =
1446 <2 25 RK_FUNC_2 &pcfg_pull_none>;
1447 };
1448
1449 fephyled_txm1: fephyled-txm1 {
1450 rockchip,pins =
1451 <2 25 RK_FUNC_3 &pcfg_pull_none>;
1452 };
1453
1454 fephyled_linkm1: fephyled-linkm1 {
1455 rockchip,pins =
1456 <2 24 RK_FUNC_2 &pcfg_pull_none>;
1457 };
1458 };
1459
1460 tsadc_pin {
1461 tsadc_int: tsadc-int {
1462 rockchip,pins =
1463 <2 13 RK_FUNC_2 &pcfg_pull_none>;
1464 };
1465 tsadc_gpio: tsadc-gpio {
1466 rockchip,pins =
1467 <2 13 RK_FUNC_GPIO &pcfg_pull_none>;
1468 };
1469 };
1470
1471 hdmi_pin {
1472 hdmi_cec: hdmi-cec {
1473 rockchip,pins =
1474 <0 3 RK_FUNC_1 &pcfg_pull_none>;
1475 };
1476
1477 hdmi_hpd: hdmi-hpd {
1478 rockchip,pins =
1479 <0 4 RK_FUNC_1 &pcfg_pull_down>;
1480 };
1481 };
1482
1483 cif-0 {
1484 dvp_d2d9_m0:dvp-d2d9-m0 {
1485 rockchip,pins =
1486 /* cif_d0 */
1487 <3 4 RK_FUNC_2 &pcfg_pull_none>,
1488 /* cif_d1 */
1489 <3 5 RK_FUNC_2 &pcfg_pull_none>,
1490 /* cif_d2 */
1491 <3 6 RK_FUNC_2 &pcfg_pull_none>,
1492 /* cif_d3 */
1493 <3 7 RK_FUNC_2 &pcfg_pull_none>,
1494 /* cif_d4 */
1495 <3 8 RK_FUNC_2 &pcfg_pull_none>,
1496 /* cif_d5m0 */
1497 <3 9 RK_FUNC_2 &pcfg_pull_none>,
1498 /* cif_d6m0 */
1499 <3 10 RK_FUNC_2 &pcfg_pull_none>,
1500 /* cif_d7m0 */
1501 <3 11 RK_FUNC_2 &pcfg_pull_none>,
1502 /* cif_href */
1503 <3 1 RK_FUNC_2 &pcfg_pull_none>,
1504 /* cif_vsync */
1505 <3 0 RK_FUNC_2 &pcfg_pull_none>,
1506 /* cif_clkoutm0 */
1507 <3 3 RK_FUNC_2 &pcfg_pull_none>,
1508 /* cif_clkin */
1509 <3 2 RK_FUNC_2 &pcfg_pull_none>;
1510 };
1511 };
1512
1513 cif-1 {
1514 dvp_d2d9_m1:dvp-d2d9-m1 {
1515 rockchip,pins =
1516 /* cif_d0 */
1517 <3 4 RK_FUNC_2 &pcfg_pull_none>,
1518 /* cif_d1 */
1519 <3 5 RK_FUNC_2 &pcfg_pull_none>,
1520 /* cif_d2 */
1521 <3 6 RK_FUNC_2 &pcfg_pull_none>,
1522 /* cif_d3 */
1523 <3 7 RK_FUNC_2 &pcfg_pull_none>,
1524 /* cif_d4 */
1525 <3 8 RK_FUNC_2 &pcfg_pull_none>,
1526 /* cif_d5m1 */
1527 <2 16 RK_FUNC_4 &pcfg_pull_none>,
1528 /* cif_d6m1 */
1529 <2 17 RK_FUNC_4 &pcfg_pull_none>,
1530 /* cif_d7m1 */
1531 <2 18 RK_FUNC_4 &pcfg_pull_none>,
1532 /* cif_href */
1533 <3 1 RK_FUNC_2 &pcfg_pull_none>,
1534 /* cif_vsync */
1535 <3 0 RK_FUNC_2 &pcfg_pull_none>,
1536 /* cif_clkoutm1 */
1537 <2 15 RK_FUNC_4 &pcfg_pull_none>,
1538 /* cif_clkin */
1539 <3 2 RK_FUNC_2 &pcfg_pull_none>;
1540 };
1541 };
1542 };
1543};