blob: 83c257b1228bd0b7b791040e603b2ac67f06e5b1 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Kever Yangc61ad662016-07-19 21:16:58 +08002/*
Kever Yanga3580532017-04-19 18:17:31 +08003 * Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd.
Kever Yangc61ad662016-07-19 21:16:58 +08004 */
5
6#include <dt-bindings/clock/rk3399-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>
Kever Yanga3580532017-04-19 18:17:31 +080011#include <dt-bindings/power/rk3399-power.h>
12#include <dt-bindings/thermal/thermal.h>
MengDongyangf15293c2016-08-24 12:02:20 +080013#define USB_CLASS_HUB 9
Kever Yangc61ad662016-07-19 21:16:58 +080014
15/ {
16 compatible = "rockchip,rk3399";
17
18 interrupt-parent = <&gic>;
19 #address-cells = <2>;
20 #size-cells = <2>;
21
22 aliases {
Kever Yanga3580532017-04-19 18:17:31 +080023 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 i2c2 = &i2c2;
26 i2c3 = &i2c3;
27 i2c4 = &i2c4;
28 i2c5 = &i2c5;
29 i2c6 = &i2c6;
30 i2c7 = &i2c7;
31 i2c8 = &i2c8;
Kever Yangc61ad662016-07-19 21:16:58 +080032 serial0 = &uart0;
33 serial1 = &uart1;
34 serial2 = &uart2;
35 serial3 = &uart3;
36 serial4 = &uart4;
Eddie Cai8d1d4ad2017-02-20 14:02:37 +080037 mmc0 = &sdhci;
38 mmc1 = &sdmmc;
Kever Yangc61ad662016-07-19 21:16:58 +080039 };
40
41 cpus {
42 #address-cells = <2>;
43 #size-cells = <0>;
44
45 cpu-map {
46 cluster0 {
47 core0 {
48 cpu = <&cpu_l0>;
49 };
50 core1 {
51 cpu = <&cpu_l1>;
52 };
53 core2 {
54 cpu = <&cpu_l2>;
55 };
56 core3 {
57 cpu = <&cpu_l3>;
58 };
59 };
60
61 cluster1 {
62 core0 {
63 cpu = <&cpu_b0>;
64 };
65 core1 {
66 cpu = <&cpu_b1>;
67 };
68 };
69 };
70
71 cpu_l0: cpu@0 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a53", "arm,armv8";
74 reg = <0x0 0x0>;
75 enable-method = "psci";
76 #cooling-cells = <2>; /* min followed by max */
77 clocks = <&cru ARMCLKL>;
78 };
79
80 cpu_l1: cpu@1 {
81 device_type = "cpu";
82 compatible = "arm,cortex-a53", "arm,armv8";
83 reg = <0x0 0x1>;
84 enable-method = "psci";
85 clocks = <&cru ARMCLKL>;
86 };
87
88 cpu_l2: cpu@2 {
89 device_type = "cpu";
90 compatible = "arm,cortex-a53", "arm,armv8";
91 reg = <0x0 0x2>;
92 enable-method = "psci";
93 clocks = <&cru ARMCLKL>;
94 };
95
96 cpu_l3: cpu@3 {
97 device_type = "cpu";
98 compatible = "arm,cortex-a53", "arm,armv8";
99 reg = <0x0 0x3>;
100 enable-method = "psci";
101 clocks = <&cru ARMCLKL>;
102 };
103
104 cpu_b0: cpu@100 {
105 device_type = "cpu";
106 compatible = "arm,cortex-a72", "arm,armv8";
107 reg = <0x0 0x100>;
108 enable-method = "psci";
109 #cooling-cells = <2>; /* min followed by max */
110 clocks = <&cru ARMCLKB>;
111 };
112
113 cpu_b1: cpu@101 {
114 device_type = "cpu";
115 compatible = "arm,cortex-a72", "arm,armv8";
116 reg = <0x0 0x101>;
117 enable-method = "psci";
118 clocks = <&cru ARMCLKB>;
119 };
120 };
121
Kever Yanga3580532017-04-19 18:17:31 +0800122 pmu_a53 {
123 compatible = "arm,cortex-a53-pmu";
124 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
125 };
126
127 pmu_a72 {
128 compatible = "arm,cortex-a72-pmu";
129 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
130 };
131
Kever Yangc61ad662016-07-19 21:16:58 +0800132 psci {
133 compatible = "arm,psci-1.0";
134 method = "smc";
135 };
136
137 timer {
138 compatible = "arm,armv8-timer";
Kever Yanga3580532017-04-19 18:17:31 +0800139 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
140 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
141 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
142 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
143 arm,no-tick-in-suspend;
Kever Yangc61ad662016-07-19 21:16:58 +0800144 };
145
146 xin24m: xin24m {
147 compatible = "fixed-clock";
148 clock-frequency = <24000000>;
149 clock-output-names = "xin24m";
150 #clock-cells = <0>;
151 };
152
153 amba {
154 compatible = "simple-bus";
155 #address-cells = <2>;
156 #size-cells = <2>;
157 ranges;
158
159 dmac_bus: dma-controller@ff6d0000 {
160 compatible = "arm,pl330", "arm,primecell";
161 reg = <0x0 0xff6d0000 0x0 0x4000>;
Kever Yanga3580532017-04-19 18:17:31 +0800162 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
163 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800164 #dma-cells = <1>;
165 clocks = <&cru ACLK_DMAC0_PERILP>;
166 clock-names = "apb_pclk";
167 };
168
169 dmac_peri: dma-controller@ff6e0000 {
170 compatible = "arm,pl330", "arm,primecell";
171 reg = <0x0 0xff6e0000 0x0 0x4000>;
Kever Yanga3580532017-04-19 18:17:31 +0800172 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
173 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800174 #dma-cells = <1>;
175 clocks = <&cru ACLK_DMAC1_PERILP>;
176 clock-names = "apb_pclk";
177 };
178 };
179
Kever Yanga3580532017-04-19 18:17:31 +0800180 pcie0: pcie@f8000000 {
181 compatible = "rockchip,rk3399-pcie";
182 reg = <0x0 0xf8000000 0x0 0x2000000>,
183 <0x0 0xfd000000 0x0 0x1000000>;
184 reg-names = "axi-base", "apb-base";
185 #address-cells = <3>;
186 #size-cells = <2>;
187 #interrupt-cells = <1>;
188 aspm-no-l0s;
189 bus-range = <0x0 0x1>;
190 clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
191 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
192 clock-names = "aclk", "aclk-perf",
193 "hclk", "pm";
194 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>,
195 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>,
196 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>;
197 interrupt-names = "sys", "legacy", "client";
198 interrupt-map-mask = <0 0 0 7>;
199 interrupt-map = <0 0 0 1 &pcie0_intc 0>,
200 <0 0 0 2 &pcie0_intc 1>,
201 <0 0 0 3 &pcie0_intc 2>,
202 <0 0 0 4 &pcie0_intc 3>;
203 linux,pci-domain = <0>;
204 max-link-speed = <1>;
205 msi-map = <0x0 &its 0x0 0x1000>;
206 phys = <&pcie_phy>;
207 phy-names = "pcie-phy";
208 ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000
209 0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>;
210 resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
211 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
212 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
213 <&cru SRST_A_PCIE>;
214 reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
215 "pm", "pclk", "aclk";
216 status = "disabled";
217
218 pcie0_intc: interrupt-controller {
219 interrupt-controller;
220 #address-cells = <0>;
221 #interrupt-cells = <1>;
222 };
223 };
224
225 gmac: ethernet@fe300000 {
226 compatible = "rockchip,rk3399-gmac";
227 reg = <0x0 0xfe300000 0x0 0x10000>;
228 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
229 interrupt-names = "macirq";
230 clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
231 <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
232 <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
233 <&cru PCLK_GMAC>;
234 clock-names = "stmmaceth", "mac_clk_rx",
235 "mac_clk_tx", "clk_mac_ref",
236 "clk_mac_refout", "aclk_mac",
237 "pclk_mac";
238 power-domains = <&power RK3399_PD_GMAC>;
239 resets = <&cru SRST_A_GMAC>;
240 reset-names = "stmmaceth";
241 rockchip,grf = <&grf>;
242 status = "disabled";
243 };
244
Kever Yangc61ad662016-07-19 21:16:58 +0800245 sdio0: dwmmc@fe310000 {
246 compatible = "rockchip,rk3399-dw-mshc",
247 "rockchip,rk3288-dw-mshc";
248 reg = <0x0 0xfe310000 0x0 0x4000>;
Kever Yanga3580532017-04-19 18:17:31 +0800249 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>;
250 max-frequency = <150000000>;
Kever Yangc61ad662016-07-19 21:16:58 +0800251 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
252 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
253 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
254 fifo-depth = <0x100>;
Kever Yanga3580532017-04-19 18:17:31 +0800255 power-domains = <&power RK3399_PD_SDIOAUDIO>;
256 resets = <&cru SRST_SDIO0>;
257 reset-names = "reset";
Kever Yangc61ad662016-07-19 21:16:58 +0800258 status = "disabled";
259 };
260
261 sdmmc: dwmmc@fe320000 {
262 compatible = "rockchip,rk3399-dw-mshc",
263 "rockchip,rk3288-dw-mshc";
264 reg = <0x0 0xfe320000 0x0 0x4000>;
Kever Yanga3580532017-04-19 18:17:31 +0800265 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>;
266 max-frequency = <150000000>;
267 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
Kever Yangc61ad662016-07-19 21:16:58 +0800268 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
Kever Yanga3580532017-04-19 18:17:31 +0800269 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
Kever Yangc61ad662016-07-19 21:16:58 +0800270 fifo-depth = <0x100>;
Kever Yanga3580532017-04-19 18:17:31 +0800271 power-domains = <&power RK3399_PD_SD>;
272 resets = <&cru SRST_SDMMC>;
273 reset-names = "reset";
Kever Yangc61ad662016-07-19 21:16:58 +0800274 status = "disabled";
275 };
276
277 sdhci: sdhci@fe330000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800278 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800279 compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
280 reg = <0x0 0xfe330000 0x0 0x10000>;
Kever Yanga3580532017-04-19 18:17:31 +0800281 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
282 arasan,soc-ctl-syscon = <&grf>;
Kever Yangc61ad662016-07-19 21:16:58 +0800283 assigned-clocks = <&cru SCLK_EMMC>;
284 assigned-clock-rates = <200000000>;
Kever Yangbbab8ea2016-12-28 11:32:36 +0800285 max-frequency = <200000000>;
Kever Yangc61ad662016-07-19 21:16:58 +0800286 clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
287 clock-names = "clk_xin", "clk_ahb";
Kever Yanga3580532017-04-19 18:17:31 +0800288 clock-output-names = "emmc_cardclock";
289 #clock-cells = <0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800290 phys = <&emmc_phy>;
291 phy-names = "phy_arasan";
Kever Yanga3580532017-04-19 18:17:31 +0800292 power-domains = <&power RK3399_PD_EMMC>;
Kever Yangc61ad662016-07-19 21:16:58 +0800293 status = "disabled";
294 };
295
296 usb_host0_ehci: usb@fe380000 {
297 compatible = "generic-ehci";
298 reg = <0x0 0xfe380000 0x0 0x20000>;
Kever Yanga3580532017-04-19 18:17:31 +0800299 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
300 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
301 <&u2phy0>;
302 clock-names = "usbhost", "arbiter",
303 "utmi";
304 phys = <&u2phy0_host>;
305 phy-names = "usb";
306 power-domains = <&power RK3399_PD_PERIHP>;
Kever Yangc61ad662016-07-19 21:16:58 +0800307 status = "disabled";
308 };
309
310 usb_host0_ohci: usb@fe3a0000 {
311 compatible = "generic-ohci";
312 reg = <0x0 0xfe3a0000 0x0 0x20000>;
Kever Yanga3580532017-04-19 18:17:31 +0800313 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
314 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
315 <&u2phy0>;
316 clock-names = "usbhost", "arbiter",
317 "utmi";
318 phys = <&u2phy0_host>;
319 phy-names = "usb";
320 power-domains = <&power RK3399_PD_PERIHP>;
Kever Yangc61ad662016-07-19 21:16:58 +0800321 status = "disabled";
322 };
323
324 usb_host1_ehci: usb@fe3c0000 {
325 compatible = "generic-ehci";
326 reg = <0x0 0xfe3c0000 0x0 0x20000>;
Kever Yanga3580532017-04-19 18:17:31 +0800327 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
328 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
329 <&u2phy1>;
330 clock-names = "usbhost", "arbiter",
331 "utmi";
332 phys = <&u2phy1_host>;
333 phy-names = "usb";
334 power-domains = <&power RK3399_PD_PERIHP>;
Kever Yangc61ad662016-07-19 21:16:58 +0800335 status = "disabled";
336 };
337
338 usb_host1_ohci: usb@fe3e0000 {
339 compatible = "generic-ohci";
340 reg = <0x0 0xfe3e0000 0x0 0x20000>;
Kever Yanga3580532017-04-19 18:17:31 +0800341 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
342 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
343 <&u2phy1>;
344 clock-names = "usbhost", "arbiter",
345 "utmi";
346 phys = <&u2phy1_host>;
347 phy-names = "usb";
348 power-domains = <&power RK3399_PD_PERIHP>;
Kever Yangc61ad662016-07-19 21:16:58 +0800349 status = "disabled";
350 };
351
MengDongyangf15293c2016-08-24 12:02:20 +0800352 dwc3_typec0: usb@fe800000 {
353 compatible = "rockchip,rk3399-xhci";
354 reg = <0x0 0xfe800000 0x0 0x100000>;
355 status = "disabled";
MengDongyangf15293c2016-08-24 12:02:20 +0800356 snps,dis-enblslpm-quirk;
357 snps,phyif-utmi-bits = <16>;
358 snps,dis-u2-freeclk-exists-quirk;
359 snps,dis-u2-susphy-quirk;
360
361 #address-cells = <2>;
362 #size-cells = <2>;
363 hub {
364 compatible = "usb-hub";
365 usb,device-class = <USB_CLASS_HUB>;
366 };
367 typec_phy0 {
368 compatible = "rockchip,rk3399-usb3-phy";
369 reg = <0x0 0xff7c0000 0x0 0x40000>;
370 };
371 };
372
373 dwc3_typec1: usb@fe900000 {
374 compatible = "rockchip,rk3399-xhci";
375 reg = <0x0 0xfe900000 0x0 0x100000>;
376 status = "disabled";
MengDongyangf15293c2016-08-24 12:02:20 +0800377 snps,dis-enblslpm-quirk;
378 snps,phyif-utmi-bits = <16>;
379 snps,dis-u2-freeclk-exists-quirk;
380 snps,dis-u2-susphy-quirk;
381
382 #address-cells = <2>;
383 #size-cells = <2>;
384 hub {
385 compatible = "usb-hub";
386 usb,device-class = <USB_CLASS_HUB>;
387 };
388 typec_phy1 {
389 compatible = "rockchip,rk3399-usb3-phy";
390 reg = <0x0 0xff800000 0x0 0x40000>;
391 };
392 };
393
Kever Yangc61ad662016-07-19 21:16:58 +0800394 gic: interrupt-controller@fee00000 {
395 compatible = "arm,gic-v3";
Kever Yanga3580532017-04-19 18:17:31 +0800396 #interrupt-cells = <4>;
Kever Yangc61ad662016-07-19 21:16:58 +0800397 #address-cells = <2>;
398 #size-cells = <2>;
399 ranges;
400 interrupt-controller;
401
402 reg = <0x0 0xfee00000 0 0x10000>, /* GICD */
403 <0x0 0xfef00000 0 0xc0000>, /* GICR */
404 <0x0 0xfff00000 0 0x10000>, /* GICC */
405 <0x0 0xfff10000 0 0x10000>, /* GICH */
406 <0x0 0xfff20000 0 0x10000>; /* GICV */
Kever Yanga3580532017-04-19 18:17:31 +0800407 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800408 its: interrupt-controller@fee20000 {
409 compatible = "arm,gic-v3-its";
410 msi-controller;
411 reg = <0x0 0xfee20000 0x0 0x20000>;
412 };
Kever Yanga3580532017-04-19 18:17:31 +0800413
414 ppi-partitions {
415 ppi_cluster0: interrupt-partition-0 {
416 affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
417 };
418
419 ppi_cluster1: interrupt-partition-1 {
420 affinity = <&cpu_b0 &cpu_b1>;
421 };
422 };
423 };
424
425 saradc: saradc@ff100000 {
426 compatible = "rockchip,rk3399-saradc";
427 reg = <0x0 0xff100000 0x0 0x100>;
428 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>;
429 #io-channel-cells = <1>;
430 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
431 clock-names = "saradc", "apb_pclk";
432 resets = <&cru SRST_P_SARADC>;
433 reset-names = "saradc-apb";
434 status = "disabled";
435 };
436
437 i2c1: i2c@ff110000 {
438 compatible = "rockchip,rk3399-i2c";
439 reg = <0x0 0xff110000 0x0 0x1000>;
440 assigned-clocks = <&cru SCLK_I2C1>;
441 assigned-clock-rates = <200000000>;
442 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
443 clock-names = "i2c", "pclk";
444 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>;
445 pinctrl-names = "default";
446 pinctrl-0 = <&i2c1_xfer>;
447 #address-cells = <1>;
448 #size-cells = <0>;
449 status = "disabled";
Kever Yangc61ad662016-07-19 21:16:58 +0800450 };
451
Kever Yanga3580532017-04-19 18:17:31 +0800452 i2c2: i2c@ff120000 {
453 compatible = "rockchip,rk3399-i2c";
454 reg = <0x0 0xff120000 0x0 0x1000>;
455 assigned-clocks = <&cru SCLK_I2C2>;
456 assigned-clock-rates = <200000000>;
457 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
458 clock-names = "i2c", "pclk";
459 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&i2c2_xfer>;
462 #address-cells = <1>;
463 #size-cells = <0>;
464 status = "disabled";
465 };
466
467 i2c3: i2c@ff130000 {
468 compatible = "rockchip,rk3399-i2c";
469 reg = <0x0 0xff130000 0x0 0x1000>;
470 assigned-clocks = <&cru SCLK_I2C3>;
471 assigned-clock-rates = <200000000>;
472 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
473 clock-names = "i2c", "pclk";
474 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>;
475 pinctrl-names = "default";
476 pinctrl-0 = <&i2c3_xfer>;
477 #address-cells = <1>;
478 #size-cells = <0>;
479 status = "disabled";
480 };
481
482 i2c5: i2c@ff140000 {
483 compatible = "rockchip,rk3399-i2c";
484 reg = <0x0 0xff140000 0x0 0x1000>;
485 assigned-clocks = <&cru SCLK_I2C5>;
486 assigned-clock-rates = <200000000>;
487 clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>;
488 clock-names = "i2c", "pclk";
489 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>;
490 pinctrl-names = "default";
491 pinctrl-0 = <&i2c5_xfer>;
492 #address-cells = <1>;
493 #size-cells = <0>;
494 status = "disabled";
495 };
496
497 i2c6: i2c@ff150000 {
498 compatible = "rockchip,rk3399-i2c";
499 reg = <0x0 0xff150000 0x0 0x1000>;
500 assigned-clocks = <&cru SCLK_I2C6>;
501 assigned-clock-rates = <200000000>;
502 clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>;
503 clock-names = "i2c", "pclk";
504 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>;
505 pinctrl-names = "default";
506 pinctrl-0 = <&i2c6_xfer>;
507 #address-cells = <1>;
508 #size-cells = <0>;
509 status = "disabled";
510 };
511
512 i2c7: i2c@ff160000 {
513 compatible = "rockchip,rk3399-i2c";
514 reg = <0x0 0xff160000 0x0 0x1000>;
515 assigned-clocks = <&cru SCLK_I2C7>;
516 assigned-clock-rates = <200000000>;
517 clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
518 clock-names = "i2c", "pclk";
519 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>;
520 pinctrl-names = "default";
521 pinctrl-0 = <&i2c7_xfer>;
522 #address-cells = <1>;
523 #size-cells = <0>;
524 status = "disabled";
525 };
526
Kever Yangc61ad662016-07-19 21:16:58 +0800527 uart0: serial@ff180000 {
528 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
529 reg = <0x0 0xff180000 0x0 0x100>;
530 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
531 clock-names = "baudclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800532 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800533 reg-shift = <2>;
534 reg-io-width = <4>;
535 pinctrl-names = "default";
536 pinctrl-0 = <&uart0_xfer>;
537 status = "disabled";
538 };
539
540 uart1: serial@ff190000 {
541 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
542 reg = <0x0 0xff190000 0x0 0x100>;
543 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
544 clock-names = "baudclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800545 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800546 reg-shift = <2>;
547 reg-io-width = <4>;
548 pinctrl-names = "default";
549 pinctrl-0 = <&uart1_xfer>;
550 status = "disabled";
551 };
552
553 uart2: serial@ff1a0000 {
554 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
555 reg = <0x0 0xff1a0000 0x0 0x100>;
556 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
557 clock-names = "baudclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800558 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800559 clock-frequency = <24000000>;
560 reg-shift = <2>;
561 reg-io-width = <4>;
562 pinctrl-names = "default";
563 pinctrl-0 = <&uart2c_xfer>;
564 status = "disabled";
565 };
566
567 uart3: serial@ff1b0000 {
568 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
569 reg = <0x0 0xff1b0000 0x0 0x100>;
570 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
571 clock-names = "baudclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800572 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800573 reg-shift = <2>;
574 reg-io-width = <4>;
575 pinctrl-names = "default";
576 pinctrl-0 = <&uart3_xfer>;
577 status = "disabled";
578 };
579
580 spi0: spi@ff1c0000 {
581 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
582 reg = <0x0 0xff1c0000 0x0 0x1000>;
583 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
584 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800585 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800586 pinctrl-names = "default";
587 pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
588 #address-cells = <1>;
589 #size-cells = <0>;
590 status = "disabled";
591 };
592
593 spi1: spi@ff1d0000 {
594 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
595 reg = <0x0 0xff1d0000 0x0 0x1000>;
596 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
597 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800598 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800599 pinctrl-names = "default";
600 pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
601 #address-cells = <1>;
602 #size-cells = <0>;
603 status = "disabled";
604 };
605
606 spi2: spi@ff1e0000 {
607 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
608 reg = <0x0 0xff1e0000 0x0 0x1000>;
609 clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
610 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800611 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800612 pinctrl-names = "default";
613 pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
614 #address-cells = <1>;
615 #size-cells = <0>;
616 status = "disabled";
617 };
618
619 spi4: spi@ff1f0000 {
620 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
621 reg = <0x0 0xff1f0000 0x0 0x1000>;
622 clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
623 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800624 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800625 pinctrl-names = "default";
626 pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
627 #address-cells = <1>;
628 #size-cells = <0>;
629 status = "disabled";
630 };
631
632 spi5: spi@ff200000 {
633 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
634 reg = <0x0 0xff200000 0x0 0x1000>;
635 clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
636 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +0800637 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +0800638 pinctrl-names = "default";
639 pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
640 #address-cells = <1>;
641 #size-cells = <0>;
642 status = "disabled";
643 };
644
Kever Yanga3580532017-04-19 18:17:31 +0800645 thermal_zones: thermal-zones {
646 cpu_thermal: cpu {
647 polling-delay-passive = <100>;
648 polling-delay = <1000>;
649
650 thermal-sensors = <&tsadc 0>;
651
652 trips {
653 cpu_alert0: cpu_alert0 {
654 temperature = <70000>;
655 hysteresis = <2000>;
656 type = "passive";
657 };
658 cpu_alert1: cpu_alert1 {
659 temperature = <75000>;
660 hysteresis = <2000>;
661 type = "passive";
662 };
663 cpu_crit: cpu_crit {
664 temperature = <95000>;
665 hysteresis = <2000>;
666 type = "critical";
667 };
668 };
669
670 cooling-maps {
671 map0 {
672 trip = <&cpu_alert0>;
673 cooling-device =
674 <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
675 };
676 map1 {
677 trip = <&cpu_alert1>;
678 cooling-device =
679 <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
680 <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
681 };
682 };
683 };
684
685 gpu_thermal: gpu {
686 polling-delay-passive = <100>;
687 polling-delay = <1000>;
688
689 thermal-sensors = <&tsadc 1>;
690
691 trips {
692 gpu_alert0: gpu_alert0 {
693 temperature = <75000>;
694 hysteresis = <2000>;
695 type = "passive";
696 };
697 gpu_crit: gpu_crit {
698 temperature = <95000>;
699 hysteresis = <2000>;
700 type = "critical";
701 };
702 };
703
704 cooling-maps {
705 map0 {
706 trip = <&gpu_alert0>;
707 cooling-device =
708 <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
709 };
710 };
711 };
712 };
713
714 tsadc: tsadc@ff260000 {
715 compatible = "rockchip,rk3399-tsadc";
716 reg = <0x0 0xff260000 0x0 0x100>;
717 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
718 assigned-clocks = <&cru SCLK_TSADC>;
719 assigned-clock-rates = <750000>;
720 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
721 clock-names = "tsadc", "apb_pclk";
722 resets = <&cru SRST_TSADC>;
723 reset-names = "tsadc-apb";
724 rockchip,grf = <&grf>;
725 rockchip,hw-tshut-temp = <95000>;
726 pinctrl-names = "init", "default", "sleep";
727 pinctrl-0 = <&otp_gpio>;
728 pinctrl-1 = <&otp_out>;
729 pinctrl-2 = <&otp_gpio>;
730 #thermal-sensor-cells = <1>;
731 status = "disabled";
732 };
733
734 qos_emmc: qos@ffa58000 {
735 compatible = "syscon";
736 reg = <0x0 0xffa58000 0x0 0x20>;
737 };
738
739 qos_gmac: qos@ffa5c000 {
740 compatible = "syscon";
741 reg = <0x0 0xffa5c000 0x0 0x20>;
742 };
743
744 qos_pcie: qos@ffa60080 {
745 compatible = "syscon";
746 reg = <0x0 0xffa60080 0x0 0x20>;
747 };
748
749 qos_usb_host0: qos@ffa60100 {
750 compatible = "syscon";
751 reg = <0x0 0xffa60100 0x0 0x20>;
752 };
753
754 qos_usb_host1: qos@ffa60180 {
755 compatible = "syscon";
756 reg = <0x0 0xffa60180 0x0 0x20>;
757 };
758
759 qos_usb_otg0: qos@ffa70000 {
760 compatible = "syscon";
761 reg = <0x0 0xffa70000 0x0 0x20>;
762 };
763
764 qos_usb_otg1: qos@ffa70080 {
765 compatible = "syscon";
766 reg = <0x0 0xffa70080 0x0 0x20>;
767 };
768
769 qos_sd: qos@ffa74000 {
770 compatible = "syscon";
771 reg = <0x0 0xffa74000 0x0 0x20>;
772 };
773
774 qos_sdioaudio: qos@ffa76000 {
775 compatible = "syscon";
776 reg = <0x0 0xffa76000 0x0 0x20>;
777 };
778
779 qos_hdcp: qos@ffa90000 {
780 compatible = "syscon";
781 reg = <0x0 0xffa90000 0x0 0x20>;
782 };
783
784 qos_iep: qos@ffa98000 {
785 compatible = "syscon";
786 reg = <0x0 0xffa98000 0x0 0x20>;
787 };
788
789 qos_isp0_m0: qos@ffaa0000 {
790 compatible = "syscon";
791 reg = <0x0 0xffaa0000 0x0 0x20>;
792 };
793
794 qos_isp0_m1: qos@ffaa0080 {
795 compatible = "syscon";
796 reg = <0x0 0xffaa0080 0x0 0x20>;
797 };
798
799 qos_isp1_m0: qos@ffaa8000 {
800 compatible = "syscon";
801 reg = <0x0 0xffaa8000 0x0 0x20>;
802 };
803
804 qos_isp1_m1: qos@ffaa8080 {
805 compatible = "syscon";
806 reg = <0x0 0xffaa8080 0x0 0x20>;
807 };
808
809 qos_rga_r: qos@ffab0000 {
810 compatible = "syscon";
811 reg = <0x0 0xffab0000 0x0 0x20>;
812 };
813
814 qos_rga_w: qos@ffab0080 {
815 compatible = "syscon";
816 reg = <0x0 0xffab0080 0x0 0x20>;
817 };
818
819 qos_video_m0: qos@ffab8000 {
820 compatible = "syscon";
821 reg = <0x0 0xffab8000 0x0 0x20>;
822 };
823
824 qos_video_m1_r: qos@ffac0000 {
825 compatible = "syscon";
826 reg = <0x0 0xffac0000 0x0 0x20>;
827 };
828
829 qos_video_m1_w: qos@ffac0080 {
830 compatible = "syscon";
831 reg = <0x0 0xffac0080 0x0 0x20>;
832 };
833
834 qos_vop_big_r: qos@ffac8000 {
835 compatible = "syscon";
836 reg = <0x0 0xffac8000 0x0 0x20>;
837 };
838
839 qos_vop_big_w: qos@ffac8080 {
840 compatible = "syscon";
841 reg = <0x0 0xffac8080 0x0 0x20>;
842 };
843
844 qos_vop_little: qos@ffad0000 {
845 compatible = "syscon";
846 reg = <0x0 0xffad0000 0x0 0x20>;
847 };
848
849 qos_perihp: qos@ffad8080 {
850 compatible = "syscon";
851 reg = <0x0 0xffad8080 0x0 0x20>;
852 };
853
854 qos_gpu: qos@ffae0000 {
855 compatible = "syscon";
856 reg = <0x0 0xffae0000 0x0 0x20>;
857 };
858
859 pmu: power-management@ff310000 {
860 compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
861 reg = <0x0 0xff310000 0x0 0x1000>;
862
863 /*
864 * Note: RK3399 supports 6 voltage domains including VD_CORE_L,
865 * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU.
866 * Some of the power domains are grouped together for every
867 * voltage domain.
868 * The detail contents as below.
869 */
870 power: power-controller {
871 compatible = "rockchip,rk3399-power-controller";
872 #power-domain-cells = <1>;
873 #address-cells = <1>;
874 #size-cells = <0>;
875
876 /* These power domains are grouped by VD_CENTER */
877 pd_iep@RK3399_PD_IEP {
878 reg = <RK3399_PD_IEP>;
879 clocks = <&cru ACLK_IEP>,
880 <&cru HCLK_IEP>;
881 pm_qos = <&qos_iep>;
882 };
883 pd_rga@RK3399_PD_RGA {
884 reg = <RK3399_PD_RGA>;
885 clocks = <&cru ACLK_RGA>,
886 <&cru HCLK_RGA>;
887 pm_qos = <&qos_rga_r>,
888 <&qos_rga_w>;
889 };
890 pd_vcodec@RK3399_PD_VCODEC {
891 reg = <RK3399_PD_VCODEC>;
892 clocks = <&cru ACLK_VCODEC>,
893 <&cru HCLK_VCODEC>;
894 pm_qos = <&qos_video_m0>;
895 };
896 pd_vdu@RK3399_PD_VDU {
897 reg = <RK3399_PD_VDU>;
898 clocks = <&cru ACLK_VDU>,
899 <&cru HCLK_VDU>;
900 pm_qos = <&qos_video_m1_r>,
901 <&qos_video_m1_w>;
902 };
903
904 /* These power domains are grouped by VD_GPU */
905 pd_gpu@RK3399_PD_GPU {
906 reg = <RK3399_PD_GPU>;
907 clocks = <&cru ACLK_GPU>;
908 pm_qos = <&qos_gpu>;
909 };
910
911 /* These power domains are grouped by VD_LOGIC */
912 pd_edp@RK3399_PD_EDP {
913 reg = <RK3399_PD_EDP>;
914 clocks = <&cru PCLK_EDP_CTRL>;
915 };
916 pd_emmc@RK3399_PD_EMMC {
917 reg = <RK3399_PD_EMMC>;
918 clocks = <&cru ACLK_EMMC>;
919 pm_qos = <&qos_emmc>;
920 };
921 pd_gmac@RK3399_PD_GMAC {
922 reg = <RK3399_PD_GMAC>;
923 clocks = <&cru ACLK_GMAC>,
924 <&cru PCLK_GMAC>;
925 pm_qos = <&qos_gmac>;
926 };
927 pd_perihp@RK3399_PD_PERIHP {
928 reg = <RK3399_PD_PERIHP>;
929 #address-cells = <1>;
930 #size-cells = <0>;
931 clocks = <&cru ACLK_PERIHP>;
932 pm_qos = <&qos_perihp>,
933 <&qos_pcie>,
934 <&qos_usb_host0>,
935 <&qos_usb_host1>;
936
937 pd_sd@RK3399_PD_SD {
938 reg = <RK3399_PD_SD>;
939 clocks = <&cru HCLK_SDMMC>,
940 <&cru SCLK_SDMMC>;
941 pm_qos = <&qos_sd>;
942 };
943 };
944 pd_sdioaudio@RK3399_PD_SDIOAUDIO {
945 reg = <RK3399_PD_SDIOAUDIO>;
946 clocks = <&cru HCLK_SDIO>;
947 pm_qos = <&qos_sdioaudio>;
948 };
949 pd_usb3@RK3399_PD_USB3 {
950 reg = <RK3399_PD_USB3>;
951 clocks = <&cru ACLK_USB3>;
952 pm_qos = <&qos_usb_otg0>,
953 <&qos_usb_otg1>;
954 };
955 pd_vio@RK3399_PD_VIO {
956 reg = <RK3399_PD_VIO>;
957 #address-cells = <1>;
958 #size-cells = <0>;
959
960 pd_hdcp@RK3399_PD_HDCP {
961 reg = <RK3399_PD_HDCP>;
962 clocks = <&cru ACLK_HDCP>,
963 <&cru HCLK_HDCP>,
964 <&cru PCLK_HDCP>;
965 pm_qos = <&qos_hdcp>;
966 };
967 pd_isp0@RK3399_PD_ISP0 {
968 reg = <RK3399_PD_ISP0>;
969 clocks = <&cru ACLK_ISP0>,
970 <&cru HCLK_ISP0>;
971 pm_qos = <&qos_isp0_m0>,
972 <&qos_isp0_m1>;
973 };
974 pd_isp1@RK3399_PD_ISP1 {
975 reg = <RK3399_PD_ISP1>;
976 clocks = <&cru ACLK_ISP1>,
977 <&cru HCLK_ISP1>;
978 pm_qos = <&qos_isp1_m0>,
979 <&qos_isp1_m1>;
980 };
981 pd_tcpc0@RK3399_PD_TCPC0 {
982 reg = <RK3399_PD_TCPD0>;
983 clocks = <&cru SCLK_UPHY0_TCPDCORE>,
984 <&cru SCLK_UPHY0_TCPDPHY_REF>;
985 };
986 pd_tcpc1@RK3399_PD_TCPC1 {
987 reg = <RK3399_PD_TCPD1>;
988 clocks = <&cru SCLK_UPHY1_TCPDCORE>,
989 <&cru SCLK_UPHY1_TCPDPHY_REF>;
990 };
991 pd_vo@RK3399_PD_VO {
992 reg = <RK3399_PD_VO>;
993 #address-cells = <1>;
994 #size-cells = <0>;
995
996 pd_vopb@RK3399_PD_VOPB {
997 reg = <RK3399_PD_VOPB>;
998 clocks = <&cru ACLK_VOP0>,
999 <&cru HCLK_VOP0>;
1000 pm_qos = <&qos_vop_big_r>,
1001 <&qos_vop_big_w>;
1002 };
1003 pd_vopl@RK3399_PD_VOPL {
1004 reg = <RK3399_PD_VOPL>;
1005 clocks = <&cru ACLK_VOP1>,
1006 <&cru HCLK_VOP1>;
1007 pm_qos = <&qos_vop_little>;
1008 };
1009 };
1010 };
1011 };
1012 };
1013
Kever Yangc61ad662016-07-19 21:16:58 +08001014 pmugrf: syscon@ff320000 {
Kever Yang1eafe152017-02-22 16:56:36 +08001015 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +08001016 compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
1017 reg = <0x0 0xff320000 0x0 0x1000>;
1018 #address-cells = <1>;
1019 #size-cells = <1>;
1020
1021 pmu_io_domains: io-domains {
1022 compatible = "rockchip,rk3399-pmu-io-voltage-domain";
1023 status = "disabled";
1024 };
1025 };
1026
Kever Yang1eafe152017-02-22 16:56:36 +08001027 pmusgrf: syscon@ff330000 {
1028 u-boot,dm-pre-reloc;
1029 compatible = "rockchip,rk3399-pmusgrf", "syscon";
1030 reg = <0x0 0xff330000 0x0 0xe3d4>;
1031 };
1032
Kever Yangc61ad662016-07-19 21:16:58 +08001033 spi3: spi@ff350000 {
1034 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
1035 reg = <0x0 0xff350000 0x0 0x1000>;
1036 clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>;
1037 clock-names = "spiclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +08001038 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001039 pinctrl-names = "default";
1040 pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
1041 #address-cells = <1>;
1042 #size-cells = <0>;
1043 status = "disabled";
1044 };
1045
1046 uart4: serial@ff370000 {
1047 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
1048 reg = <0x0 0xff370000 0x0 0x100>;
1049 clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
1050 clock-names = "baudclk", "apb_pclk";
Kever Yanga3580532017-04-19 18:17:31 +08001051 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001052 reg-shift = <2>;
1053 reg-io-width = <4>;
1054 pinctrl-names = "default";
1055 pinctrl-0 = <&uart4_xfer>;
1056 status = "disabled";
1057 };
1058
Kever Yanga3580532017-04-19 18:17:31 +08001059 i2c4: i2c@ff3d0000 {
1060 compatible = "rockchip,rk3399-i2c";
1061 reg = <0x0 0xff3d0000 0x0 0x1000>;
1062 assigned-clocks = <&pmucru SCLK_I2C4_PMU>;
1063 assigned-clock-rates = <200000000>;
1064 clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>;
1065 clock-names = "i2c", "pclk";
1066 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>;
1067 pinctrl-names = "default";
1068 pinctrl-0 = <&i2c4_xfer>;
1069 #address-cells = <1>;
1070 #size-cells = <0>;
1071 status = "disabled";
1072 };
1073
1074 i2c8: i2c@ff3e0000 {
1075 compatible = "rockchip,rk3399-i2c";
1076 reg = <0x0 0xff3e0000 0x0 0x1000>;
1077 assigned-clocks = <&pmucru SCLK_I2C8_PMU>;
1078 assigned-clock-rates = <200000000>;
1079 clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>;
1080 clock-names = "i2c", "pclk";
1081 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
1082 pinctrl-names = "default";
1083 pinctrl-0 = <&i2c8_xfer>;
1084 #address-cells = <1>;
1085 #size-cells = <0>;
1086 status = "disabled";
1087 };
1088
Kever Yangc61ad662016-07-19 21:16:58 +08001089 pwm0: pwm@ff420000 {
1090 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1091 reg = <0x0 0xff420000 0x0 0x10>;
1092 #pwm-cells = <3>;
1093 pinctrl-names = "default";
1094 pinctrl-0 = <&pwm0_pin>;
1095 clocks = <&pmucru PCLK_RKPWM_PMU>;
1096 clock-names = "pwm";
1097 status = "disabled";
1098 };
1099
1100 pwm1: pwm@ff420010 {
1101 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1102 reg = <0x0 0xff420010 0x0 0x10>;
1103 #pwm-cells = <3>;
1104 pinctrl-names = "default";
1105 pinctrl-0 = <&pwm1_pin>;
1106 clocks = <&pmucru PCLK_RKPWM_PMU>;
1107 clock-names = "pwm";
1108 status = "disabled";
1109 };
1110
1111 pwm2: pwm@ff420020 {
1112 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1113 reg = <0x0 0xff420020 0x0 0x10>;
1114 #pwm-cells = <3>;
1115 pinctrl-names = "default";
1116 pinctrl-0 = <&pwm2_pin>;
1117 clocks = <&pmucru PCLK_RKPWM_PMU>;
1118 clock-names = "pwm";
1119 status = "disabled";
1120 };
1121
1122 pwm3: pwm@ff420030 {
1123 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1124 reg = <0x0 0xff420030 0x0 0x10>;
1125 #pwm-cells = <3>;
1126 pinctrl-names = "default";
1127 pinctrl-0 = <&pwm3a_pin>;
1128 clocks = <&pmucru PCLK_RKPWM_PMU>;
1129 clock-names = "pwm";
1130 status = "disabled";
1131 };
1132
Kever Yang1eafe152017-02-22 16:56:36 +08001133 cic: syscon@ff620000 {
1134 u-boot,dm-pre-reloc;
1135 compatible = "rockchip,rk3399-cic", "syscon";
1136 reg = <0x0 0xff620000 0x0 0x100>;
1137 };
1138
1139 dfi: dfi@ff630000 {
1140 reg = <0x00 0xff630000 0x00 0x4000>;
1141 compatible = "rockchip,rk3399-dfi";
1142 rockchip,pmu = <&pmugrf>;
1143 clocks = <&cru PCLK_DDR_MON>;
1144 clock-names = "pclk_ddr_mon";
1145 status = "disabled";
1146 };
1147
1148 dmc: dmc {
1149 u-boot,dm-pre-reloc;
1150 compatible = "rockchip,rk3399-dmc";
1151 devfreq-events = <&dfi>;
1152 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>;
1153 clocks = <&cru SCLK_DDRCLK>;
1154 clock-names = "dmc_clk";
1155 reg = <0x0 0xffa80000 0x0 0x0800
1156 0x0 0xffa80800 0x0 0x1800
1157 0x0 0xffa82000 0x0 0x2000
1158 0x0 0xffa84000 0x0 0x1000
1159 0x0 0xffa88000 0x0 0x0800
1160 0x0 0xffa88800 0x0 0x1800
1161 0x0 0xffa8a000 0x0 0x2000
1162 0x0 0xffa8c000 0x0 0x1000>;
1163 };
1164
Kever Yanga3580532017-04-19 18:17:31 +08001165 efuse0: efuse@ff690000 {
1166 compatible = "rockchip,rk3399-efuse";
1167 reg = <0x0 0xff690000 0x0 0x80>;
1168 #address-cells = <1>;
1169 #size-cells = <1>;
1170 clocks = <&cru PCLK_EFUSE1024NS>;
1171 clock-names = "pclk_efuse";
1172
1173 /* Data cells */
1174 cpu_id: cpu-id@7 {
1175 reg = <0x07 0x10>;
1176 };
1177 cpub_leakage: cpu-leakage@17 {
1178 reg = <0x17 0x1>;
1179 };
1180 gpu_leakage: gpu-leakage@18 {
1181 reg = <0x18 0x1>;
1182 };
1183 center_leakage: center-leakage@19 {
1184 reg = <0x19 0x1>;
1185 };
1186 cpul_leakage: cpu-leakage@1a {
1187 reg = <0x1a 0x1>;
1188 };
1189 logic_leakage: logic-leakage@1b {
1190 reg = <0x1b 0x1>;
1191 };
1192 wafer_info: wafer-info@1c {
1193 reg = <0x1c 0x1>;
1194 };
1195 };
1196
Kever Yangc61ad662016-07-19 21:16:58 +08001197 pmucru: pmu-clock-controller@ff750000 {
Kever Yang1eafe152017-02-22 16:56:36 +08001198 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +08001199 compatible = "rockchip,rk3399-pmucru";
1200 reg = <0x0 0xff750000 0x0 0x1000>;
Kever Yanga3580532017-04-19 18:17:31 +08001201 rockchip,grf = <&pmugrf>;
Kever Yangc61ad662016-07-19 21:16:58 +08001202 #clock-cells = <1>;
1203 #reset-cells = <1>;
1204 assigned-clocks = <&pmucru PLL_PPLL>;
1205 assigned-clock-rates = <676000000>;
1206 };
1207
1208 cru: clock-controller@ff760000 {
Kever Yang1eafe152017-02-22 16:56:36 +08001209 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +08001210 compatible = "rockchip,rk3399-cru";
1211 reg = <0x0 0xff760000 0x0 0x1000>;
Kever Yanga3580532017-04-19 18:17:31 +08001212 rockchip,grf = <&grf>;
Kever Yangc61ad662016-07-19 21:16:58 +08001213 #clock-cells = <1>;
1214 #reset-cells = <1>;
1215 assigned-clocks =
1216 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
1217 <&cru PLL_NPLL>,
1218 <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
1219 <&cru PCLK_PERIHP>,
1220 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
Kever Yanga3580532017-04-19 18:17:31 +08001221 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
Kever Yangc61ad662016-07-19 21:16:58 +08001222 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>;
1223 assigned-clock-rates =
1224 <594000000>, <800000000>,
1225 <1000000000>,
1226 <150000000>, <75000000>,
1227 <37500000>,
1228 <100000000>, <100000000>,
Kever Yanga3580532017-04-19 18:17:31 +08001229 <50000000>, <600000000>,
Kever Yangc61ad662016-07-19 21:16:58 +08001230 <100000000>, <50000000>;
1231 };
1232
1233 grf: syscon@ff770000 {
Kever Yang1eafe152017-02-22 16:56:36 +08001234 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +08001235 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
1236 reg = <0x0 0xff770000 0x0 0x10000>;
1237 #address-cells = <1>;
1238 #size-cells = <1>;
1239
1240 io_domains: io-domains {
1241 compatible = "rockchip,rk3399-io-voltage-domain";
1242 status = "disabled";
Kever Yanga3580532017-04-19 18:17:31 +08001243 };
1244
1245 u2phy0: usb2-phy@e450 {
1246 compatible = "rockchip,rk3399-usb2phy";
1247 reg = <0xe450 0x10>;
1248 clocks = <&cru SCLK_USB2PHY0_REF>;
1249 clock-names = "phyclk";
1250 #clock-cells = <0>;
1251 clock-output-names = "clk_usbphy0_480m";
1252 status = "disabled";
1253
1254 u2phy0_host: host-port {
1255 #phy-cells = <0>;
1256 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
1257 interrupt-names = "linestate";
1258 status = "disabled";
1259 };
1260
1261 u2phy0_otg: otg-port {
1262 #phy-cells = <0>;
1263 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
1264 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
1265 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
1266 interrupt-names = "otg-bvalid", "otg-id",
1267 "linestate";
1268 status = "disabled";
1269 };
1270 };
1271
1272 u2phy1: usb2-phy@e460 {
1273 compatible = "rockchip,rk3399-usb2phy";
1274 reg = <0xe460 0x10>;
1275 clocks = <&cru SCLK_USB2PHY1_REF>;
1276 clock-names = "phyclk";
1277 #clock-cells = <0>;
1278 clock-output-names = "clk_usbphy1_480m";
1279 status = "disabled";
1280
1281 u2phy1_host: host-port {
1282 #phy-cells = <0>;
1283 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>;
1284 interrupt-names = "linestate";
1285 status = "disabled";
1286 };
1287
1288 u2phy1_otg: otg-port {
1289 #phy-cells = <0>;
1290 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>,
1291 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>,
1292 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>;
1293 interrupt-names = "otg-bvalid", "otg-id",
1294 "linestate";
1295 status = "disabled";
1296 };
Kever Yangc61ad662016-07-19 21:16:58 +08001297 };
1298
1299 emmc_phy: phy@f780 {
1300 compatible = "rockchip,rk3399-emmc-phy";
1301 reg = <0xf780 0x24>;
Kever Yanga3580532017-04-19 18:17:31 +08001302 clocks = <&sdhci>;
1303 clock-names = "emmcclk";
1304 #phy-cells = <0>;
1305 status = "disabled";
1306 };
1307
1308 pcie_phy: pcie-phy {
1309 compatible = "rockchip,rk3399-pcie-phy";
1310 clocks = <&cru SCLK_PCIEPHY_REF>;
1311 clock-names = "refclk";
Kever Yangc61ad662016-07-19 21:16:58 +08001312 #phy-cells = <0>;
Kever Yanga3580532017-04-19 18:17:31 +08001313 resets = <&cru SRST_PCIEPHY>;
1314 reset-names = "phy";
Kever Yangc61ad662016-07-19 21:16:58 +08001315 status = "disabled";
1316 };
1317 };
1318
Kever Yanga3580532017-04-19 18:17:31 +08001319 watchdog@ff848000 {
Kever Yangc61ad662016-07-19 21:16:58 +08001320 compatible = "snps,dw-wdt";
Kever Yanga3580532017-04-19 18:17:31 +08001321 reg = <0x0 0xff848000 0x0 0x100>;
Kever Yangc61ad662016-07-19 21:16:58 +08001322 clocks = <&cru PCLK_WDT>;
Kever Yanga3580532017-04-19 18:17:31 +08001323 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001324 };
1325
Kever Yanga3580532017-04-19 18:17:31 +08001326 rktimer: rktimer@ff850000 {
1327 compatible = "rockchip,rk3399-timer";
1328 reg = <0x0 0xff850000 0x0 0x1000>;
1329 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>;
1330 clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>;
1331 clock-names = "pclk", "timer";
1332 };
Philipp Tomsich5c6523e2017-03-24 19:24:27 +01001333
Kever Yangc61ad662016-07-19 21:16:58 +08001334 spdif: spdif@ff870000 {
1335 compatible = "rockchip,rk3399-spdif";
1336 reg = <0x0 0xff870000 0x0 0x1000>;
Kever Yanga3580532017-04-19 18:17:31 +08001337 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001338 dmas = <&dmac_bus 7>;
1339 dma-names = "tx";
1340 clock-names = "mclk", "hclk";
1341 clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>;
1342 pinctrl-names = "default";
1343 pinctrl-0 = <&spdif_bus>;
Kever Yanga3580532017-04-19 18:17:31 +08001344 power-domains = <&power RK3399_PD_SDIOAUDIO>;
Kever Yangc61ad662016-07-19 21:16:58 +08001345 status = "disabled";
1346 };
1347
1348 i2s0: i2s@ff880000 {
1349 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1350 reg = <0x0 0xff880000 0x0 0x1000>;
1351 rockchip,grf = <&grf>;
Kever Yanga3580532017-04-19 18:17:31 +08001352 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001353 dmas = <&dmac_bus 0>, <&dmac_bus 1>;
1354 dma-names = "tx", "rx";
1355 clock-names = "i2s_clk", "i2s_hclk";
1356 clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>;
1357 pinctrl-names = "default";
1358 pinctrl-0 = <&i2s0_8ch_bus>;
Kever Yanga3580532017-04-19 18:17:31 +08001359 power-domains = <&power RK3399_PD_SDIOAUDIO>;
Kever Yangc61ad662016-07-19 21:16:58 +08001360 status = "disabled";
1361 };
1362
1363 i2s1: i2s@ff890000 {
1364 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1365 reg = <0x0 0xff890000 0x0 0x1000>;
Kever Yanga3580532017-04-19 18:17:31 +08001366 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001367 dmas = <&dmac_bus 2>, <&dmac_bus 3>;
1368 dma-names = "tx", "rx";
1369 clock-names = "i2s_clk", "i2s_hclk";
1370 clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>;
1371 pinctrl-names = "default";
1372 pinctrl-0 = <&i2s1_2ch_bus>;
Kever Yanga3580532017-04-19 18:17:31 +08001373 power-domains = <&power RK3399_PD_SDIOAUDIO>;
Kever Yangc61ad662016-07-19 21:16:58 +08001374 status = "disabled";
1375 };
1376
1377 i2s2: i2s@ff8a0000 {
1378 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1379 reg = <0x0 0xff8a0000 0x0 0x1000>;
Kever Yanga3580532017-04-19 18:17:31 +08001380 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001381 dmas = <&dmac_bus 4>, <&dmac_bus 5>;
1382 dma-names = "tx", "rx";
1383 clock-names = "i2s_clk", "i2s_hclk";
1384 clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>;
Kever Yanga3580532017-04-19 18:17:31 +08001385 power-domains = <&power RK3399_PD_SDIOAUDIO>;
Kever Yangc61ad662016-07-19 21:16:58 +08001386 status = "disabled";
1387 };
1388
eric.gao@rock-chips.com5f0ce632017-04-10 10:17:03 +08001389 i2c0: i2c@ff3c0000 {
1390 compatible = "rockchip,rk3399-i2c";
1391 reg = <0x0 0xff3c0000 0x0 0x1000>;
1392 assigned-clocks = <&pmucru SCLK_I2C0_PMU>;
1393 assigned-clock-rates = <200000000>;
1394 clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>;
1395 clock-names = "i2c", "pclk";
1396 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>;
1397 pinctrl-names = "default";
1398 pinctrl-0 = <&i2c0_xfer>;
1399 #address-cells = <1>;
1400 #size-cells = <0>;
1401 status = "disabled";
1402 };
1403
Eric Gao8b51b132017-05-02 18:23:56 +08001404 vopl: vop@ff8f0000 {
1405 u-boot,dm-pre-reloc;
1406 compatible = "rockchip,rk3399-vop-lit";
1407 reg = <0x0 0xff8f0000 0x0 0x3efc>;
1408 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1409 clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
1410 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1411 resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>;
1412 reset-names = "axi", "ahb", "dclk";
1413 status = "disabled";
1414 vopl_out: port {
1415 #address-cells = <1>;
1416 #size-cells = <0>;
1417 vopl_out_mipi: endpoint@0 {
1418 reg = <3>;
1419 remote-endpoint = <&mipi_in_vopl>;
1420 };
Philipp Tomsichcf227b02017-06-06 15:42:31 +02001421
1422 vopl_out_hdmi: endpoint@1 {
1423 reg = <1>;
1424 remote-endpoint = <&hdmi_in_vopl>;
1425 };
Eric Gao8b51b132017-05-02 18:23:56 +08001426 };
1427 };
1428
1429 vopb: vop@ff900000 {
1430 u-boot,dm-pre-reloc;
1431 compatible = "rockchip,rk3399-vop-big";
1432 reg = <0x0 0xff900000 0x0 0x3efc>;
1433 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1434 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
1435 #clock-cells = <0>;
1436 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1437 resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>;
1438 reset-names = "axi", "ahb", "dclk";
1439 status = "disabled";
1440 vopb_out: port {
1441 #address-cells = <1>;
1442 #size-cells = <0>;
1443 vopb_out_mipi: endpoint@0 {
1444 reg = <3>;
1445 remote-endpoint = <&mipi_in_vopb>;
1446 };
Philipp Tomsichcf227b02017-06-06 15:42:31 +02001447
1448 vopb_out_hdmi: endpoint@1 {
1449 reg = <1>;
1450 remote-endpoint = <&hdmi_in_vopb>;
1451 };
1452 };
1453 };
1454
1455 hdmi: hdmi@ff940000 {
1456 compatible = "rockchip,rk3399-dw-hdmi";
1457 reg = <0x0 0xff940000 0x0 0x20000>;
1458 reg-io-width = <4>;
1459 rockchip,grf = <&grf>;
1460 pinctrl-names = "default";
1461 pinctrl-0 = <&hdmi_i2c_xfer>;
1462 power-domains = <&power RK3399_PD_HDCP>;
1463 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
1464 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_SFR>, <&cru PLL_VPLL>, <&cru PCLK_VIO_GRF>;
1465 clock-names = "iahb", "isfr", "vpll", "grf";
1466 status = "disabled";
1467
1468 ports {
1469 hdmi_in: port {
1470 #address-cells = <1>;
1471 #size-cells = <0>;
1472 hdmi_in_vopb: endpoint@0 {
1473 reg = <0>;
1474 remote-endpoint = <&vopb_out_hdmi>;
1475 };
1476 hdmi_in_vopl: endpoint@1 {
1477 reg = <1>;
1478 remote-endpoint = <&vopl_out_hdmi>;
1479 };
1480 };
Eric Gao8b51b132017-05-02 18:23:56 +08001481 };
1482 };
1483
1484 mipi_dsi: mipi@ff960000 {
1485 compatible = "rockchip,rk3399_mipi_dsi";
1486 reg = <0x0 0xff960000 0x0 0x8000>;
1487 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>;
1488 clocks = <&cru SCLK_MIPIDPHY_REF>, <&cru PCLK_MIPI_DSI0>,
1489 <&cru SCLK_DPHY_TX0_CFG>;
1490 clock-names = "ref", "pclk", "phy_cfg";
1491 rockchip,grf = <&grf>;
1492 #address-cells = <1>;
1493 #size-cells = <0>;
1494 status = "disabled";
1495 ports {
1496 #address-cells = <1>;
1497 #size-cells = <0>;
1498 reg = <1>;
1499 mipi_in: port {
1500 #address-cells = <1>;
1501 #size-cells = <0>;
1502 mipi_in_vopb: endpoint@0 {
1503 reg = <0>;
1504 remote-endpoint = <&vopb_out_mipi>;
1505 };
1506 mipi_in_vopl: endpoint@1 {
1507 reg = <1>;
1508 remote-endpoint = <&vopl_out_mipi>;
1509 };
1510 };
1511 };
1512 };
1513
Kever Yangc61ad662016-07-19 21:16:58 +08001514 pinctrl: pinctrl {
Kever Yang1eafe152017-02-22 16:56:36 +08001515 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +08001516 compatible = "rockchip,rk3399-pinctrl";
1517 rockchip,grf = <&grf>;
1518 rockchip,pmu = <&pmugrf>;
1519 #address-cells = <2>;
1520 #size-cells = <2>;
1521 ranges;
1522
1523 gpio0: gpio0@ff720000 {
1524 compatible = "rockchip,gpio-bank";
1525 reg = <0x0 0xff720000 0x0 0x100>;
1526 clocks = <&pmucru PCLK_GPIO0_PMU>;
Kever Yanga3580532017-04-19 18:17:31 +08001527 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001528
1529 gpio-controller;
1530 #gpio-cells = <0x2>;
1531
1532 interrupt-controller;
1533 #interrupt-cells = <0x2>;
1534 };
1535
1536 gpio1: gpio1@ff730000 {
1537 compatible = "rockchip,gpio-bank";
1538 reg = <0x0 0xff730000 0x0 0x100>;
1539 clocks = <&pmucru PCLK_GPIO1_PMU>;
Kever Yanga3580532017-04-19 18:17:31 +08001540 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001541
1542 gpio-controller;
1543 #gpio-cells = <0x2>;
1544
1545 interrupt-controller;
1546 #interrupt-cells = <0x2>;
1547 };
1548
1549 gpio2: gpio2@ff780000 {
1550 compatible = "rockchip,gpio-bank";
1551 reg = <0x0 0xff780000 0x0 0x100>;
1552 clocks = <&cru PCLK_GPIO2>;
Kever Yanga3580532017-04-19 18:17:31 +08001553 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001554
1555 gpio-controller;
1556 #gpio-cells = <0x2>;
1557
1558 interrupt-controller;
1559 #interrupt-cells = <0x2>;
1560 };
1561
1562 gpio3: gpio3@ff788000 {
1563 compatible = "rockchip,gpio-bank";
1564 reg = <0x0 0xff788000 0x0 0x100>;
1565 clocks = <&cru PCLK_GPIO3>;
Kever Yanga3580532017-04-19 18:17:31 +08001566 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001567
1568 gpio-controller;
1569 #gpio-cells = <0x2>;
1570
1571 interrupt-controller;
1572 #interrupt-cells = <0x2>;
1573 };
1574
1575 gpio4: gpio4@ff790000 {
1576 compatible = "rockchip,gpio-bank";
1577 reg = <0x0 0xff790000 0x0 0x100>;
1578 clocks = <&cru PCLK_GPIO4>;
Kever Yanga3580532017-04-19 18:17:31 +08001579 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
Kever Yangc61ad662016-07-19 21:16:58 +08001580
1581 gpio-controller;
1582 #gpio-cells = <0x2>;
1583
1584 interrupt-controller;
1585 #interrupt-cells = <0x2>;
1586 };
1587
1588 pcfg_pull_up: pcfg-pull-up {
1589 bias-pull-up;
1590 };
1591
1592 pcfg_pull_down: pcfg-pull-down {
1593 bias-pull-down;
1594 };
1595
1596 pcfg_pull_none: pcfg-pull-none {
1597 bias-disable;
1598 };
1599
1600 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1601 bias-disable;
1602 drive-strength = <12>;
1603 };
1604
1605 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
1606 bias-pull-up;
1607 drive-strength = <8>;
1608 };
1609
1610 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
1611 bias-pull-down;
1612 drive-strength = <4>;
1613 };
1614
1615 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
1616 bias-pull-up;
1617 drive-strength = <2>;
1618 };
1619
1620 pcfg_pull_down_12ma: pcfg-pull-down-12ma {
1621 bias-pull-down;
1622 drive-strength = <12>;
1623 };
1624
1625 pcfg_pull_none_13ma: pcfg-pull-none-13ma {
1626 bias-disable;
1627 drive-strength = <13>;
1628 };
1629
Kever Yanga3580532017-04-19 18:17:31 +08001630 clock {
1631 clk_32k: clk-32k {
1632 rockchip,pins = <0 RK_PA0 RK_FUNC_2 &pcfg_pull_none>;
1633 };
1634 };
1635
1636 edp {
1637 edp_hpd: edp-hpd {
1638 rockchip,pins =
1639 <4 RK_PC7 RK_FUNC_2 &pcfg_pull_none>;
1640 };
1641 };
1642
1643 gmac {
1644 rgmii_pins: rgmii-pins {
1645 rockchip,pins =
1646 /* mac_txclk */
1647 <3 RK_PC1 RK_FUNC_1 &pcfg_pull_none_13ma>,
1648 /* mac_rxclk */
1649 <3 RK_PB6 RK_FUNC_1 &pcfg_pull_none>,
1650 /* mac_mdio */
1651 <3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>,
1652 /* mac_txen */
1653 <3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1654 /* mac_clk */
1655 <3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>,
1656 /* mac_rxdv */
1657 <3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>,
1658 /* mac_mdc */
1659 <3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>,
1660 /* mac_rxd1 */
1661 <3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>,
1662 /* mac_rxd0 */
1663 <3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1664 /* mac_txd1 */
1665 <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>,
1666 /* mac_txd0 */
1667 <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1668 /* mac_rxd3 */
1669 <3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>,
1670 /* mac_rxd2 */
1671 <3 RK_PA2 RK_FUNC_1 &pcfg_pull_none>,
1672 /* mac_txd3 */
1673 <3 RK_PA1 RK_FUNC_1 &pcfg_pull_none_13ma>,
1674 /* mac_txd2 */
1675 <3 RK_PA0 RK_FUNC_1 &pcfg_pull_none_13ma>;
1676 };
1677
1678 rmii_pins: rmii-pins {
1679 rockchip,pins =
1680 /* mac_mdio */
1681 <3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>,
1682 /* mac_txen */
1683 <3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1684 /* mac_clk */
1685 <3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>,
1686 /* mac_rxer */
1687 <3 RK_PB2 RK_FUNC_1 &pcfg_pull_none>,
1688 /* mac_rxdv */
1689 <3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>,
1690 /* mac_mdc */
1691 <3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>,
1692 /* mac_rxd1 */
1693 <3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>,
1694 /* mac_rxd0 */
1695 <3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1696 /* mac_txd1 */
1697 <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>,
1698 /* mac_txd0 */
1699 <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>;
1700 };
1701 };
1702
Kever Yangc61ad662016-07-19 21:16:58 +08001703 i2c0 {
1704 i2c0_xfer: i2c0-xfer {
1705 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001706 <1 RK_PB7 RK_FUNC_2 &pcfg_pull_none>,
1707 <1 RK_PC0 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001708 };
1709 };
1710
1711 i2c1 {
1712 i2c1_xfer: i2c1-xfer {
1713 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001714 <4 RK_PA2 RK_FUNC_1 &pcfg_pull_none>,
1715 <4 RK_PA1 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001716 };
1717 };
1718
1719 i2c2 {
1720 i2c2_xfer: i2c2-xfer {
1721 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001722 <2 RK_PA1 RK_FUNC_2 &pcfg_pull_none_12ma>,
1723 <2 RK_PA0 RK_FUNC_2 &pcfg_pull_none_12ma>;
Kever Yangc61ad662016-07-19 21:16:58 +08001724 };
1725 };
1726
1727 i2c3 {
1728 i2c3_xfer: i2c3-xfer {
1729 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001730 <4 RK_PC1 RK_FUNC_1 &pcfg_pull_none>,
1731 <4 RK_PC0 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001732 };
1733 };
1734
1735 i2c4 {
1736 i2c4_xfer: i2c4-xfer {
1737 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001738 <1 RK_PB4 RK_FUNC_1 &pcfg_pull_none>,
1739 <1 RK_PB3 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001740 };
1741 };
1742
1743 i2c5 {
1744 i2c5_xfer: i2c5-xfer {
1745 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001746 <3 RK_PB3 RK_FUNC_2 &pcfg_pull_none>,
1747 <3 RK_PB2 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001748 };
1749 };
1750
1751 i2c6 {
1752 i2c6_xfer: i2c6-xfer {
1753 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001754 <2 RK_PB2 RK_FUNC_2 &pcfg_pull_none>,
1755 <2 RK_PB1 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001756 };
1757 };
1758
1759 i2c7 {
1760 i2c7_xfer: i2c7-xfer {
1761 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001762 <2 RK_PB0 RK_FUNC_2 &pcfg_pull_none>,
1763 <2 RK_PA7 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001764 };
1765 };
1766
1767 i2c8 {
1768 i2c8_xfer: i2c8-xfer {
1769 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001770 <1 RK_PC5 RK_FUNC_1 &pcfg_pull_none>,
1771 <1 RK_PC4 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001772 };
1773 };
1774
1775 i2s0 {
1776 i2s0_8ch_bus: i2s0-8ch-bus {
1777 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001778 <3 RK_PD0 RK_FUNC_1 &pcfg_pull_none>,
1779 <3 RK_PD1 RK_FUNC_1 &pcfg_pull_none>,
1780 <3 RK_PD2 RK_FUNC_1 &pcfg_pull_none>,
1781 <3 RK_PD3 RK_FUNC_1 &pcfg_pull_none>,
1782 <3 RK_PD4 RK_FUNC_1 &pcfg_pull_none>,
1783 <3 RK_PD5 RK_FUNC_1 &pcfg_pull_none>,
1784 <3 RK_PD6 RK_FUNC_1 &pcfg_pull_none>,
1785 <3 RK_PD7 RK_FUNC_1 &pcfg_pull_none>,
1786 <4 RK_PA0 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001787 };
1788 };
1789
1790 i2s1 {
1791 i2s1_2ch_bus: i2s1-2ch-bus {
1792 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001793 <4 RK_PA3 RK_FUNC_1 &pcfg_pull_none>,
1794 <4 RK_PA4 RK_FUNC_1 &pcfg_pull_none>,
1795 <4 RK_PA5 RK_FUNC_1 &pcfg_pull_none>,
1796 <4 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1797 <4 RK_PA7 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001798 };
1799 };
1800
Kever Yanga3580532017-04-19 18:17:31 +08001801 sdio0 {
1802 sdio0_bus1: sdio0-bus1 {
Philipp Tomsich5c6523e2017-03-24 19:24:27 +01001803 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001804 <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>;
1805 };
1806
1807 sdio0_bus4: sdio0-bus4 {
1808 rockchip,pins =
1809 <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>,
1810 <2 RK_PC5 RK_FUNC_1 &pcfg_pull_up>,
1811 <2 RK_PC6 RK_FUNC_1 &pcfg_pull_up>,
1812 <2 RK_PC7 RK_FUNC_1 &pcfg_pull_up>;
1813 };
1814
1815 sdio0_cmd: sdio0-cmd {
1816 rockchip,pins =
1817 <2 RK_PD0 RK_FUNC_1 &pcfg_pull_up>;
1818 };
1819
1820 sdio0_clk: sdio0-clk {
1821 rockchip,pins =
1822 <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>;
1823 };
1824
1825 sdio0_cd: sdio0-cd {
1826 rockchip,pins =
1827 <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>;
1828 };
1829
1830 sdio0_pwr: sdio0-pwr {
1831 rockchip,pins =
1832 <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>;
1833 };
1834
1835 sdio0_bkpwr: sdio0-bkpwr {
1836 rockchip,pins =
1837 <2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>;
1838 };
1839
1840 sdio0_wp: sdio0-wp {
1841 rockchip,pins =
1842 <0 RK_PA3 RK_FUNC_1 &pcfg_pull_up>;
1843 };
1844
1845 sdio0_int: sdio0-int {
1846 rockchip,pins =
1847 <0 RK_PA4 RK_FUNC_1 &pcfg_pull_up>;
Philipp Tomsich5c6523e2017-03-24 19:24:27 +01001848 };
1849 };
1850
Kever Yang56b45952016-08-16 17:58:14 +08001851 sdmmc {
1852 sdmmc_bus1: sdmmc-bus1 {
1853 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001854 <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>;
Kever Yang56b45952016-08-16 17:58:14 +08001855 };
1856
1857 sdmmc_bus4: sdmmc-bus4 {
1858 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001859 <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>,
1860 <4 RK_PB1 RK_FUNC_1 &pcfg_pull_up>,
1861 <4 RK_PB2 RK_FUNC_1 &pcfg_pull_up>,
1862 <4 RK_PB3 RK_FUNC_1 &pcfg_pull_up>;
Kever Yang56b45952016-08-16 17:58:14 +08001863 };
1864
1865 sdmmc_clk: sdmmc-clk {
1866 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001867 <4 RK_PB4 RK_FUNC_1 &pcfg_pull_none>;
Kever Yang56b45952016-08-16 17:58:14 +08001868 };
1869
1870 sdmmc_cmd: sdmmc-cmd {
1871 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001872 <4 RK_PB5 RK_FUNC_1 &pcfg_pull_up>;
Kever Yang56b45952016-08-16 17:58:14 +08001873 };
1874
1875 sdmmc_cd: sdmcc-cd {
1876 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001877 <0 RK_PA7 RK_FUNC_1 &pcfg_pull_up>;
Kever Yang56b45952016-08-16 17:58:14 +08001878 };
1879
1880 sdmmc_wp: sdmmc-wp {
1881 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001882 <0 RK_PB0 RK_FUNC_1 &pcfg_pull_up>;
1883 };
1884 };
1885
1886 sleep {
1887 ap_pwroff: ap-pwroff {
1888 rockchip,pins = <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>;
1889 };
1890
1891 ddrio_pwroff: ddrio-pwroff {
1892 rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_none>;
Kever Yang56b45952016-08-16 17:58:14 +08001893 };
1894 };
1895
Kever Yangc61ad662016-07-19 21:16:58 +08001896 spdif {
1897 spdif_bus: spdif-bus {
1898 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001899 <4 RK_PC5 RK_FUNC_1 &pcfg_pull_none>;
1900 };
1901
1902 spdif_bus_1: spdif-bus-1 {
1903 rockchip,pins =
1904 <3 RK_PC0 RK_FUNC_3 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08001905 };
1906 };
1907
1908 spi0 {
1909 spi0_clk: spi0-clk {
1910 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001911 <3 RK_PA6 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001912 };
1913 spi0_cs0: spi0-cs0 {
1914 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001915 <3 RK_PA7 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001916 };
1917 spi0_cs1: spi0-cs1 {
1918 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001919 <3 RK_PB0 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001920 };
1921 spi0_tx: spi0-tx {
1922 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001923 <3 RK_PA5 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001924 };
1925 spi0_rx: spi0-rx {
1926 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001927 <3 RK_PA4 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001928 };
1929 };
1930
1931 spi1 {
1932 spi1_clk: spi1-clk {
1933 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001934 <1 RK_PB1 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001935 };
1936 spi1_cs0: spi1-cs0 {
1937 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001938 <1 RK_PB2 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001939 };
1940 spi1_rx: spi1-rx {
1941 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001942 <1 RK_PA7 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001943 };
1944 spi1_tx: spi1-tx {
1945 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001946 <1 RK_PB0 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001947 };
1948 };
1949
1950 spi2 {
1951 spi2_clk: spi2-clk {
1952 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001953 <2 RK_PB3 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001954 };
1955 spi2_cs0: spi2-cs0 {
1956 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001957 <2 RK_PB4 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001958 };
1959 spi2_rx: spi2-rx {
1960 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001961 <2 RK_PB1 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001962 };
1963 spi2_tx: spi2-tx {
1964 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001965 <2 RK_PB2 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001966 };
1967 };
1968
1969 spi3 {
1970 spi3_clk: spi3-clk {
1971 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001972 <1 RK_PC1 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001973 };
1974 spi3_cs0: spi3-cs0 {
1975 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001976 <1 RK_PC2 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001977 };
1978 spi3_rx: spi3-rx {
1979 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001980 <1 RK_PB7 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001981 };
1982 spi3_tx: spi3-tx {
1983 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001984 <1 RK_PC0 RK_FUNC_1 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001985 };
1986 };
1987
1988 spi4 {
1989 spi4_clk: spi4-clk {
1990 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001991 <3 RK_PA2 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001992 };
1993 spi4_cs0: spi4-cs0 {
1994 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001995 <3 RK_PA3 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08001996 };
1997 spi4_rx: spi4-rx {
1998 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08001999 <3 RK_PA0 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08002000 };
2001 spi4_tx: spi4-tx {
2002 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002003 <3 RK_PA1 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08002004 };
2005 };
2006
2007 spi5 {
2008 spi5_clk: spi5-clk {
2009 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002010 <2 RK_PC6 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08002011 };
2012 spi5_cs0: spi5-cs0 {
2013 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002014 <2 RK_PC7 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08002015 };
2016 spi5_rx: spi5-rx {
2017 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002018 <2 RK_PC4 RK_FUNC_2 &pcfg_pull_up>;
Kever Yangc61ad662016-07-19 21:16:58 +08002019 };
2020 spi5_tx: spi5-tx {
2021 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002022 <2 RK_PC5 RK_FUNC_2 &pcfg_pull_up>;
2023 };
2024 };
2025
2026 tsadc {
2027 otp_gpio: otp-gpio {
2028 rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
2029 };
2030
2031 otp_out: otp-out {
2032 rockchip,pins = <1 RK_PA6 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002033 };
2034 };
2035
2036 uart0 {
2037 uart0_xfer: uart0-xfer {
2038 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002039 <2 RK_PC0 RK_FUNC_1 &pcfg_pull_up>,
2040 <2 RK_PC1 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002041 };
2042
2043 uart0_cts: uart0-cts {
2044 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002045 <2 RK_PC2 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002046 };
2047
2048 uart0_rts: uart0-rts {
2049 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002050 <2 RK_PC3 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002051 };
2052 };
2053
2054 uart1 {
2055 uart1_xfer: uart1-xfer {
2056 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002057 <3 RK_PB4 RK_FUNC_2 &pcfg_pull_up>,
2058 <3 RK_PB5 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002059 };
2060 };
2061
2062 uart2a {
2063 uart2a_xfer: uart2a-xfer {
2064 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002065 <4 RK_PB0 RK_FUNC_2 &pcfg_pull_up>,
2066 <4 RK_PB1 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002067 };
2068 };
2069
2070 uart2b {
2071 uart2b_xfer: uart2b-xfer {
2072 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002073 <4 RK_PC0 RK_FUNC_2 &pcfg_pull_up>,
2074 <4 RK_PC1 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002075 };
2076 };
2077
2078 uart2c {
2079 uart2c_xfer: uart2c-xfer {
2080 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002081 <4 RK_PC3 RK_FUNC_1 &pcfg_pull_up>,
2082 <4 RK_PC4 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002083 };
2084 };
2085
2086 uart3 {
2087 uart3_xfer: uart3-xfer {
2088 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002089 <3 RK_PB6 RK_FUNC_2 &pcfg_pull_up>,
2090 <3 RK_PB7 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002091 };
2092
2093 uart3_cts: uart3-cts {
2094 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002095 <3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002096 };
2097
2098 uart3_rts: uart3-rts {
2099 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002100 <3 RK_PC3 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002101 };
2102 };
2103
2104 uart4 {
2105 uart4_xfer: uart4-xfer {
2106 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002107 <1 RK_PA7 RK_FUNC_1 &pcfg_pull_up>,
2108 <1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002109 };
2110 };
2111
2112 uarthdcp {
2113 uarthdcp_xfer: uarthdcp-xfer {
2114 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002115 <4 RK_PC5 RK_FUNC_2 &pcfg_pull_up>,
2116 <4 RK_PC6 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002117 };
2118 };
2119
2120 pwm0 {
2121 pwm0_pin: pwm0-pin {
2122 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002123 <4 RK_PC2 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002124 };
2125
2126 vop0_pwm_pin: vop0-pwm-pin {
2127 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002128 <4 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002129 };
2130 };
2131
2132 pwm1 {
2133 pwm1_pin: pwm1-pin {
2134 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002135 <4 RK_PC6 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002136 };
2137
2138 vop1_pwm_pin: vop1-pwm-pin {
2139 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002140 <4 RK_PC2 RK_FUNC_3 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002141 };
2142 };
2143
2144 pwm2 {
2145 pwm2_pin: pwm2-pin {
2146 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002147 <1 RK_PC3 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002148 };
2149 };
2150
2151 pwm3a {
2152 pwm3a_pin: pwm3a-pin {
2153 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002154 <0 RK_PA6 RK_FUNC_1 &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002155 };
2156 };
2157
2158 pwm3b {
2159 pwm3b_pin: pwm3b-pin {
2160 rockchip,pins =
Kever Yanga3580532017-04-19 18:17:31 +08002161 <1 RK_PB6 RK_FUNC_1 &pcfg_pull_none>;
2162 };
2163 };
2164
2165 hdmi {
2166 hdmi_i2c_xfer: hdmi-i2c-xfer {
2167 rockchip,pins =
2168 <4 RK_PC1 RK_FUNC_3 &pcfg_pull_none>,
2169 <4 RK_PC0 RK_FUNC_3 &pcfg_pull_none>;
2170 };
2171
2172 hdmi_cec: hdmi-cec {
2173 rockchip,pins =
2174 <4 RK_PC7 RK_FUNC_1 &pcfg_pull_none>;
2175 };
2176 };
2177
2178 pcie {
2179 pcie_clkreqn: pci-clkreqn {
2180 rockchip,pins =
2181 <2 RK_PD2 RK_FUNC_2 &pcfg_pull_none>;
2182 };
2183
2184 pcie_clkreqnb: pci-clkreqnb {
2185 rockchip,pins =
2186 <4 RK_PD0 RK_FUNC_1 &pcfg_pull_none>;
2187 };
2188
2189 pcie_clkreqn_cpm: pci-clkreqn-cpm {
2190 rockchip,pins =
2191 <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
2192 };
2193
2194 pcie_clkreqnb_cpm: pci-clkreqnb-cpm {
2195 rockchip,pins =
2196 <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
Kever Yangc61ad662016-07-19 21:16:58 +08002197 };
2198 };
Kever Yanga3580532017-04-19 18:17:31 +08002199
Kever Yangc61ad662016-07-19 21:16:58 +08002200 };
2201};