2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
5 * SPDX-License-Identifier: GPL-2.0+ or X11
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include "skeleton.dtsi"
13 interrupt-parent = <&gic>;
34 compatible = "simple-bus";
39 dmac1_s: dma-controller@20018000 {
40 compatible = "arm,pl330", "arm,primecell";
41 reg = <0x20018000 0x4000>;
42 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
43 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
45 arm,pl330-broken-no-flushp;
46 clocks = <&cru ACLK_DMA1>;
47 clock-names = "apb_pclk";
50 dmac1_ns: dma-controller@2001c000 {
51 compatible = "arm,pl330", "arm,primecell";
52 reg = <0x2001c000 0x4000>;
53 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
54 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
56 arm,pl330-broken-no-flushp;
57 clocks = <&cru ACLK_DMA1>;
58 clock-names = "apb_pclk";
62 dmac2: dma-controller@20078000 {
63 compatible = "arm,pl330", "arm,primecell";
64 reg = <0x20078000 0x4000>;
65 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
66 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
68 arm,pl330-broken-no-flushp;
69 clocks = <&cru ACLK_DMA2>;
70 clock-names = "apb_pclk";
75 compatible = "fixed-clock";
76 clock-frequency = <24000000>;
78 clock-output-names = "xin24m";
81 L2: l2-cache-controller@10138000 {
82 compatible = "arm,pl310-cache";
83 reg = <0x10138000 0x1000>;
89 compatible = "arm,cortex-a9-scu";
90 reg = <0x1013c000 0x100>;
93 global_timer: global-timer@1013c200 {
94 compatible = "arm,cortex-a9-global-timer";
95 reg = <0x1013c200 0x20>;
96 interrupts = <GIC_PPI 11 0x304>;
97 clocks = <&cru CORE_PERI>;
100 local_timer: local-timer@1013c600 {
101 compatible = "arm,cortex-a9-twd-timer";
102 reg = <0x1013c600 0x20>;
103 interrupts = <GIC_PPI 13 0x304>;
104 clocks = <&cru CORE_PERI>;
107 gic: interrupt-controller@1013d000 {
108 compatible = "arm,cortex-a9-gic";
109 interrupt-controller;
110 #interrupt-cells = <3>;
111 reg = <0x1013d000 0x1000>,
115 uart0: serial@10124000 {
116 compatible = "snps,dw-apb-uart";
117 reg = <0x10124000 0x400>;
118 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
121 clock-names = "baudclk", "apb_pclk";
122 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
126 uart1: serial@10126000 {
127 compatible = "snps,dw-apb-uart";
128 reg = <0x10126000 0x400>;
129 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
132 clock-names = "baudclk", "apb_pclk";
133 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
137 noc: syscon@10128000 {
139 compatible = "rockchip,rk3188-noc", "syscon";
140 reg = <0x10128000 0x2000>;
143 usb_otg: usb@10180000 {
144 compatible = "rockchip,rk3066-usb", "snps,dwc2";
145 reg = <0x10180000 0x40000>;
146 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
147 clocks = <&cru HCLK_OTG0>;
150 g-np-tx-fifo-size = <16>;
151 g-rx-fifo-size = <275>;
152 g-tx-fifo-size = <256 128 128 64 64 32>;
155 phy-names = "usb2-phy";
159 usb_host: usb@101c0000 {
160 compatible = "snps,dwc2";
161 reg = <0x101c0000 0x40000>;
162 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
163 clocks = <&cru HCLK_OTG1>;
167 phy-names = "usb2-phy";
171 emac: ethernet@10204000 {
172 compatible = "snps,arc-emac";
173 reg = <0x10204000 0x3c>;
174 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
175 #address-cells = <1>;
178 rockchip,grf = <&grf>;
180 clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>;
181 clock-names = "hclk", "macref";
188 mmc0: dwmmc@10214000 {
189 compatible = "rockchip,rk2928-dw-mshc";
190 reg = <0x10214000 0x1000>;
191 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
192 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
193 clock-names = "biu", "ciu";
198 mmc1: dwmmc@10218000 {
199 compatible = "rockchip,rk2928-dw-mshc";
200 reg = <0x10218000 0x1000>;
201 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
202 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
203 clock-names = "biu", "ciu";
208 emmc: dwmmc@1021c000 {
209 compatible = "rockchip,rk2928-dw-mshc";
210 reg = <0x1021c000 0x1000>;
211 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
212 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
213 clock-names = "biu", "ciu";
219 compatible = "rockchip,rk3066-pmu", "syscon";
220 reg = <0x20004000 0x100>;
225 compatible = "syscon";
226 reg = <0x20008000 0x200>;
231 /* unreviewed u-boot-specific binding */
232 compatible = "rockchip,rk3188-dmc", "syscon";
233 rockchip,cru = <&cru>;
234 rockchip,grf = <&grf>;
235 rockchip,pmu = <&pmu>;
236 rockchip,noc = <&noc>;
237 reg = <0x20020000 0x3fc
239 clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>;
240 clock-names = "pclk_ddrupctl", "pclk_publ";
245 compatible = "rockchip,rk3066-i2c";
246 reg = <0x2002d000 0x1000>;
247 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
248 #address-cells = <1>;
251 rockchip,grf = <&grf>;
254 clocks = <&cru PCLK_I2C0>;
260 compatible = "rockchip,rk3066-i2c";
261 reg = <0x2002f000 0x1000>;
262 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
263 #address-cells = <1>;
266 rockchip,grf = <&grf>;
268 clocks = <&cru PCLK_I2C1>;
275 compatible = "rockchip,rk2928-pwm";
276 reg = <0x20030000 0x10>;
278 clocks = <&cru PCLK_PWM01>;
283 compatible = "rockchip,rk2928-pwm";
284 reg = <0x20030010 0x10>;
286 clocks = <&cru PCLK_PWM01>;
290 wdt: watchdog@2004c000 {
291 compatible = "snps,dw-wdt";
292 reg = <0x2004c000 0x100>;
293 clocks = <&cru PCLK_WDT>;
294 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
299 compatible = "rockchip,rk2928-pwm";
300 reg = <0x20050020 0x10>;
302 clocks = <&cru PCLK_PWM23>;
307 compatible = "rockchip,rk2928-pwm";
308 reg = <0x20050030 0x10>;
310 clocks = <&cru PCLK_PWM23>;
315 compatible = "rockchip,rk3066-i2c";
316 reg = <0x20056000 0x1000>;
317 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
318 #address-cells = <1>;
321 rockchip,grf = <&grf>;
323 clocks = <&cru PCLK_I2C2>;
330 compatible = "rockchip,rk3066-i2c";
331 reg = <0x2005a000 0x1000>;
332 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
333 #address-cells = <1>;
336 rockchip,grf = <&grf>;
338 clocks = <&cru PCLK_I2C3>;
345 compatible = "rockchip,rk3066-i2c";
346 reg = <0x2005e000 0x1000>;
347 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
348 #address-cells = <1>;
351 rockchip,grf = <&grf>;
353 clocks = <&cru PCLK_I2C4>;
359 uart2: serial@20064000 {
360 compatible = "snps,dw-apb-uart";
361 reg = <0x20064000 0x400>;
362 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
365 clock-frequency = <24000000>;
366 clock-names = "baudclk", "apb_pclk";
367 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
371 uart3: serial@20068000 {
372 compatible = "snps,dw-apb-uart";
373 reg = <0x20068000 0x400>;
374 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
377 clock-names = "baudclk", "apb_pclk";
378 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
382 saradc: saradc@2006c000 {
383 compatible = "rockchip,saradc";
384 reg = <0x2006c000 0x100>;
385 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
386 #io-channel-cells = <1>;
387 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
388 clock-names = "saradc", "apb_pclk";
393 compatible = "rockchip,rk3066-spi";
394 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
395 clock-names = "spiclk", "apb_pclk";
396 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
397 reg = <0x20070000 0x1000>;
398 #address-cells = <1>;
400 dmas = <&dmac2 10>, <&dmac2 11>;
401 dma-names = "tx", "rx";
406 compatible = "rockchip,rk3066-spi";
407 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
408 clock-names = "spiclk", "apb_pclk";
409 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
410 reg = <0x20074000 0x1000>;
411 #address-cells = <1>;
413 dmas = <&dmac2 12>, <&dmac2 13>;
414 dma-names = "tx", "rx";