blob: c383f5ccb27cc466c7b07d754c09703cd6f5c2c0 [file] [log] [blame]
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +02001/*
2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/interrupt-controller/arm-gic.h>
18#include "skeleton.dtsi"
19
20/ {
21 interrupt-parent = <&gic>;
22
Heiko Stuebner9cdffd82014-06-24 20:12:06 +020023 aliases {
24 i2c0 = &i2c0;
25 i2c1 = &i2c1;
26 i2c2 = &i2c2;
27 i2c3 = &i2c3;
28 i2c4 = &i2c4;
Heiko Stuebner4ff4ae12014-09-10 17:04:36 +020029 mshc0 = &emmc;
30 mshc1 = &mmc0;
31 mshc2 = &mmc1;
Heiko Stuebner39c2bd72014-09-10 16:28:02 +020032 spi0 = &spi0;
33 spi1 = &spi1;
Heiko Stuebner9cdffd82014-06-24 20:12:06 +020034 };
35
Heiko Stuebner560106c2014-04-15 19:44:59 +020036 xin24m: oscillator {
37 compatible = "fixed-clock";
38 clock-frequency = <24000000>;
39 #clock-cells = <0>;
40 clock-output-names = "xin24m";
41 };
42
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020043 L2: l2-cache-controller@10138000 {
44 compatible = "arm,pl310-cache";
45 reg = <0x10138000 0x1000>;
46 cache-unified;
47 cache-level = <2>;
48 };
49
Heiko Stuebnerff84b902014-07-26 23:28:03 +020050 scu@1013c000 {
51 compatible = "arm,cortex-a9-scu";
52 reg = <0x1013c000 0x100>;
53 };
54
Heiko Stuebnere40b43d2014-07-26 18:53:07 +020055 global_timer: global-timer@1013c200 {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020056 compatible = "arm,cortex-a9-global-timer";
57 reg = <0x1013c200 0x20>;
58 interrupts = <GIC_PPI 11 0x304>;
59 clocks = <&cru CORE_PERI>;
60 };
61
Heiko Stuebnere40b43d2014-07-26 18:53:07 +020062 local_timer: local-timer@1013c600 {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020063 compatible = "arm,cortex-a9-twd-timer";
64 reg = <0x1013c600 0x20>;
65 interrupts = <GIC_PPI 13 0x304>;
66 clocks = <&cru CORE_PERI>;
67 };
68
Heiko Stuebnerff84b902014-07-26 23:28:03 +020069 gic: interrupt-controller@1013d000 {
70 compatible = "arm,cortex-a9-gic";
71 interrupt-controller;
72 #interrupt-cells = <3>;
73 reg = <0x1013d000 0x1000>,
74 <0x1013c100 0x0100>;
75 };
76
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020077 uart0: serial@10124000 {
78 compatible = "snps,dw-apb-uart";
79 reg = <0x10124000 0x400>;
80 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
81 reg-shift = <2>;
82 reg-io-width = <1>;
Heiko Stuebner69667ca2014-06-26 16:06:12 +020083 clock-names = "baudclk", "apb_pclk";
84 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020085 status = "disabled";
86 };
87
88 uart1: serial@10126000 {
89 compatible = "snps,dw-apb-uart";
90 reg = <0x10126000 0x400>;
91 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
92 reg-shift = <2>;
93 reg-io-width = <1>;
Heiko Stuebner69667ca2014-06-26 16:06:12 +020094 clock-names = "baudclk", "apb_pclk";
95 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020096 status = "disabled";
97 };
98
Heiko Stuebnerfd14e6f2014-09-09 15:37:27 +020099 usb_otg: usb@10180000 {
100 compatible = "rockchip,rk3066-usb", "snps,dwc2";
101 reg = <0x10180000 0x40000>;
102 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
103 clocks = <&cru HCLK_OTG0>;
104 clock-names = "otg";
105 status = "disabled";
106 };
107
108 usb_host: usb@101c0000 {
109 compatible = "snps,dwc2";
110 reg = <0x101c0000 0x40000>;
111 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
112 clocks = <&cru HCLK_OTG1>;
113 clock-names = "otg";
114 status = "disabled";
115 };
116
Heiko Stuebnere40b43d2014-07-26 18:53:07 +0200117 mmc0: dwmmc@10214000 {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200118 compatible = "rockchip,rk2928-dw-mshc";
119 reg = <0x10214000 0x1000>;
120 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +0200121 #address-cells = <1>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200122 #size-cells = <0>;
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +0200123
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200124 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
125 clock-names = "biu", "ciu";
Heiko Stuebnerf6f70cf2013-06-17 21:28:57 +0200126
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200127 status = "disabled";
128 };
Heiko Stuebner46b82192013-06-17 22:17:16 +0200129
Heiko Stuebnere40b43d2014-07-26 18:53:07 +0200130 mmc1: dwmmc@10218000 {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200131 compatible = "rockchip,rk2928-dw-mshc";
132 reg = <0x10218000 0x1000>;
133 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
134 #address-cells = <1>;
135 #size-cells = <0>;
Heiko Stuebner56f2b892014-04-29 22:02:52 +0200136
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200137 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
138 clock-names = "biu", "ciu";
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +0200139
Heiko Stuebnerc3030d32014-07-26 18:44:35 +0200140 status = "disabled";
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +0200141 };
Heiko Stuebnerff84b902014-07-26 23:28:03 +0200142
Heiko Stuebner4ff4ae12014-09-10 17:04:36 +0200143 emmc: dwmmc@1021c000 {
144 compatible = "rockchip,rk2928-dw-mshc";
145 reg = <0x1021c000 0x1000>;
146 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
147
148 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
149 clock-names = "biu", "ciu";
150
151 status = "disabled";
152 };
153
Heiko Stuebnerff84b902014-07-26 23:28:03 +0200154 pmu: pmu@20004000 {
155 compatible = "rockchip,rk3066-pmu", "syscon";
156 reg = <0x20004000 0x100>;
157 };
158
159 grf: grf@20008000 {
160 compatible = "syscon";
161 reg = <0x20008000 0x200>;
162 };
163
Heiko Stuebner9cdffd82014-06-24 20:12:06 +0200164 i2c0: i2c@2002d000 {
165 compatible = "rockchip,rk3066-i2c";
166 reg = <0x2002d000 0x1000>;
167 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
168 #address-cells = <1>;
169 #size-cells = <0>;
170
171 rockchip,grf = <&grf>;
Heiko Stuebner9cdffd82014-06-24 20:12:06 +0200172
173 clock-names = "i2c";
174 clocks = <&cru PCLK_I2C0>;
175
176 status = "disabled";
177 };
178
179 i2c1: i2c@2002f000 {
180 compatible = "rockchip,rk3066-i2c";
181 reg = <0x2002f000 0x1000>;
182 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
183 #address-cells = <1>;
184 #size-cells = <0>;
185
186 rockchip,grf = <&grf>;
187
188 clocks = <&cru PCLK_I2C1>;
189 clock-names = "i2c";
190
191 status = "disabled";
192 };
193
Beniamino Galvani550c7f42014-06-26 20:03:41 +0200194 pwm0: pwm@20030000 {
195 compatible = "rockchip,rk2928-pwm";
196 reg = <0x20030000 0x10>;
197 #pwm-cells = <2>;
198 clocks = <&cru PCLK_PWM01>;
199 status = "disabled";
200 };
201
202 pwm1: pwm@20030010 {
203 compatible = "rockchip,rk2928-pwm";
204 reg = <0x20030010 0x10>;
205 #pwm-cells = <2>;
206 clocks = <&cru PCLK_PWM01>;
207 status = "disabled";
208 };
209
Heiko Stuebnereb2b9d42014-07-30 10:16:17 +0200210 wdt: watchdog@2004c000 {
211 compatible = "snps,dw-wdt";
212 reg = <0x2004c000 0x100>;
213 clocks = <&cru PCLK_WDT>;
214 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
215 status = "disabled";
216 };
217
Beniamino Galvani550c7f42014-06-26 20:03:41 +0200218 pwm2: pwm@20050020 {
219 compatible = "rockchip,rk2928-pwm";
220 reg = <0x20050020 0x10>;
221 #pwm-cells = <2>;
222 clocks = <&cru PCLK_PWM23>;
223 status = "disabled";
224 };
225
226 pwm3: pwm@20050030 {
227 compatible = "rockchip,rk2928-pwm";
228 reg = <0x20050030 0x10>;
229 #pwm-cells = <2>;
230 clocks = <&cru PCLK_PWM23>;
231 status = "disabled";
232 };
233
Heiko Stuebner9cdffd82014-06-24 20:12:06 +0200234 i2c2: i2c@20056000 {
235 compatible = "rockchip,rk3066-i2c";
236 reg = <0x20056000 0x1000>;
237 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
238 #address-cells = <1>;
239 #size-cells = <0>;
240
241 rockchip,grf = <&grf>;
242
243 clocks = <&cru PCLK_I2C2>;
244 clock-names = "i2c";
245
246 status = "disabled";
247 };
248
249 i2c3: i2c@2005a000 {
250 compatible = "rockchip,rk3066-i2c";
251 reg = <0x2005a000 0x1000>;
252 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
253 #address-cells = <1>;
254 #size-cells = <0>;
255
256 rockchip,grf = <&grf>;
257
258 clocks = <&cru PCLK_I2C3>;
259 clock-names = "i2c";
260
261 status = "disabled";
262 };
263
264 i2c4: i2c@2005e000 {
265 compatible = "rockchip,rk3066-i2c";
266 reg = <0x2005e000 0x1000>;
267 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
268 #address-cells = <1>;
269 #size-cells = <0>;
270
271 rockchip,grf = <&grf>;
272
273 clocks = <&cru PCLK_I2C4>;
274 clock-names = "i2c";
275
276 status = "disabled";
277 };
278
Heiko Stuebnerff84b902014-07-26 23:28:03 +0200279 uart2: serial@20064000 {
280 compatible = "snps,dw-apb-uart";
281 reg = <0x20064000 0x400>;
282 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
283 reg-shift = <2>;
284 reg-io-width = <1>;
Heiko Stuebner69667ca2014-06-26 16:06:12 +0200285 clock-names = "baudclk", "apb_pclk";
286 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
Heiko Stuebnerff84b902014-07-26 23:28:03 +0200287 status = "disabled";
288 };
289
290 uart3: serial@20068000 {
291 compatible = "snps,dw-apb-uart";
292 reg = <0x20068000 0x400>;
293 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
294 reg-shift = <2>;
295 reg-io-width = <1>;
Heiko Stuebner69667ca2014-06-26 16:06:12 +0200296 clock-names = "baudclk", "apb_pclk";
297 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
Heiko Stuebnerff84b902014-07-26 23:28:03 +0200298 status = "disabled";
299 };
Heiko Stübnerf23a6172014-08-20 21:09:24 +0200300
301 saradc: saradc@2006c000 {
302 compatible = "rockchip,saradc";
303 reg = <0x2006c000 0x100>;
304 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
305 #io-channel-cells = <1>;
306 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
307 clock-names = "saradc", "apb_pclk";
308 status = "disabled";
309 };
Heiko Stuebner39c2bd72014-09-10 16:28:02 +0200310
311 spi0: spi@20070000 {
312 compatible = "rockchip,rk3066-spi";
313 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
314 clock-names = "spiclk", "apb_pclk";
315 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
316 reg = <0x20070000 0x1000>;
317 #address-cells = <1>;
318 #size-cells = <0>;
319 status = "disabled";
320 };
321
322 spi1: spi@20074000 {
323 compatible = "rockchip,rk3066-spi";
324 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
325 clock-names = "spiclk", "apb_pclk";
326 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
327 reg = <0x20074000 0x1000>;
328 #address-cells = <1>;
329 #size-cells = <0>;
330 status = "disabled";
331 };
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +0200332};