]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/dts/rk3xxx.dtsi
Merge git://git.denx.de/u-boot-sunxi
[people/ms/u-boot.git] / arch / arm / dts / rk3xxx.dtsi
1 /*
2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
4 *
5 * SPDX-License-Identifier: GPL-2.0+ or X11
6 */
7
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include "skeleton.dtsi"
11
12 / {
13 interrupt-parent = <&gic>;
14
15 aliases {
16 ethernet0 = &emac;
17 i2c0 = &i2c0;
18 i2c1 = &i2c1;
19 i2c2 = &i2c2;
20 i2c3 = &i2c3;
21 i2c4 = &i2c4;
22 mshc0 = &emmc;
23 mshc1 = &mmc0;
24 mshc2 = &mmc1;
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &uart2;
28 serial3 = &uart3;
29 spi0 = &spi0;
30 spi1 = &spi1;
31 };
32
33 amba {
34 compatible = "simple-bus";
35 #address-cells = <1>;
36 #size-cells = <1>;
37 ranges;
38
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>;
44 #dma-cells = <1>;
45 arm,pl330-broken-no-flushp;
46 clocks = <&cru ACLK_DMA1>;
47 clock-names = "apb_pclk";
48 };
49
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>;
55 #dma-cells = <1>;
56 arm,pl330-broken-no-flushp;
57 clocks = <&cru ACLK_DMA1>;
58 clock-names = "apb_pclk";
59 status = "disabled";
60 };
61
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>;
67 #dma-cells = <1>;
68 arm,pl330-broken-no-flushp;
69 clocks = <&cru ACLK_DMA2>;
70 clock-names = "apb_pclk";
71 };
72 };
73
74 xin24m: oscillator {
75 compatible = "fixed-clock";
76 clock-frequency = <24000000>;
77 #clock-cells = <0>;
78 clock-output-names = "xin24m";
79 };
80
81 L2: l2-cache-controller@10138000 {
82 compatible = "arm,pl310-cache";
83 reg = <0x10138000 0x1000>;
84 cache-unified;
85 cache-level = <2>;
86 };
87
88 scu@1013c000 {
89 compatible = "arm,cortex-a9-scu";
90 reg = <0x1013c000 0x100>;
91 };
92
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>;
98 };
99
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>;
105 };
106
107 gic: interrupt-controller@1013d000 {
108 compatible = "arm,cortex-a9-gic";
109 interrupt-controller;
110 #interrupt-cells = <3>;
111 reg = <0x1013d000 0x1000>,
112 <0x1013c100 0x0100>;
113 };
114
115 uart0: serial@10124000 {
116 compatible = "snps,dw-apb-uart";
117 reg = <0x10124000 0x400>;
118 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
119 reg-shift = <2>;
120 reg-io-width = <1>;
121 clock-names = "baudclk", "apb_pclk";
122 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
123 status = "disabled";
124 };
125
126 uart1: serial@10126000 {
127 compatible = "snps,dw-apb-uart";
128 reg = <0x10126000 0x400>;
129 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
130 reg-shift = <2>;
131 reg-io-width = <1>;
132 clock-names = "baudclk", "apb_pclk";
133 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
134 status = "disabled";
135 };
136
137 noc: syscon@10128000 {
138 u-boot,dm-spl;
139 compatible = "rockchip,rk3188-noc", "syscon";
140 reg = <0x10128000 0x2000>;
141 };
142
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>;
148 clock-names = "otg";
149 dr_mode = "otg";
150 g-np-tx-fifo-size = <16>;
151 g-rx-fifo-size = <275>;
152 g-tx-fifo-size = <256 128 128 64 64 32>;
153 g-use-dma;
154 phys = <&usbphy0>;
155 phy-names = "usb2-phy";
156 status = "disabled";
157 };
158
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>;
164 clock-names = "otg";
165 dr_mode = "host";
166 phys = <&usbphy1>;
167 phy-names = "usb2-phy";
168 status = "disabled";
169 };
170
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>;
176 #size-cells = <0>;
177
178 rockchip,grf = <&grf>;
179
180 clocks = <&cru HCLK_EMAC>, <&cru SCLK_MAC>;
181 clock-names = "hclk", "macref";
182 max-speed = <100>;
183 phy-mode = "rmii";
184
185 status = "disabled";
186 };
187
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";
194 fifo-depth = <256>;
195 status = "disabled";
196 };
197
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";
204 fifo-depth = <256>;
205 status = "disabled";
206 };
207
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";
214 fifo-depth = <256>;
215 status = "disabled";
216 };
217
218 pmu: pmu@20004000 {
219 compatible = "rockchip,rk3066-pmu", "syscon";
220 reg = <0x20004000 0x100>;
221 u-boot,dm-spl;
222 };
223
224 grf: grf@20008000 {
225 compatible = "syscon";
226 reg = <0x20008000 0x200>;
227 u-boot,dm-spl;
228 };
229
230 dmc: dmc@20020000 {
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
238 0x20040000 0x294>;
239 clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>;
240 clock-names = "pclk_ddrupctl", "pclk_publ";
241 u-boot,dm-spl;
242 };
243
244 i2c0: i2c@2002d000 {
245 compatible = "rockchip,rk3066-i2c";
246 reg = <0x2002d000 0x1000>;
247 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
248 #address-cells = <1>;
249 #size-cells = <0>;
250
251 rockchip,grf = <&grf>;
252
253 clock-names = "i2c";
254 clocks = <&cru PCLK_I2C0>;
255
256 status = "disabled";
257 };
258
259 i2c1: i2c@2002f000 {
260 compatible = "rockchip,rk3066-i2c";
261 reg = <0x2002f000 0x1000>;
262 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
263 #address-cells = <1>;
264 #size-cells = <0>;
265
266 rockchip,grf = <&grf>;
267
268 clocks = <&cru PCLK_I2C1>;
269 clock-names = "i2c";
270
271 status = "disabled";
272 };
273
274 pwm0: pwm@20030000 {
275 compatible = "rockchip,rk2928-pwm";
276 reg = <0x20030000 0x10>;
277 #pwm-cells = <2>;
278 clocks = <&cru PCLK_PWM01>;
279 status = "disabled";
280 };
281
282 pwm1: pwm@20030010 {
283 compatible = "rockchip,rk2928-pwm";
284 reg = <0x20030010 0x10>;
285 #pwm-cells = <2>;
286 clocks = <&cru PCLK_PWM01>;
287 status = "disabled";
288 };
289
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>;
295 status = "disabled";
296 };
297
298 pwm2: pwm@20050020 {
299 compatible = "rockchip,rk2928-pwm";
300 reg = <0x20050020 0x10>;
301 #pwm-cells = <2>;
302 clocks = <&cru PCLK_PWM23>;
303 status = "disabled";
304 };
305
306 pwm3: pwm@20050030 {
307 compatible = "rockchip,rk2928-pwm";
308 reg = <0x20050030 0x10>;
309 #pwm-cells = <2>;
310 clocks = <&cru PCLK_PWM23>;
311 status = "disabled";
312 };
313
314 i2c2: i2c@20056000 {
315 compatible = "rockchip,rk3066-i2c";
316 reg = <0x20056000 0x1000>;
317 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
318 #address-cells = <1>;
319 #size-cells = <0>;
320
321 rockchip,grf = <&grf>;
322
323 clocks = <&cru PCLK_I2C2>;
324 clock-names = "i2c";
325
326 status = "disabled";
327 };
328
329 i2c3: i2c@2005a000 {
330 compatible = "rockchip,rk3066-i2c";
331 reg = <0x2005a000 0x1000>;
332 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
333 #address-cells = <1>;
334 #size-cells = <0>;
335
336 rockchip,grf = <&grf>;
337
338 clocks = <&cru PCLK_I2C3>;
339 clock-names = "i2c";
340
341 status = "disabled";
342 };
343
344 i2c4: i2c@2005e000 {
345 compatible = "rockchip,rk3066-i2c";
346 reg = <0x2005e000 0x1000>;
347 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
348 #address-cells = <1>;
349 #size-cells = <0>;
350
351 rockchip,grf = <&grf>;
352
353 clocks = <&cru PCLK_I2C4>;
354 clock-names = "i2c";
355
356 status = "disabled";
357 };
358
359 uart2: serial@20064000 {
360 compatible = "snps,dw-apb-uart";
361 reg = <0x20064000 0x400>;
362 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
363 reg-shift = <2>;
364 reg-io-width = <1>;
365 clock-frequency = <24000000>;
366 clock-names = "baudclk", "apb_pclk";
367 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
368 status = "disabled";
369 };
370
371 uart3: serial@20068000 {
372 compatible = "snps,dw-apb-uart";
373 reg = <0x20068000 0x400>;
374 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
375 reg-shift = <2>;
376 reg-io-width = <1>;
377 clock-names = "baudclk", "apb_pclk";
378 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
379 status = "disabled";
380 };
381
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";
389 status = "disabled";
390 };
391
392 spi0: spi@20070000 {
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>;
399 #size-cells = <0>;
400 dmas = <&dmac2 10>, <&dmac2 11>;
401 dma-names = "tx", "rx";
402 status = "disabled";
403 };
404
405 spi1: spi@20074000 {
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>;
412 #size-cells = <0>;
413 dmas = <&dmac2 12>, <&dmac2 13>;
414 dma-names = "tx", "rx";
415 status = "disabled";
416 };
417 };