blob: 15d85f1f85fd5fcf0edf728056f7f4bc6e9b0a19 [file] [log] [blame]
Sascha Hauer9f0749e2012-02-28 21:57:50 +01001/*
2 * Copyright 2012 Sascha Hauer, Pengutronix
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
Markus Pargmann61664d02014-02-08 13:54:43 +080012#include "imx27-pinfunc.h"
Alexander Shiyanea336fa82014-07-05 09:36:07 +040013
14#include <dt-bindings/clock/imx27-clock.h>
15#include <dt-bindings/gpio/gpio.h>
Fabio Estevamf6bd3f32014-04-17 15:23:31 -030016#include <dt-bindings/input/input.h>
Alexander Shiyan6ece55b2013-11-30 10:18:04 +040017#include <dt-bindings/interrupt-controller/irq.h>
Sascha Hauer9f0749e2012-02-28 21:57:50 +010018
19/ {
Fabio Estevam7f107882016-11-12 13:30:35 -020020 #address-cells = <1>;
21 #size-cells = <1>;
Fabio Estevama971c552017-01-23 14:54:10 -020022 /*
23 * The decompressor and also some bootloaders rely on a
24 * pre-existing /chosen node to be available to insert the
25 * command line and merge other ATAGS info.
26 * Also for U-Boot there must be a pre-existing /memory node.
27 */
28 chosen {};
29 memory { device_type = "memory"; reg = <0 0>; };
Fabio Estevam7f107882016-11-12 13:30:35 -020030
Sascha Hauer9f0749e2012-02-28 21:57:50 +010031 aliases {
Marek Vasut22970072014-02-28 12:58:41 +010032 ethernet0 = &fec;
Shawn Guo5230f8f2012-08-05 14:01:28 +080033 gpio0 = &gpio1;
34 gpio1 = &gpio2;
35 gpio2 = &gpio3;
36 gpio3 = &gpio4;
37 gpio4 = &gpio5;
38 gpio5 = &gpio6;
Sascha Hauer6a3c0b32013-06-25 15:51:54 +020039 i2c0 = &i2c1;
40 i2c1 = &i2c2;
41 serial0 = &uart1;
42 serial1 = &uart2;
43 serial2 = &uart3;
44 serial3 = &uart4;
45 serial4 = &uart5;
46 serial5 = &uart6;
Alexander Shiyana5a641a2013-05-01 14:46:57 +040047 spi0 = &cspi1;
48 spi1 = &cspi2;
49 spi2 = &cspi3;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010050 };
51
Fabio Estevam6189bc32013-06-28 16:50:33 +020052 aitc: aitc-interrupt-controller@e0000000 {
53 compatible = "fsl,imx27-aitc", "fsl,avic";
Sascha Hauer9f0749e2012-02-28 21:57:50 +010054 interrupt-controller;
55 #interrupt-cells = <1>;
56 reg = <0x10040000 0x1000>;
57 };
58
59 clocks {
60 #address-cells = <1>;
61 #size-cells = <0>;
62
63 osc26m {
64 compatible = "fsl,imx-osc26m", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080065 #clock-cells = <0>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010066 clock-frequency = <26000000>;
67 };
68 };
69
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020070 cpus {
71 #size-cells = <0>;
72 #address-cells = <1>;
73
Alexander Shiyan48568be2013-07-20 11:17:56 +040074 cpu: cpu@0 {
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020075 device_type = "cpu";
Fabio Estevamd447dd82016-11-16 13:15:38 -020076 reg = <0>;
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020077 compatible = "arm,arm926ej-s";
78 operating-points = <
Alexander Shiyan98a3e802013-07-13 08:34:44 +040079 /* kHz uV */
80 266000 1300000
81 399000 1450000
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020082 >;
Alexander Shiyan8defcb52013-07-20 11:17:57 +040083 clock-latency = <62500>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +040084 clocks = <&clks IMX27_CLK_CPU_DIV>;
Alexander Shiyan98a3e802013-07-13 08:34:44 +040085 voltage-tolerance = <5>;
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020086 };
87 };
88
Sascha Hauer9f0749e2012-02-28 21:57:50 +010089 soc {
90 #address-cells = <1>;
91 #size-cells = <1>;
92 compatible = "simple-bus";
Fabio Estevam6189bc32013-06-28 16:50:33 +020093 interrupt-parent = <&aitc>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010094 ranges;
95
96 aipi@10000000 { /* AIPI1 */
97 compatible = "fsl,aipi-bus", "simple-bus";
98 #address-cells = <1>;
99 #size-cells = <1>;
Fabio Estevam3e24b052012-11-21 17:19:38 -0200100 reg = <0x10000000 0x20000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100101 ranges;
102
Alexander Shiyanb858c342013-06-08 18:39:36 +0400103 dma: dma@10001000 {
104 compatible = "fsl,imx27-dma";
105 reg = <0x10001000 0x1000>;
106 interrupts = <32>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400107 clocks = <&clks IMX27_CLK_DMA_IPG_GATE>,
108 <&clks IMX27_CLK_DMA_AHB_GATE>;
Alexander Shiyanb858c342013-06-08 18:39:36 +0400109 clock-names = "ipg", "ahb";
110 #dma-cells = <1>;
111 #dma-channels = <16>;
112 };
113
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100114 wdog: wdog@10002000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100115 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100116 reg = <0x10002000 0x1000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100117 interrupts = <27>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400118 clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100119 };
120
Sascha Hauerca26d042013-03-14 13:08:57 +0100121 gpt1: timer@10003000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300122 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100123 reg = <0x10003000 0x1000>;
124 interrupts = <26>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400125 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
126 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100127 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100128 };
129
130 gpt2: timer@10004000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300131 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100132 reg = <0x10004000 0x1000>;
133 interrupts = <25>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400134 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
135 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100136 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100137 };
138
139 gpt3: timer@10005000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300140 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100141 reg = <0x10005000 0x1000>;
142 interrupts = <24>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400143 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
144 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100145 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100146 };
147
Alexander Shiyana392d042013-06-23 10:54:47 +0400148 pwm: pwm@10006000 {
Steffen Trumtrar443b6582013-10-17 15:03:16 +0200149 #pwm-cells = <2>;
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200150 compatible = "fsl,imx27-pwm";
151 reg = <0x10006000 0x1000>;
152 interrupts = <23>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400153 clocks = <&clks IMX27_CLK_PWM_IPG_GATE>,
154 <&clks IMX27_CLK_PER1_GATE>;
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200155 clock-names = "ipg", "per";
156 };
157
Philippe Reynes91eca8d2015-07-26 23:37:53 +0200158 rtc: rtc@10007000 {
159 compatible = "fsl,imx21-rtc";
160 reg = <0x10007000 0x1000>;
161 interrupts = <22>;
162 clocks = <&clks IMX27_CLK_CKIL>,
163 <&clks IMX27_CLK_RTC_IPG_GATE>;
164 clock-names = "ref", "ipg";
165 };
166
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400167 kpp: kpp@10008000 {
168 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
169 reg = <0x10008000 0x1000>;
170 interrupts = <21>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400171 clocks = <&clks IMX27_CLK_KPP_IPG_GATE>;
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400172 status = "disabled";
173 };
174
Markus Pargmann6a486b72013-07-01 17:21:22 +0800175 owire: owire@10009000 {
176 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
177 reg = <0x10009000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400178 clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>;
Markus Pargmann6a486b72013-07-01 17:21:22 +0800179 status = "disabled";
180 };
181
Shawn Guo0c456cf2012-04-02 14:39:26 +0800182 uart1: serial@1000a000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100183 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
184 reg = <0x1000a000 0x1000>;
185 interrupts = <20>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400186 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
187 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200188 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100189 status = "disabled";
190 };
191
Shawn Guo0c456cf2012-04-02 14:39:26 +0800192 uart2: serial@1000b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100193 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
194 reg = <0x1000b000 0x1000>;
195 interrupts = <19>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400196 clocks = <&clks IMX27_CLK_UART2_IPG_GATE>,
197 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200198 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100199 status = "disabled";
200 };
201
Shawn Guo0c456cf2012-04-02 14:39:26 +0800202 uart3: serial@1000c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100203 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
204 reg = <0x1000c000 0x1000>;
205 interrupts = <18>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400206 clocks = <&clks IMX27_CLK_UART3_IPG_GATE>,
207 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200208 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100209 status = "disabled";
210 };
211
Shawn Guo0c456cf2012-04-02 14:39:26 +0800212 uart4: serial@1000d000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100213 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
214 reg = <0x1000d000 0x1000>;
215 interrupts = <17>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400216 clocks = <&clks IMX27_CLK_UART4_IPG_GATE>,
217 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200218 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100219 status = "disabled";
220 };
221
222 cspi1: cspi@1000e000 {
223 #address-cells = <1>;
224 #size-cells = <0>;
225 compatible = "fsl,imx27-cspi";
226 reg = <0x1000e000 0x1000>;
227 interrupts = <16>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400228 clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>,
229 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200230 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100231 status = "disabled";
232 };
233
234 cspi2: cspi@1000f000 {
235 #address-cells = <1>;
236 #size-cells = <0>;
237 compatible = "fsl,imx27-cspi";
238 reg = <0x1000f000 0x1000>;
239 interrupts = <15>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400240 clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>,
241 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200242 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100243 status = "disabled";
244 };
245
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400246 ssi1: ssi@10010000 {
247 #sound-dai-cells = <0>;
248 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
249 reg = <0x10010000 0x1000>;
250 interrupts = <14>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400251 clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>;
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400252 dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
253 dma-names = "rx0", "tx0", "rx1", "tx1";
254 fsl,fifo-depth = <8>;
255 status = "disabled";
256 };
257
258 ssi2: ssi@10011000 {
259 #sound-dai-cells = <0>;
260 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
261 reg = <0x10011000 0x1000>;
262 interrupts = <13>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400263 clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>;
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400264 dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
265 dma-names = "rx0", "tx0", "rx1", "tx1";
266 fsl,fifo-depth = <8>;
267 status = "disabled";
268 };
269
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100270 i2c1: i2c@10012000 {
271 #address-cells = <1>;
272 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800273 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100274 reg = <0x10012000 0x1000>;
275 interrupts = <12>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400276 clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100277 status = "disabled";
278 };
279
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400280 sdhci1: sdhci@10013000 {
281 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
282 reg = <0x10013000 0x1000>;
283 interrupts = <11>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400284 clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>,
285 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400286 clock-names = "ipg", "per";
287 dmas = <&dma 7>;
288 dma-names = "rx-tx";
289 status = "disabled";
290 };
291
292 sdhci2: sdhci@10014000 {
293 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
294 reg = <0x10014000 0x1000>;
295 interrupts = <10>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400296 clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>,
297 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400298 clock-names = "ipg", "per";
299 dmas = <&dma 6>;
300 dma-names = "rx-tx";
301 status = "disabled";
302 };
303
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100304 iomuxc: iomuxc@10015000 {
305 compatible = "fsl,imx27-iomuxc";
306 reg = <0x10015000 0x600>;
307 #address-cells = <1>;
308 #size-cells = <1>;
309 ranges;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100310
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100311 gpio1: gpio@10015000 {
312 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
313 reg = <0x10015000 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400314 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100315 interrupts = <8>;
316 gpio-controller;
317 #gpio-cells = <2>;
318 interrupt-controller;
319 #interrupt-cells = <2>;
320 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100321
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100322 gpio2: gpio@10015100 {
323 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
324 reg = <0x10015100 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400325 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100326 interrupts = <8>;
327 gpio-controller;
328 #gpio-cells = <2>;
329 interrupt-controller;
330 #interrupt-cells = <2>;
331 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100332
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100333 gpio3: gpio@10015200 {
334 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
335 reg = <0x10015200 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400336 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100337 interrupts = <8>;
338 gpio-controller;
339 #gpio-cells = <2>;
340 interrupt-controller;
341 #interrupt-cells = <2>;
342 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100343
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100344 gpio4: gpio@10015300 {
345 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
346 reg = <0x10015300 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400347 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100348 interrupts = <8>;
349 gpio-controller;
350 #gpio-cells = <2>;
351 interrupt-controller;
352 #interrupt-cells = <2>;
353 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100354
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100355 gpio5: gpio@10015400 {
356 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
357 reg = <0x10015400 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400358 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100359 interrupts = <8>;
360 gpio-controller;
361 #gpio-cells = <2>;
362 interrupt-controller;
363 #interrupt-cells = <2>;
364 };
365
366 gpio6: gpio@10015500 {
367 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
368 reg = <0x10015500 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400369 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100370 interrupts = <8>;
371 gpio-controller;
372 #gpio-cells = <2>;
373 interrupt-controller;
374 #interrupt-cells = <2>;
375 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100376 };
377
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400378 audmux: audmux@10016000 {
379 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
380 reg = <0x10016000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400381 clocks = <&clks IMX27_CLK_DUMMY>;
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400382 clock-names = "audmux";
Alexander Shiyan1c04ab02013-08-10 12:51:50 +0400383 status = "disabled";
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400384 };
385
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100386 cspi3: cspi@10017000 {
387 #address-cells = <1>;
388 #size-cells = <0>;
389 compatible = "fsl,imx27-cspi";
390 reg = <0x10017000 0x1000>;
391 interrupts = <6>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400392 clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>,
393 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200394 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100395 status = "disabled";
396 };
397
Sascha Hauerca26d042013-03-14 13:08:57 +0100398 gpt4: timer@10019000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300399 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100400 reg = <0x10019000 0x1000>;
401 interrupts = <4>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400402 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
403 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100404 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100405 };
406
407 gpt5: timer@1001a000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300408 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100409 reg = <0x1001a000 0x1000>;
410 interrupts = <3>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400411 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
412 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100413 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100414 };
415
Shawn Guo0c456cf2012-04-02 14:39:26 +0800416 uart5: serial@1001b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100417 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
418 reg = <0x1001b000 0x1000>;
419 interrupts = <49>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400420 clocks = <&clks IMX27_CLK_UART5_IPG_GATE>,
421 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200422 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100423 status = "disabled";
424 };
425
Shawn Guo0c456cf2012-04-02 14:39:26 +0800426 uart6: serial@1001c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100427 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
428 reg = <0x1001c000 0x1000>;
429 interrupts = <48>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400430 clocks = <&clks IMX27_CLK_UART6_IPG_GATE>,
431 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200432 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100433 status = "disabled";
434 };
435
436 i2c2: i2c@1001d000 {
437 #address-cells = <1>;
438 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800439 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100440 reg = <0x1001d000 0x1000>;
441 interrupts = <1>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400442 clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100443 status = "disabled";
444 };
445
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400446 sdhci3: sdhci@1001e000 {
447 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
448 reg = <0x1001e000 0x1000>;
449 interrupts = <9>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400450 clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>,
451 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400452 clock-names = "ipg", "per";
453 dmas = <&dma 36>;
454 dma-names = "rx-tx";
455 status = "disabled";
456 };
457
Sascha Hauerca26d042013-03-14 13:08:57 +0100458 gpt6: timer@1001f000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300459 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100460 reg = <0x1001f000 0x1000>;
461 interrupts = <2>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400462 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
463 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100464 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100465 };
Fabio Estevam3e24b052012-11-21 17:19:38 -0200466 };
467
468 aipi@10020000 { /* AIPI2 */
469 compatible = "fsl,aipi-bus", "simple-bus";
470 #address-cells = <1>;
471 #size-cells = <1>;
472 reg = <0x10020000 0x20000>;
473 ranges;
474
Markus Pargmann5e57b242013-06-28 16:50:34 +0200475 fb: fb@10021000 {
476 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
477 interrupts = <61>;
478 reg = <0x10021000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400479 clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>,
480 <&clks IMX27_CLK_LCDC_AHB_GATE>,
481 <&clks IMX27_CLK_PER3_GATE>;
Markus Pargmann5e57b242013-06-28 16:50:34 +0200482 clock-names = "ipg", "ahb", "per";
483 status = "disabled";
484 };
485
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400486 coda: coda@10023000 {
Fabio Estevam71946612014-11-27 10:18:19 -0200487 compatible = "fsl,imx27-vpu", "cnm,codadx6";
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400488 reg = <0x10023000 0x0200>;
489 interrupts = <53>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400490 clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>,
491 <&clks IMX27_CLK_VPU_AHB_GATE>;
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400492 clock-names = "per", "ahb";
493 iram = <&iram>;
494 };
495
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400496 usbotg: usb@10024000 {
497 compatible = "fsl,imx27-usb";
498 reg = <0x10024000 0x200>;
499 interrupts = <56>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800500 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
501 <&clks IMX27_CLK_USB_AHB_GATE>,
502 <&clks IMX27_CLK_USB_DIV>;
503 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400504 fsl,usbmisc = <&usbmisc 0>;
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400505 status = "disabled";
506 };
507
508 usbh1: usb@10024200 {
509 compatible = "fsl,imx27-usb";
510 reg = <0x10024200 0x200>;
511 interrupts = <54>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800512 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
513 <&clks IMX27_CLK_USB_AHB_GATE>,
514 <&clks IMX27_CLK_USB_DIV>;
515 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400516 fsl,usbmisc = <&usbmisc 1>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500517 dr_mode = "host";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400518 status = "disabled";
519 };
520
521 usbh2: usb@10024400 {
522 compatible = "fsl,imx27-usb";
523 reg = <0x10024400 0x200>;
524 interrupts = <55>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800525 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
526 <&clks IMX27_CLK_USB_AHB_GATE>,
527 <&clks IMX27_CLK_USB_DIV>;
528 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400529 fsl,usbmisc = <&usbmisc 2>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500530 dr_mode = "host";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400531 status = "disabled";
532 };
533
534 usbmisc: usbmisc@10024600 {
535 #index-cells = <1>;
536 compatible = "fsl,imx27-usbmisc";
537 reg = <0x10024600 0x200>;
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400538 };
539
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400540 sahara2: sahara@10025000 {
541 compatible = "fsl,imx27-sahara";
542 reg = <0x10025000 0x1000>;
543 interrupts = <59>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400544 clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>,
545 <&clks IMX27_CLK_SAHARA_AHB_GATE>;
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400546 clock-names = "ipg", "ahb";
547 };
548
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400549 clks: ccm@10027000{
550 compatible = "fsl,imx27-ccm";
551 reg = <0x10027000 0x1000>;
552 #clock-cells = <1>;
553 };
554
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400555 iim: iim@10028000 {
556 compatible = "fsl,imx27-iim";
557 reg = <0x10028000 0x1000>;
558 interrupts = <62>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400559 clocks = <&clks IMX27_CLK_IIM_IPG_GATE>;
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400560 };
561
Shawn Guo0c456cf2012-04-02 14:39:26 +0800562 fec: ethernet@1002b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100563 compatible = "fsl,imx27-fec";
Philippe Reynesa29ef812015-05-13 00:18:26 +0200564 reg = <0x1002b000 0x1000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100565 interrupts = <50>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400566 clocks = <&clks IMX27_CLK_FEC_IPG_GATE>,
567 <&clks IMX27_CLK_FEC_AHB_GATE>;
Alexander Shiyanc0b357c2013-07-20 11:17:55 +0400568 clock-names = "ipg", "ahb";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100569 status = "disabled";
570 };
571 };
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100572
573 nfc: nand@d8000000 {
Uwe Kleine-König37787362012-04-23 11:23:42 +0200574 #address-cells = <1>;
575 #size-cells = <1>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200576 compatible = "fsl,imx27-nand";
577 reg = <0xd8000000 0x1000>;
578 interrupts = <29>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400579 clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200580 status = "disabled";
581 };
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400582
Alexander Shiyan0912f592013-07-02 20:02:25 +0400583 weim: weim@d8002000 {
584 #address-cells = <2>;
585 #size-cells = <1>;
586 compatible = "fsl,imx27-weim";
587 reg = <0xd8002000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400588 clocks = <&clks IMX27_CLK_EMI_AHB_GATE>;
Alexander Shiyan0912f592013-07-02 20:02:25 +0400589 ranges = <
590 0 0 0xc0000000 0x08000000
591 1 0 0xc8000000 0x08000000
592 2 0 0xd0000000 0x02000000
593 3 0 0xd2000000 0x02000000
594 4 0 0xd4000000 0x02000000
595 5 0 0xd6000000 0x02000000
596 >;
597 status = "disabled";
598 };
599
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400600 iram: iram@ffff4c00 {
601 compatible = "mmio-sram";
602 reg = <0xffff4c00 0xb400>;
603 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100604 };
605};