blob: 280aecd35c2709a7a746de24d9c80864aaf1723e [file] [log] [blame]
Heiko Stuebner2ab557b2014-07-15 20:16:19 +02001/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/interrupt-controller/arm-gic.h>
16#include <dt-bindings/pinctrl/rockchip.h>
17#include <dt-bindings/clock/rk3288-cru.h>
Caesar Wangb67d6bc2014-11-24 12:59:01 +080018#include <dt-bindings/thermal/thermal.h>
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020019#include "skeleton.dtsi"
20
21/ {
22 compatible = "rockchip,rk3288";
23
24 interrupt-parent = <&gic>;
25
26 aliases {
27 i2c0 = &i2c0;
28 i2c1 = &i2c1;
29 i2c2 = &i2c2;
30 i2c3 = &i2c3;
31 i2c4 = &i2c4;
32 i2c5 = &i2c5;
Doug Andersond7f9a382014-09-03 16:05:23 -070033 mshc0 = &emmc;
34 mshc1 = &sdmmc;
35 mshc2 = &sdio0;
36 mshc3 = &sdio1;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020037 serial0 = &uart0;
38 serial1 = &uart1;
39 serial2 = &uart2;
40 serial3 = &uart3;
41 serial4 = &uart4;
huang lin1f531702014-09-05 09:53:11 -070042 spi0 = &spi0;
43 spi1 = &spi1;
44 spi2 = &spi2;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020045 };
46
Sonny Raof1840782015-04-07 10:52:39 -070047 arm-pmu {
48 compatible = "arm,cortex-a12-pmu";
49 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
50 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
51 <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
52 <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
53 };
54
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020055 cpus {
56 #address-cells = <1>;
57 #size-cells = <0>;
Olof Johansson08bcc752014-12-04 23:33:38 -080058 enable-method = "rockchip,rk3066-smp";
Kever Yangfbdbc732014-10-15 10:23:02 -070059 rockchip,pmu = <&pmu>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020060
Heiko Stuebnerbe8a77c2014-09-13 00:34:29 +020061 cpu0: cpu@500 {
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020062 device_type = "cpu";
63 compatible = "arm,cortex-a12";
64 reg = <0x500>;
Kever Yang044542a2014-10-15 10:23:05 -070065 resets = <&cru SRST_CORE0>;
Heiko Stuebnerbe8a77c2014-09-13 00:34:29 +020066 operating-points = <
67 /* KHz uV */
68 1608000 1350000
69 1512000 1300000
70 1416000 1200000
71 1200000 1100000
72 1008000 1050000
73 816000 1000000
74 696000 950000
75 600000 900000
76 408000 900000
77 312000 900000
78 216000 900000
79 126000 900000
80 >;
Caesar Wangb67d6bc2014-11-24 12:59:01 +080081 #cooling-cells = <2>; /* min followed by max */
Heiko Stuebnerbe8a77c2014-09-13 00:34:29 +020082 clock-latency = <40000>;
83 clocks = <&cru ARMCLK>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020084 };
85 cpu@501 {
86 device_type = "cpu";
87 compatible = "arm,cortex-a12";
88 reg = <0x501>;
Kever Yang044542a2014-10-15 10:23:05 -070089 resets = <&cru SRST_CORE1>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020090 };
91 cpu@502 {
92 device_type = "cpu";
93 compatible = "arm,cortex-a12";
94 reg = <0x502>;
Kever Yang044542a2014-10-15 10:23:05 -070095 resets = <&cru SRST_CORE2>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +020096 };
97 cpu@503 {
98 device_type = "cpu";
99 compatible = "arm,cortex-a12";
100 reg = <0x503>;
Kever Yang044542a2014-10-15 10:23:05 -0700101 resets = <&cru SRST_CORE3>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200102 };
103 };
104
Heiko Stübner982891c2014-08-14 23:01:25 +0200105 amba {
106 compatible = "arm,amba-bus";
107 #address-cells = <1>;
108 #size-cells = <1>;
109 ranges;
110
111 dmac_peri: dma-controller@ff250000 {
112 compatible = "arm,pl330", "arm,primecell";
113 reg = <0xff250000 0x4000>;
114 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
116 #dma-cells = <1>;
117 clocks = <&cru ACLK_DMAC2>;
118 clock-names = "apb_pclk";
119 };
120
121 dmac_bus_ns: dma-controller@ff600000 {
122 compatible = "arm,pl330", "arm,primecell";
123 reg = <0xff600000 0x4000>;
124 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
125 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
126 #dma-cells = <1>;
127 clocks = <&cru ACLK_DMAC1>;
128 clock-names = "apb_pclk";
129 status = "disabled";
130 };
131
132 dmac_bus_s: dma-controller@ffb20000 {
133 compatible = "arm,pl330", "arm,primecell";
134 reg = <0xffb20000 0x4000>;
135 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
136 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
137 #dma-cells = <1>;
138 clocks = <&cru ACLK_DMAC1>;
139 clock-names = "apb_pclk";
140 };
141 };
142
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200143 xin24m: oscillator {
144 compatible = "fixed-clock";
145 clock-frequency = <24000000>;
146 clock-output-names = "xin24m";
147 #clock-cells = <0>;
148 };
149
150 timer {
151 compatible = "arm,armv7-timer";
Sonny Raoe2405a52014-11-25 10:54:00 -0800152 arm,cpu-registers-not-fw-configured;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200153 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
154 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
155 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
156 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
157 clock-frequency = <24000000>;
158 };
159
Daniel Lezcanoe48cc182015-01-25 10:42:59 +0100160 timer: timer@ff810000 {
161 compatible = "rockchip,rk3288-timer";
162 reg = <0xff810000 0x20>;
163 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
164 clocks = <&xin24m>, <&cru PCLK_TIMER>;
165 clock-names = "timer", "pclk";
166 };
167
Daniel Kurtza29cb8c2014-10-10 20:26:14 +0800168 display-subsystem {
169 compatible = "rockchip,display-subsystem";
170 ports = <&vopl_out>, <&vopb_out>;
171 };
172
Doug Anderson85095bf2014-08-12 16:21:13 -0700173 sdmmc: dwmmc@ff0c0000 {
174 compatible = "rockchip,rk3288-dw-mshc";
Addy Kef74ba112014-12-04 10:49:35 +0800175 clock-freq-min-max = <400000 150000000>;
Doug Anderson85095bf2014-08-12 16:21:13 -0700176 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
177 clock-names = "biu", "ciu";
178 fifo-depth = <0x100>;
179 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
180 reg = <0xff0c0000 0x4000>;
181 status = "disabled";
182 };
183
Addy Kef1a07232014-08-19 18:21:08 +0800184 sdio0: dwmmc@ff0d0000 {
185 compatible = "rockchip,rk3288-dw-mshc";
Addy Kef74ba112014-12-04 10:49:35 +0800186 clock-freq-min-max = <400000 150000000>;
Addy Kef1a07232014-08-19 18:21:08 +0800187 clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>;
188 clock-names = "biu", "ciu";
189 fifo-depth = <0x100>;
190 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
191 reg = <0xff0d0000 0x4000>;
192 status = "disabled";
193 };
194
195 sdio1: dwmmc@ff0e0000 {
196 compatible = "rockchip,rk3288-dw-mshc";
Addy Kef74ba112014-12-04 10:49:35 +0800197 clock-freq-min-max = <400000 150000000>;
Addy Kef1a07232014-08-19 18:21:08 +0800198 clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>;
199 clock-names = "biu", "ciu";
200 fifo-depth = <0x100>;
201 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
202 reg = <0xff0e0000 0x4000>;
203 status = "disabled";
204 };
205
Doug Anderson85095bf2014-08-12 16:21:13 -0700206 emmc: dwmmc@ff0f0000 {
207 compatible = "rockchip,rk3288-dw-mshc";
Addy Kef74ba112014-12-04 10:49:35 +0800208 clock-freq-min-max = <400000 150000000>;
Doug Anderson85095bf2014-08-12 16:21:13 -0700209 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
210 clock-names = "biu", "ciu";
211 fifo-depth = <0x100>;
212 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
213 reg = <0xff0f0000 0x4000>;
214 status = "disabled";
215 };
216
Heiko Stübnerf23a6172014-08-20 21:09:24 +0200217 saradc: saradc@ff100000 {
218 compatible = "rockchip,saradc";
219 reg = <0xff100000 0x100>;
220 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
221 #io-channel-cells = <1>;
222 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
223 clock-names = "saradc", "apb_pclk";
224 status = "disabled";
225 };
226
huang lin1f531702014-09-05 09:53:11 -0700227 spi0: spi@ff110000 {
228 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
229 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
230 clock-names = "spiclk", "apb_pclk";
Doug Anderson11bd57b2014-10-24 14:42:06 -0700231 dmas = <&dmac_peri 11>, <&dmac_peri 12>;
232 dma-names = "tx", "rx";
huang lin1f531702014-09-05 09:53:11 -0700233 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
234 pinctrl-names = "default";
235 pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
236 reg = <0xff110000 0x1000>;
237 #address-cells = <1>;
238 #size-cells = <0>;
239 status = "disabled";
240 };
241
242 spi1: spi@ff120000 {
243 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
244 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
245 clock-names = "spiclk", "apb_pclk";
Doug Anderson11bd57b2014-10-24 14:42:06 -0700246 dmas = <&dmac_peri 13>, <&dmac_peri 14>;
247 dma-names = "tx", "rx";
huang lin1f531702014-09-05 09:53:11 -0700248 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
249 pinctrl-names = "default";
250 pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
251 reg = <0xff120000 0x1000>;
252 #address-cells = <1>;
253 #size-cells = <0>;
254 status = "disabled";
255 };
256
257 spi2: spi@ff130000 {
258 compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
259 clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
260 clock-names = "spiclk", "apb_pclk";
Doug Anderson11bd57b2014-10-24 14:42:06 -0700261 dmas = <&dmac_peri 15>, <&dmac_peri 16>;
262 dma-names = "tx", "rx";
huang lin1f531702014-09-05 09:53:11 -0700263 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
264 pinctrl-names = "default";
265 pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
266 reg = <0xff130000 0x1000>;
267 #address-cells = <1>;
268 #size-cells = <0>;
269 status = "disabled";
270 };
271
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200272 i2c1: i2c@ff140000 {
273 compatible = "rockchip,rk3288-i2c";
274 reg = <0xff140000 0x1000>;
275 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
276 #address-cells = <1>;
277 #size-cells = <0>;
278 clock-names = "i2c";
279 clocks = <&cru PCLK_I2C1>;
280 pinctrl-names = "default";
281 pinctrl-0 = <&i2c1_xfer>;
282 status = "disabled";
283 };
284
285 i2c3: i2c@ff150000 {
286 compatible = "rockchip,rk3288-i2c";
287 reg = <0xff150000 0x1000>;
288 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
289 #address-cells = <1>;
290 #size-cells = <0>;
291 clock-names = "i2c";
292 clocks = <&cru PCLK_I2C3>;
293 pinctrl-names = "default";
294 pinctrl-0 = <&i2c3_xfer>;
295 status = "disabled";
296 };
297
298 i2c4: i2c@ff160000 {
299 compatible = "rockchip,rk3288-i2c";
300 reg = <0xff160000 0x1000>;
301 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
302 #address-cells = <1>;
303 #size-cells = <0>;
304 clock-names = "i2c";
305 clocks = <&cru PCLK_I2C4>;
306 pinctrl-names = "default";
307 pinctrl-0 = <&i2c4_xfer>;
308 status = "disabled";
309 };
310
311 i2c5: i2c@ff170000 {
312 compatible = "rockchip,rk3288-i2c";
313 reg = <0xff170000 0x1000>;
314 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
315 #address-cells = <1>;
316 #size-cells = <0>;
317 clock-names = "i2c";
318 clocks = <&cru PCLK_I2C5>;
319 pinctrl-names = "default";
320 pinctrl-0 = <&i2c5_xfer>;
321 status = "disabled";
322 };
323
324 uart0: serial@ff180000 {
325 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
326 reg = <0xff180000 0x100>;
327 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
328 reg-shift = <2>;
329 reg-io-width = <4>;
330 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
331 clock-names = "baudclk", "apb_pclk";
332 pinctrl-names = "default";
333 pinctrl-0 = <&uart0_xfer>;
334 status = "disabled";
335 };
336
337 uart1: serial@ff190000 {
338 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
339 reg = <0xff190000 0x100>;
340 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
341 reg-shift = <2>;
342 reg-io-width = <4>;
343 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
344 clock-names = "baudclk", "apb_pclk";
345 pinctrl-names = "default";
346 pinctrl-0 = <&uart1_xfer>;
347 status = "disabled";
348 };
349
350 uart2: serial@ff690000 {
351 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
352 reg = <0xff690000 0x100>;
353 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
354 reg-shift = <2>;
355 reg-io-width = <4>;
356 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
357 clock-names = "baudclk", "apb_pclk";
358 pinctrl-names = "default";
359 pinctrl-0 = <&uart2_xfer>;
360 status = "disabled";
361 };
362
363 uart3: serial@ff1b0000 {
364 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
365 reg = <0xff1b0000 0x100>;
366 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
367 reg-shift = <2>;
368 reg-io-width = <4>;
369 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
370 clock-names = "baudclk", "apb_pclk";
371 pinctrl-names = "default";
372 pinctrl-0 = <&uart3_xfer>;
373 status = "disabled";
374 };
375
376 uart4: serial@ff1c0000 {
377 compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
378 reg = <0xff1c0000 0x100>;
379 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
380 reg-shift = <2>;
381 reg-io-width = <4>;
382 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
383 clock-names = "baudclk", "apb_pclk";
384 pinctrl-names = "default";
385 pinctrl-0 = <&uart4_xfer>;
386 status = "disabled";
387 };
388
Caesar Wangb67d6bc2014-11-24 12:59:01 +0800389 thermal-zones {
390 #include "rk3288-thermal.dtsi"
391 };
392
393 tsadc: tsadc@ff280000 {
394 compatible = "rockchip,rk3288-tsadc";
395 reg = <0xff280000 0x100>;
396 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
397 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
398 clock-names = "tsadc", "apb_pclk";
399 resets = <&cru SRST_TSADC>;
400 reset-names = "tsadc-apb";
401 pinctrl-names = "default";
402 pinctrl-0 = <&otp_out>;
403 #thermal-sensor-cells = <1>;
404 rockchip,hw-tshut-temp = <95000>;
405 status = "disabled";
406 };
407
Roger Chen3d3fb74a2014-12-29 17:44:16 +0800408 gmac: ethernet@ff290000 {
409 compatible = "rockchip,rk3288-gmac";
410 reg = <0xff290000 0x10000>;
411 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
412 interrupt-names = "macirq";
413 rockchip,grf = <&grf>;
414 clocks = <&cru SCLK_MAC>,
415 <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
416 <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
417 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
418 clock-names = "stmmaceth",
419 "mac_clk_rx", "mac_clk_tx",
420 "clk_mac_ref", "clk_mac_refout",
421 "aclk_mac", "pclk_mac";
Alexandru M Stan54b0bc62015-03-13 17:55:32 -0700422 status = "disabled";
Roger Chen3d3fb74a2014-12-29 17:44:16 +0800423 };
424
Doug Andersonc9c32c52014-08-07 17:44:19 +0200425 usb_host0_ehci: usb@ff500000 {
426 compatible = "generic-ehci";
427 reg = <0xff500000 0x100>;
428 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
429 clocks = <&cru HCLK_USBHOST0>;
430 clock-names = "usbhost";
Yunzhi Lif6db7022014-12-12 23:12:21 +0800431 phys = <&usbphy1>;
432 phy-names = "usb";
Doug Andersonc9c32c52014-08-07 17:44:19 +0200433 status = "disabled";
434 };
435
436 /* NOTE: ohci@ff520000 doesn't actually work on hardware */
437
Kever Yang12dd3652014-08-08 11:55:58 +0800438 usb_host1: usb@ff540000 {
439 compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
440 "snps,dwc2";
441 reg = <0xff540000 0x40000>;
442 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
443 clocks = <&cru HCLK_USBHOST1>;
444 clock-names = "otg";
Yunzhi Licabd2ea2015-04-26 17:41:38 +0800445 dr_mode = "host";
Yunzhi Lif6db7022014-12-12 23:12:21 +0800446 phys = <&usbphy2>;
447 phy-names = "usb2-phy";
Kever Yang12dd3652014-08-08 11:55:58 +0800448 status = "disabled";
449 };
450
451 usb_otg: usb@ff580000 {
452 compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
453 "snps,dwc2";
454 reg = <0xff580000 0x40000>;
455 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
456 clocks = <&cru HCLK_OTG0>;
457 clock-names = "otg";
Yunzhi Licabd2ea2015-04-26 17:41:38 +0800458 dr_mode = "otg";
459 g-np-tx-fifo-size = <16>;
460 g-rx-fifo-size = <275>;
461 g-tx-fifo-size = <256 128 128 64 64 32>;
462 g-use-dma;
Yunzhi Lif6db7022014-12-12 23:12:21 +0800463 phys = <&usbphy0>;
464 phy-names = "usb2-phy";
Kever Yang12dd3652014-08-08 11:55:58 +0800465 status = "disabled";
466 };
467
Doug Andersonc9c32c52014-08-07 17:44:19 +0200468 usb_hsic: usb@ff5c0000 {
469 compatible = "generic-ehci";
470 reg = <0xff5c0000 0x100>;
471 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
472 clocks = <&cru HCLK_HSIC>;
473 clock-names = "usbhost";
474 status = "disabled";
475 };
476
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200477 i2c0: i2c@ff650000 {
478 compatible = "rockchip,rk3288-i2c";
479 reg = <0xff650000 0x1000>;
480 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
481 #address-cells = <1>;
482 #size-cells = <0>;
483 clock-names = "i2c";
484 clocks = <&cru PCLK_I2C0>;
485 pinctrl-names = "default";
486 pinctrl-0 = <&i2c0_xfer>;
487 status = "disabled";
488 };
489
490 i2c2: i2c@ff660000 {
491 compatible = "rockchip,rk3288-i2c";
492 reg = <0xff660000 0x1000>;
493 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
494 #address-cells = <1>;
495 #size-cells = <0>;
496 clock-names = "i2c";
497 clocks = <&cru PCLK_I2C2>;
498 pinctrl-names = "default";
499 pinctrl-0 = <&i2c2_xfer>;
500 status = "disabled";
501 };
502
Doug Andersondf542df2014-08-25 15:59:26 -0700503 pwm0: pwm@ff680000 {
504 compatible = "rockchip,rk3288-pwm";
505 reg = <0xff680000 0x10>;
506 #pwm-cells = <3>;
507 pinctrl-names = "default";
508 pinctrl-0 = <&pwm0_pin>;
509 clocks = <&cru PCLK_PWM>;
510 clock-names = "pwm";
511 status = "disabled";
512 };
513
514 pwm1: pwm@ff680010 {
515 compatible = "rockchip,rk3288-pwm";
516 reg = <0xff680010 0x10>;
517 #pwm-cells = <3>;
518 pinctrl-names = "default";
519 pinctrl-0 = <&pwm1_pin>;
520 clocks = <&cru PCLK_PWM>;
521 clock-names = "pwm";
522 status = "disabled";
523 };
524
525 pwm2: pwm@ff680020 {
526 compatible = "rockchip,rk3288-pwm";
527 reg = <0xff680020 0x10>;
528 #pwm-cells = <3>;
529 pinctrl-names = "default";
530 pinctrl-0 = <&pwm2_pin>;
531 clocks = <&cru PCLK_PWM>;
532 clock-names = "pwm";
533 status = "disabled";
534 };
535
536 pwm3: pwm@ff680030 {
537 compatible = "rockchip,rk3288-pwm";
538 reg = <0xff680030 0x10>;
539 #pwm-cells = <2>;
540 pinctrl-names = "default";
541 pinctrl-0 = <&pwm3_pin>;
542 clocks = <&cru PCLK_PWM>;
543 clock-names = "pwm";
544 status = "disabled";
545 };
546
Kever Yang1123d412014-10-15 10:23:04 -0700547 bus_intmem@ff700000 {
548 compatible = "mmio-sram";
549 reg = <0xff700000 0x18000>;
550 #address-cells = <1>;
551 #size-cells = <1>;
552 ranges = <0 0xff700000 0x18000>;
553 smp-sram@0 {
554 compatible = "rockchip,rk3066-smp-sram";
555 reg = <0x00 0x10>;
556 };
557 };
558
Chris Zhongeecfe982014-12-01 16:52:19 +0800559 sram@ff720000 {
560 compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
561 reg = <0xff720000 0x1000>;
562 };
563
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200564 pmu: power-management@ff730000 {
565 compatible = "rockchip,rk3288-pmu", "syscon";
566 reg = <0xff730000 0x100>;
567 };
568
569 sgrf: syscon@ff740000 {
570 compatible = "rockchip,rk3288-sgrf", "syscon";
571 reg = <0xff740000 0x1000>;
572 };
573
574 cru: clock-controller@ff760000 {
575 compatible = "rockchip,rk3288-cru";
576 reg = <0xff760000 0x1000>;
577 rockchip,grf = <&grf>;
578 #clock-cells = <1>;
579 #reset-cells = <1>;
Kever Yangcd78d0c2014-10-09 21:50:30 -0700580 assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>,
581 <&cru PLL_NPLL>, <&cru ACLK_CPU>,
582 <&cru HCLK_CPU>, <&cru PCLK_CPU>,
583 <&cru ACLK_PERI>, <&cru HCLK_PERI>,
584 <&cru PCLK_PERI>;
585 assigned-clock-rates = <594000000>, <400000000>,
586 <500000000>, <300000000>,
587 <150000000>, <75000000>,
588 <300000000>, <150000000>,
589 <75000000>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200590 };
591
592 grf: syscon@ff770000 {
593 compatible = "rockchip,rk3288-grf", "syscon";
594 reg = <0xff770000 0x1000>;
595 };
596
597 wdt: watchdog@ff800000 {
598 compatible = "rockchip,rk3288-wdt", "snps,dw-wdt";
599 reg = <0xff800000 0x100>;
Heiko Stuebner39d05162015-01-20 21:12:16 +0100600 clocks = <&cru PCLK_WDT>;
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200601 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
602 status = "disabled";
603 };
604
Jianquna0f95e32014-09-12 18:54:55 +0800605 i2s: i2s@ff890000 {
606 compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
607 reg = <0xff890000 0x10000>;
608 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
609 #address-cells = <1>;
610 #size-cells = <0>;
611 dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>;
612 dma-names = "tx", "rx";
613 clock-names = "i2s_hclk", "i2s_clk";
614 clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
615 pinctrl-names = "default";
616 pinctrl-0 = <&i2s0_bus>;
617 status = "disabled";
618 };
619
Daniel Kurtza29cb8c2014-10-10 20:26:14 +0800620 vopb: vop@ff930000 {
621 compatible = "rockchip,rk3288-vop";
622 reg = <0xff930000 0x19c>;
623 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
624 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
625 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
626 resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
627 reset-names = "axi", "ahb", "dclk";
628 iommus = <&vopb_mmu>;
629 status = "disabled";
630
631 vopb_out: port {
632 #address-cells = <1>;
633 #size-cells = <0>;
Andy Yand5a1df42014-11-04 13:13:14 +0800634
635 vopb_out_hdmi: endpoint@0 {
636 reg = <0>;
637 remote-endpoint = <&hdmi_in_vopb>;
638 };
Daniel Kurtza29cb8c2014-10-10 20:26:14 +0800639 };
640 };
641
Daniel Kurtz7cae0682014-11-03 10:53:29 +0800642 vopb_mmu: iommu@ff930300 {
643 compatible = "rockchip,iommu";
644 reg = <0xff930300 0x100>;
645 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
646 interrupt-names = "vopb_mmu";
647 #iommu-cells = <0>;
648 status = "disabled";
649 };
650
Daniel Kurtza29cb8c2014-10-10 20:26:14 +0800651 vopl: vop@ff940000 {
652 compatible = "rockchip,rk3288-vop";
653 reg = <0xff940000 0x19c>;
654 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
655 clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
656 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
657 resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
658 reset-names = "axi", "ahb", "dclk";
659 iommus = <&vopl_mmu>;
660 status = "disabled";
661
662 vopl_out: port {
663 #address-cells = <1>;
664 #size-cells = <0>;
Andy Yand5a1df42014-11-04 13:13:14 +0800665
666 vopl_out_hdmi: endpoint@0 {
667 reg = <0>;
668 remote-endpoint = <&hdmi_in_vopl>;
669 };
Daniel Kurtza29cb8c2014-10-10 20:26:14 +0800670 };
671 };
672
Daniel Kurtz7cae0682014-11-03 10:53:29 +0800673 vopl_mmu: iommu@ff940300 {
674 compatible = "rockchip,iommu";
675 reg = <0xff940300 0x100>;
676 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
677 interrupt-names = "vopl_mmu";
678 #iommu-cells = <0>;
679 status = "disabled";
680 };
681
Andy Yand5a1df42014-11-04 13:13:14 +0800682 hdmi: hdmi@ff980000 {
683 compatible = "rockchip,rk3288-dw-hdmi";
684 reg = <0xff980000 0x20000>;
685 reg-io-width = <4>;
Andy Yand5a1df42014-11-04 13:13:14 +0800686 rockchip,grf = <&grf>;
687 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
688 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
689 clock-names = "iahb", "isfr";
690 status = "disabled";
691
692 ports {
693 hdmi_in: port {
694 #address-cells = <1>;
695 #size-cells = <0>;
696 hdmi_in_vopb: endpoint@0 {
697 reg = <0>;
698 remote-endpoint = <&vopb_out_hdmi>;
699 };
700 hdmi_in_vopl: endpoint@1 {
701 reg = <1>;
702 remote-endpoint = <&vopl_out_hdmi>;
703 };
704 };
705 };
706 };
707
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200708 gic: interrupt-controller@ffc01000 {
709 compatible = "arm,gic-400";
710 interrupt-controller;
711 #interrupt-cells = <3>;
712 #address-cells = <0>;
713
714 reg = <0xffc01000 0x1000>,
715 <0xffc02000 0x1000>,
716 <0xffc04000 0x2000>,
717 <0xffc06000 0x2000>;
718 interrupts = <GIC_PPI 9 0xf04>;
719 };
720
Yunzhi Lif6db7022014-12-12 23:12:21 +0800721 usbphy: phy {
722 compatible = "rockchip,rk3288-usb-phy";
723 rockchip,grf = <&grf>;
724 #address-cells = <1>;
725 #size-cells = <0>;
726 status = "disabled";
727
728 usbphy0: usb-phy0 {
729 #phy-cells = <0>;
730 reg = <0x320>;
731 clocks = <&cru SCLK_OTGPHY0>;
732 clock-names = "phyclk";
733 };
734
735 usbphy1: usb-phy1 {
736 #phy-cells = <0>;
737 reg = <0x334>;
738 clocks = <&cru SCLK_OTGPHY1>;
739 clock-names = "phyclk";
740 };
741
742 usbphy2: usb-phy2 {
743 #phy-cells = <0>;
744 reg = <0x348>;
745 clocks = <&cru SCLK_OTGPHY2>;
746 clock-names = "phyclk";
747 };
748 };
749
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200750 pinctrl: pinctrl {
751 compatible = "rockchip,rk3288-pinctrl";
752 rockchip,grf = <&grf>;
753 rockchip,pmu = <&pmu>;
754 #address-cells = <1>;
755 #size-cells = <1>;
756 ranges;
757
758 gpio0: gpio0@ff750000 {
759 compatible = "rockchip,gpio-bank";
760 reg = <0xff750000 0x100>;
761 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
762 clocks = <&cru PCLK_GPIO0>;
763
764 gpio-controller;
765 #gpio-cells = <2>;
766
767 interrupt-controller;
768 #interrupt-cells = <2>;
769 };
770
771 gpio1: gpio1@ff780000 {
772 compatible = "rockchip,gpio-bank";
773 reg = <0xff780000 0x100>;
774 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
775 clocks = <&cru PCLK_GPIO1>;
776
777 gpio-controller;
778 #gpio-cells = <2>;
779
780 interrupt-controller;
781 #interrupt-cells = <2>;
782 };
783
784 gpio2: gpio2@ff790000 {
785 compatible = "rockchip,gpio-bank";
786 reg = <0xff790000 0x100>;
787 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
788 clocks = <&cru PCLK_GPIO2>;
789
790 gpio-controller;
791 #gpio-cells = <2>;
792
793 interrupt-controller;
794 #interrupt-cells = <2>;
795 };
796
797 gpio3: gpio3@ff7a0000 {
798 compatible = "rockchip,gpio-bank";
799 reg = <0xff7a0000 0x100>;
800 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
801 clocks = <&cru PCLK_GPIO3>;
802
803 gpio-controller;
804 #gpio-cells = <2>;
805
806 interrupt-controller;
807 #interrupt-cells = <2>;
808 };
809
810 gpio4: gpio4@ff7b0000 {
811 compatible = "rockchip,gpio-bank";
812 reg = <0xff7b0000 0x100>;
813 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
814 clocks = <&cru PCLK_GPIO4>;
815
816 gpio-controller;
817 #gpio-cells = <2>;
818
819 interrupt-controller;
820 #interrupt-cells = <2>;
821 };
822
823 gpio5: gpio5@ff7c0000 {
824 compatible = "rockchip,gpio-bank";
825 reg = <0xff7c0000 0x100>;
826 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
827 clocks = <&cru PCLK_GPIO5>;
828
829 gpio-controller;
830 #gpio-cells = <2>;
831
832 interrupt-controller;
833 #interrupt-cells = <2>;
834 };
835
836 gpio6: gpio6@ff7d0000 {
837 compatible = "rockchip,gpio-bank";
838 reg = <0xff7d0000 0x100>;
839 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
840 clocks = <&cru PCLK_GPIO6>;
841
842 gpio-controller;
843 #gpio-cells = <2>;
844
845 interrupt-controller;
846 #interrupt-cells = <2>;
847 };
848
849 gpio7: gpio7@ff7e0000 {
850 compatible = "rockchip,gpio-bank";
851 reg = <0xff7e0000 0x100>;
852 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
853 clocks = <&cru PCLK_GPIO7>;
854
855 gpio-controller;
856 #gpio-cells = <2>;
857
858 interrupt-controller;
859 #interrupt-cells = <2>;
860 };
861
862 gpio8: gpio8@ff7f0000 {
863 compatible = "rockchip,gpio-bank";
864 reg = <0xff7f0000 0x100>;
865 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
866 clocks = <&cru PCLK_GPIO8>;
867
868 gpio-controller;
869 #gpio-cells = <2>;
870
871 interrupt-controller;
872 #interrupt-cells = <2>;
873 };
874
875 pcfg_pull_up: pcfg-pull-up {
876 bias-pull-up;
877 };
878
879 pcfg_pull_down: pcfg-pull-down {
880 bias-pull-down;
881 };
882
883 pcfg_pull_none: pcfg-pull-none {
884 bias-disable;
885 };
886
Roger Chen3d3fb74a2014-12-29 17:44:16 +0800887 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
888 bias-disable;
889 drive-strength = <12>;
890 };
891
Chris Zhongeecfe982014-12-01 16:52:19 +0800892 sleep {
893 global_pwroff: global-pwroff {
894 rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>;
895 };
896
897 ddrio_pwroff: ddrio-pwroff {
898 rockchip,pins = <0 1 RK_FUNC_1 &pcfg_pull_none>;
899 };
900
901 ddr0_retention: ddr0-retention {
902 rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_up>;
903 };
904
905 ddr1_retention: ddr1-retention {
906 rockchip,pins = <0 3 RK_FUNC_1 &pcfg_pull_up>;
907 };
908 };
909
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200910 i2c0 {
911 i2c0_xfer: i2c0-xfer {
912 rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>,
913 <0 16 RK_FUNC_1 &pcfg_pull_none>;
914 };
915 };
916
917 i2c1 {
918 i2c1_xfer: i2c1-xfer {
919 rockchip,pins = <8 4 RK_FUNC_1 &pcfg_pull_none>,
920 <8 5 RK_FUNC_1 &pcfg_pull_none>;
921 };
922 };
923
924 i2c2 {
925 i2c2_xfer: i2c2-xfer {
926 rockchip,pins = <6 9 RK_FUNC_1 &pcfg_pull_none>,
927 <6 10 RK_FUNC_1 &pcfg_pull_none>;
928 };
929 };
930
931 i2c3 {
932 i2c3_xfer: i2c3-xfer {
933 rockchip,pins = <2 16 RK_FUNC_1 &pcfg_pull_none>,
934 <2 17 RK_FUNC_1 &pcfg_pull_none>;
935 };
936 };
937
938 i2c4 {
939 i2c4_xfer: i2c4-xfer {
940 rockchip,pins = <7 17 RK_FUNC_1 &pcfg_pull_none>,
941 <7 18 RK_FUNC_1 &pcfg_pull_none>;
942 };
943 };
944
945 i2c5 {
946 i2c5_xfer: i2c5-xfer {
947 rockchip,pins = <7 19 RK_FUNC_1 &pcfg_pull_none>,
948 <7 20 RK_FUNC_1 &pcfg_pull_none>;
949 };
950 };
951
Jianquna0f95e32014-09-12 18:54:55 +0800952 i2s0 {
953 i2s0_bus: i2s0-bus {
954 rockchip,pins = <6 0 RK_FUNC_1 &pcfg_pull_none>,
955 <6 1 RK_FUNC_1 &pcfg_pull_none>,
956 <6 2 RK_FUNC_1 &pcfg_pull_none>,
957 <6 3 RK_FUNC_1 &pcfg_pull_none>,
958 <6 4 RK_FUNC_1 &pcfg_pull_none>,
959 <6 8 RK_FUNC_1 &pcfg_pull_none>;
960 };
961 };
962
Heiko Stuebner2ab557b2014-07-15 20:16:19 +0200963 sdmmc {
964 sdmmc_clk: sdmmc-clk {
965 rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>;
966 };
967
968 sdmmc_cmd: sdmmc-cmd {
969 rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up>;
970 };
971
972 sdmmc_cd: sdmcc-cd {
973 rockchip,pins = <6 22 RK_FUNC_1 &pcfg_pull_up>;
974 };
975
976 sdmmc_bus1: sdmmc-bus1 {
977 rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>;
978 };
979
980 sdmmc_bus4: sdmmc-bus4 {
981 rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>,
982 <6 17 RK_FUNC_1 &pcfg_pull_up>,
983 <6 18 RK_FUNC_1 &pcfg_pull_up>,
984 <6 19 RK_FUNC_1 &pcfg_pull_up>;
985 };
986 };
987
Addy Kef1a07232014-08-19 18:21:08 +0800988 sdio0 {
989 sdio0_bus1: sdio0-bus1 {
990 rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>;
991 };
992
993 sdio0_bus4: sdio0-bus4 {
994 rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>,
995 <4 21 RK_FUNC_1 &pcfg_pull_up>,
996 <4 22 RK_FUNC_1 &pcfg_pull_up>,
997 <4 23 RK_FUNC_1 &pcfg_pull_up>;
998 };
999
1000 sdio0_cmd: sdio0-cmd {
1001 rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_up>;
1002 };
1003
1004 sdio0_clk: sdio0-clk {
1005 rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none>;
1006 };
1007
1008 sdio0_cd: sdio0-cd {
1009 rockchip,pins = <4 26 RK_FUNC_1 &pcfg_pull_up>;
1010 };
1011
1012 sdio0_wp: sdio0-wp {
1013 rockchip,pins = <4 27 RK_FUNC_1 &pcfg_pull_up>;
1014 };
1015
1016 sdio0_pwr: sdio0-pwr {
1017 rockchip,pins = <4 28 RK_FUNC_1 &pcfg_pull_up>;
1018 };
1019
1020 sdio0_bkpwr: sdio0-bkpwr {
1021 rockchip,pins = <4 29 RK_FUNC_1 &pcfg_pull_up>;
1022 };
1023
1024 sdio0_int: sdio0-int {
1025 rockchip,pins = <4 30 RK_FUNC_1 &pcfg_pull_up>;
1026 };
1027 };
1028
1029 sdio1 {
1030 sdio1_bus1: sdio1-bus1 {
1031 rockchip,pins = <3 24 4 &pcfg_pull_up>;
1032 };
1033
1034 sdio1_bus4: sdio1-bus4 {
1035 rockchip,pins = <3 24 4 &pcfg_pull_up>,
1036 <3 25 4 &pcfg_pull_up>,
1037 <3 26 4 &pcfg_pull_up>,
1038 <3 27 4 &pcfg_pull_up>;
1039 };
1040
1041 sdio1_cd: sdio1-cd {
1042 rockchip,pins = <3 28 4 &pcfg_pull_up>;
1043 };
1044
1045 sdio1_wp: sdio1-wp {
1046 rockchip,pins = <3 29 4 &pcfg_pull_up>;
1047 };
1048
1049 sdio1_bkpwr: sdio1-bkpwr {
1050 rockchip,pins = <3 30 4 &pcfg_pull_up>;
1051 };
1052
1053 sdio1_int: sdio1-int {
1054 rockchip,pins = <3 31 4 &pcfg_pull_up>;
1055 };
1056
1057 sdio1_cmd: sdio1-cmd {
1058 rockchip,pins = <4 6 4 &pcfg_pull_up>;
1059 };
1060
1061 sdio1_clk: sdio1-clk {
1062 rockchip,pins = <4 7 4 &pcfg_pull_none>;
1063 };
1064
1065 sdio1_pwr: sdio1-pwr {
1066 rockchip,pins = <4 9 4 &pcfg_pull_up>;
1067 };
1068 };
1069
Heiko Stuebner2ab557b2014-07-15 20:16:19 +02001070 emmc {
1071 emmc_clk: emmc-clk {
1072 rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>;
1073 };
1074
1075 emmc_cmd: emmc-cmd {
1076 rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_up>;
1077 };
1078
1079 emmc_pwr: emmc-pwr {
1080 rockchip,pins = <3 9 RK_FUNC_2 &pcfg_pull_up>;
1081 };
1082
1083 emmc_bus1: emmc-bus1 {
1084 rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>;
1085 };
1086
1087 emmc_bus4: emmc-bus4 {
1088 rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>,
1089 <3 1 RK_FUNC_2 &pcfg_pull_up>,
1090 <3 2 RK_FUNC_2 &pcfg_pull_up>,
1091 <3 3 RK_FUNC_2 &pcfg_pull_up>;
1092 };
1093
1094 emmc_bus8: emmc-bus8 {
1095 rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>,
1096 <3 1 RK_FUNC_2 &pcfg_pull_up>,
1097 <3 2 RK_FUNC_2 &pcfg_pull_up>,
1098 <3 3 RK_FUNC_2 &pcfg_pull_up>,
1099 <3 4 RK_FUNC_2 &pcfg_pull_up>,
1100 <3 5 RK_FUNC_2 &pcfg_pull_up>,
1101 <3 6 RK_FUNC_2 &pcfg_pull_up>,
1102 <3 7 RK_FUNC_2 &pcfg_pull_up>;
1103 };
1104 };
1105
huang lin1f531702014-09-05 09:53:11 -07001106 spi0 {
1107 spi0_clk: spi0-clk {
1108 rockchip,pins = <5 12 RK_FUNC_1 &pcfg_pull_up>;
1109 };
1110 spi0_cs0: spi0-cs0 {
1111 rockchip,pins = <5 13 RK_FUNC_1 &pcfg_pull_up>;
1112 };
1113 spi0_tx: spi0-tx {
1114 rockchip,pins = <5 14 RK_FUNC_1 &pcfg_pull_up>;
1115 };
1116 spi0_rx: spi0-rx {
1117 rockchip,pins = <5 15 RK_FUNC_1 &pcfg_pull_up>;
1118 };
1119 spi0_cs1: spi0-cs1 {
1120 rockchip,pins = <5 16 RK_FUNC_1 &pcfg_pull_up>;
1121 };
1122 };
1123 spi1 {
1124 spi1_clk: spi1-clk {
1125 rockchip,pins = <7 12 RK_FUNC_2 &pcfg_pull_up>;
1126 };
1127 spi1_cs0: spi1-cs0 {
1128 rockchip,pins = <7 13 RK_FUNC_2 &pcfg_pull_up>;
1129 };
1130 spi1_rx: spi1-rx {
1131 rockchip,pins = <7 14 RK_FUNC_2 &pcfg_pull_up>;
1132 };
1133 spi1_tx: spi1-tx {
1134 rockchip,pins = <7 15 RK_FUNC_2 &pcfg_pull_up>;
1135 };
1136 };
1137
1138 spi2 {
1139 spi2_cs1: spi2-cs1 {
1140 rockchip,pins = <8 3 RK_FUNC_1 &pcfg_pull_up>;
1141 };
1142 spi2_clk: spi2-clk {
1143 rockchip,pins = <8 6 RK_FUNC_1 &pcfg_pull_up>;
1144 };
1145 spi2_cs0: spi2-cs0 {
1146 rockchip,pins = <8 7 RK_FUNC_1 &pcfg_pull_up>;
1147 };
1148 spi2_rx: spi2-rx {
1149 rockchip,pins = <8 8 RK_FUNC_1 &pcfg_pull_up>;
1150 };
1151 spi2_tx: spi2-tx {
1152 rockchip,pins = <8 9 RK_FUNC_1 &pcfg_pull_up>;
1153 };
1154 };
1155
Heiko Stuebner2ab557b2014-07-15 20:16:19 +02001156 uart0 {
1157 uart0_xfer: uart0-xfer {
1158 rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>,
1159 <4 17 RK_FUNC_1 &pcfg_pull_none>;
1160 };
1161
1162 uart0_cts: uart0-cts {
1163 rockchip,pins = <4 18 RK_FUNC_1 &pcfg_pull_none>;
1164 };
1165
1166 uart0_rts: uart0-rts {
1167 rockchip,pins = <4 19 RK_FUNC_1 &pcfg_pull_none>;
1168 };
1169 };
1170
1171 uart1 {
1172 uart1_xfer: uart1-xfer {
1173 rockchip,pins = <5 8 RK_FUNC_1 &pcfg_pull_up>,
1174 <5 9 RK_FUNC_1 &pcfg_pull_none>;
1175 };
1176
1177 uart1_cts: uart1-cts {
1178 rockchip,pins = <5 10 RK_FUNC_1 &pcfg_pull_none>;
1179 };
1180
1181 uart1_rts: uart1-rts {
1182 rockchip,pins = <5 11 RK_FUNC_1 &pcfg_pull_none>;
1183 };
1184 };
1185
1186 uart2 {
1187 uart2_xfer: uart2-xfer {
1188 rockchip,pins = <7 22 RK_FUNC_1 &pcfg_pull_up>,
1189 <7 23 RK_FUNC_1 &pcfg_pull_none>;
1190 };
1191 /* no rts / cts for uart2 */
1192 };
1193
1194 uart3 {
1195 uart3_xfer: uart3-xfer {
1196 rockchip,pins = <7 7 RK_FUNC_1 &pcfg_pull_up>,
1197 <7 8 RK_FUNC_1 &pcfg_pull_none>;
1198 };
1199
1200 uart3_cts: uart3-cts {
1201 rockchip,pins = <7 9 RK_FUNC_1 &pcfg_pull_none>;
1202 };
1203
1204 uart3_rts: uart3-rts {
1205 rockchip,pins = <7 10 RK_FUNC_1 &pcfg_pull_none>;
1206 };
1207 };
1208
1209 uart4 {
1210 uart4_xfer: uart4-xfer {
1211 rockchip,pins = <5 12 3 &pcfg_pull_up>,
1212 <5 13 3 &pcfg_pull_none>;
1213 };
1214
1215 uart4_cts: uart4-cts {
1216 rockchip,pins = <5 14 3 &pcfg_pull_none>;
1217 };
1218
1219 uart4_rts: uart4-rts {
1220 rockchip,pins = <5 15 3 &pcfg_pull_none>;
1221 };
1222 };
Doug Andersondf542df2014-08-25 15:59:26 -07001223
Caesar Wangb67d6bc2014-11-24 12:59:01 +08001224 tsadc {
1225 otp_out: otp-out {
1226 rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>;
1227 };
1228 };
1229
Doug Andersondf542df2014-08-25 15:59:26 -07001230 pwm0 {
1231 pwm0_pin: pwm0-pin {
1232 rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>;
1233 };
1234 };
1235
1236 pwm1 {
1237 pwm1_pin: pwm1-pin {
1238 rockchip,pins = <7 1 RK_FUNC_1 &pcfg_pull_none>;
1239 };
1240 };
1241
1242 pwm2 {
1243 pwm2_pin: pwm2-pin {
1244 rockchip,pins = <7 22 3 &pcfg_pull_none>;
1245 };
1246 };
1247
1248 pwm3 {
1249 pwm3_pin: pwm3-pin {
1250 rockchip,pins = <7 23 3 &pcfg_pull_none>;
1251 };
1252 };
Roger Chen3d3fb74a2014-12-29 17:44:16 +08001253
1254 gmac {
1255 rgmii_pins: rgmii-pins {
1256 rockchip,pins = <3 30 3 &pcfg_pull_none>,
1257 <3 31 3 &pcfg_pull_none>,
1258 <3 26 3 &pcfg_pull_none>,
1259 <3 27 3 &pcfg_pull_none>,
1260 <3 28 3 &pcfg_pull_none_12ma>,
1261 <3 29 3 &pcfg_pull_none_12ma>,
1262 <3 24 3 &pcfg_pull_none_12ma>,
1263 <3 25 3 &pcfg_pull_none_12ma>,
1264 <4 0 3 &pcfg_pull_none>,
1265 <4 5 3 &pcfg_pull_none>,
1266 <4 6 3 &pcfg_pull_none>,
1267 <4 9 3 &pcfg_pull_none_12ma>,
1268 <4 4 3 &pcfg_pull_none_12ma>,
1269 <4 1 3 &pcfg_pull_none>,
1270 <4 3 3 &pcfg_pull_none>;
1271 };
1272
1273 rmii_pins: rmii-pins {
1274 rockchip,pins = <3 30 3 &pcfg_pull_none>,
1275 <3 31 3 &pcfg_pull_none>,
1276 <3 28 3 &pcfg_pull_none>,
1277 <3 29 3 &pcfg_pull_none>,
1278 <4 0 3 &pcfg_pull_none>,
1279 <4 5 3 &pcfg_pull_none>,
1280 <4 4 3 &pcfg_pull_none>,
1281 <4 1 3 &pcfg_pull_none>,
1282 <4 2 3 &pcfg_pull_none>,
1283 <4 3 3 &pcfg_pull_none>;
1284 };
1285 };
Heiko Stuebner2ab557b2014-07-15 20:16:19 +02001286 };
1287};