blob: f818ea483aeb57ee804e34d07e4b8383fae2eb63 [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
Shawn Guo36dffd82013-04-07 10:49:34 +080012#include "skeleton.dtsi"
Markus Pargmann61664d02014-02-08 13:54:43 +080013#include "imx27-pinfunc.h"
Alexander Shiyanea336fa82014-07-05 09:36:07 +040014
15#include <dt-bindings/clock/imx27-clock.h>
16#include <dt-bindings/gpio/gpio.h>
Fabio Estevamf6bd3f32014-04-17 15:23:31 -030017#include <dt-bindings/input/input.h>
Alexander Shiyan6ece55b2013-11-30 10:18:04 +040018#include <dt-bindings/interrupt-controller/irq.h>
Sascha Hauer9f0749e2012-02-28 21:57:50 +010019
20/ {
21 aliases {
Marek Vasut22970072014-02-28 12:58:41 +010022 ethernet0 = &fec;
Shawn Guo5230f8f2012-08-05 14:01:28 +080023 gpio0 = &gpio1;
24 gpio1 = &gpio2;
25 gpio2 = &gpio3;
26 gpio3 = &gpio4;
27 gpio4 = &gpio5;
28 gpio5 = &gpio6;
Sascha Hauer6a3c0b32013-06-25 15:51:54 +020029 i2c0 = &i2c1;
30 i2c1 = &i2c2;
31 serial0 = &uart1;
32 serial1 = &uart2;
33 serial2 = &uart3;
34 serial3 = &uart4;
35 serial4 = &uart5;
36 serial5 = &uart6;
Alexander Shiyana5a641a2013-05-01 14:46:57 +040037 spi0 = &cspi1;
38 spi1 = &cspi2;
39 spi2 = &cspi3;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010040 };
41
Fabio Estevam6189bc32013-06-28 16:50:33 +020042 aitc: aitc-interrupt-controller@e0000000 {
43 compatible = "fsl,imx27-aitc", "fsl,avic";
Sascha Hauer9f0749e2012-02-28 21:57:50 +010044 interrupt-controller;
45 #interrupt-cells = <1>;
46 reg = <0x10040000 0x1000>;
47 };
48
49 clocks {
50 #address-cells = <1>;
51 #size-cells = <0>;
52
53 osc26m {
54 compatible = "fsl,imx-osc26m", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080055 #clock-cells = <0>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010056 clock-frequency = <26000000>;
57 };
58 };
59
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020060 cpus {
61 #size-cells = <0>;
62 #address-cells = <1>;
63
Alexander Shiyan48568be2013-07-20 11:17:56 +040064 cpu: cpu@0 {
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020065 device_type = "cpu";
66 compatible = "arm,arm926ej-s";
67 operating-points = <
Alexander Shiyan98a3e802013-07-13 08:34:44 +040068 /* kHz uV */
69 266000 1300000
70 399000 1450000
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020071 >;
Alexander Shiyan8defcb52013-07-20 11:17:57 +040072 clock-latency = <62500>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +040073 clocks = <&clks IMX27_CLK_CPU_DIV>;
Alexander Shiyan98a3e802013-07-13 08:34:44 +040074 voltage-tolerance = <5>;
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020075 };
76 };
77
Sascha Hauer9f0749e2012-02-28 21:57:50 +010078 soc {
79 #address-cells = <1>;
80 #size-cells = <1>;
81 compatible = "simple-bus";
Fabio Estevam6189bc32013-06-28 16:50:33 +020082 interrupt-parent = <&aitc>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010083 ranges;
84
85 aipi@10000000 { /* AIPI1 */
86 compatible = "fsl,aipi-bus", "simple-bus";
87 #address-cells = <1>;
88 #size-cells = <1>;
Fabio Estevam3e24b052012-11-21 17:19:38 -020089 reg = <0x10000000 0x20000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010090 ranges;
91
Alexander Shiyanb858c342013-06-08 18:39:36 +040092 dma: dma@10001000 {
93 compatible = "fsl,imx27-dma";
94 reg = <0x10001000 0x1000>;
95 interrupts = <32>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +040096 clocks = <&clks IMX27_CLK_DMA_IPG_GATE>,
97 <&clks IMX27_CLK_DMA_AHB_GATE>;
Alexander Shiyanb858c342013-06-08 18:39:36 +040098 clock-names = "ipg", "ahb";
99 #dma-cells = <1>;
100 #dma-channels = <16>;
101 };
102
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100103 wdog: wdog@10002000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100104 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100105 reg = <0x10002000 0x1000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100106 interrupts = <27>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400107 clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100108 };
109
Sascha Hauerca26d042013-03-14 13:08:57 +0100110 gpt1: timer@10003000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300111 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100112 reg = <0x10003000 0x1000>;
113 interrupts = <26>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400114 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
115 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100116 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100117 };
118
119 gpt2: timer@10004000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300120 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100121 reg = <0x10004000 0x1000>;
122 interrupts = <25>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400123 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
124 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100125 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100126 };
127
128 gpt3: timer@10005000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300129 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100130 reg = <0x10005000 0x1000>;
131 interrupts = <24>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400132 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
133 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100134 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100135 };
136
Alexander Shiyana392d042013-06-23 10:54:47 +0400137 pwm: pwm@10006000 {
Steffen Trumtrar443b6582013-10-17 15:03:16 +0200138 #pwm-cells = <2>;
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200139 compatible = "fsl,imx27-pwm";
140 reg = <0x10006000 0x1000>;
141 interrupts = <23>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400142 clocks = <&clks IMX27_CLK_PWM_IPG_GATE>,
143 <&clks IMX27_CLK_PER1_GATE>;
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200144 clock-names = "ipg", "per";
145 };
146
Philippe Reynes91eca8d2015-07-26 23:37:53 +0200147 rtc: rtc@10007000 {
148 compatible = "fsl,imx21-rtc";
149 reg = <0x10007000 0x1000>;
150 interrupts = <22>;
151 clocks = <&clks IMX27_CLK_CKIL>,
152 <&clks IMX27_CLK_RTC_IPG_GATE>;
153 clock-names = "ref", "ipg";
154 };
155
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400156 kpp: kpp@10008000 {
157 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
158 reg = <0x10008000 0x1000>;
159 interrupts = <21>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400160 clocks = <&clks IMX27_CLK_KPP_IPG_GATE>;
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400161 status = "disabled";
162 };
163
Markus Pargmann6a486b72013-07-01 17:21:22 +0800164 owire: owire@10009000 {
165 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
166 reg = <0x10009000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400167 clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>;
Markus Pargmann6a486b72013-07-01 17:21:22 +0800168 status = "disabled";
169 };
170
Shawn Guo0c456cf2012-04-02 14:39:26 +0800171 uart1: serial@1000a000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100172 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
173 reg = <0x1000a000 0x1000>;
174 interrupts = <20>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400175 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
176 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200177 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100178 status = "disabled";
179 };
180
Shawn Guo0c456cf2012-04-02 14:39:26 +0800181 uart2: serial@1000b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100182 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
183 reg = <0x1000b000 0x1000>;
184 interrupts = <19>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400185 clocks = <&clks IMX27_CLK_UART2_IPG_GATE>,
186 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200187 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100188 status = "disabled";
189 };
190
Shawn Guo0c456cf2012-04-02 14:39:26 +0800191 uart3: serial@1000c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100192 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
193 reg = <0x1000c000 0x1000>;
194 interrupts = <18>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400195 clocks = <&clks IMX27_CLK_UART3_IPG_GATE>,
196 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200197 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100198 status = "disabled";
199 };
200
Shawn Guo0c456cf2012-04-02 14:39:26 +0800201 uart4: serial@1000d000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100202 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
203 reg = <0x1000d000 0x1000>;
204 interrupts = <17>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400205 clocks = <&clks IMX27_CLK_UART4_IPG_GATE>,
206 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200207 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100208 status = "disabled";
209 };
210
211 cspi1: cspi@1000e000 {
212 #address-cells = <1>;
213 #size-cells = <0>;
214 compatible = "fsl,imx27-cspi";
215 reg = <0x1000e000 0x1000>;
216 interrupts = <16>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400217 clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>,
218 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200219 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100220 status = "disabled";
221 };
222
223 cspi2: cspi@1000f000 {
224 #address-cells = <1>;
225 #size-cells = <0>;
226 compatible = "fsl,imx27-cspi";
227 reg = <0x1000f000 0x1000>;
228 interrupts = <15>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400229 clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>,
230 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200231 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100232 status = "disabled";
233 };
234
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400235 ssi1: ssi@10010000 {
236 #sound-dai-cells = <0>;
237 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
238 reg = <0x10010000 0x1000>;
239 interrupts = <14>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400240 clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>;
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400241 dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
242 dma-names = "rx0", "tx0", "rx1", "tx1";
243 fsl,fifo-depth = <8>;
244 status = "disabled";
245 };
246
247 ssi2: ssi@10011000 {
248 #sound-dai-cells = <0>;
249 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
250 reg = <0x10011000 0x1000>;
251 interrupts = <13>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400252 clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>;
Alexander Shiyanba2d1ea2014-01-04 22:28:35 +0400253 dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
254 dma-names = "rx0", "tx0", "rx1", "tx1";
255 fsl,fifo-depth = <8>;
256 status = "disabled";
257 };
258
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100259 i2c1: i2c@10012000 {
260 #address-cells = <1>;
261 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800262 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100263 reg = <0x10012000 0x1000>;
264 interrupts = <12>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400265 clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100266 status = "disabled";
267 };
268
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400269 sdhci1: sdhci@10013000 {
270 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
271 reg = <0x10013000 0x1000>;
272 interrupts = <11>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400273 clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>,
274 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400275 clock-names = "ipg", "per";
276 dmas = <&dma 7>;
277 dma-names = "rx-tx";
278 status = "disabled";
279 };
280
281 sdhci2: sdhci@10014000 {
282 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
283 reg = <0x10014000 0x1000>;
284 interrupts = <10>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400285 clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>,
286 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400287 clock-names = "ipg", "per";
288 dmas = <&dma 6>;
289 dma-names = "rx-tx";
290 status = "disabled";
291 };
292
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100293 iomuxc: iomuxc@10015000 {
294 compatible = "fsl,imx27-iomuxc";
295 reg = <0x10015000 0x600>;
296 #address-cells = <1>;
297 #size-cells = <1>;
298 ranges;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100299
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100300 gpio1: gpio@10015000 {
301 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
302 reg = <0x10015000 0x100>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400303 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100304 interrupts = <8>;
305 gpio-controller;
306 #gpio-cells = <2>;
307 interrupt-controller;
308 #interrupt-cells = <2>;
309 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100310
Markus Pargmann733f6ca2013-11-20 09:45:48 +0100311 gpio2: gpio@10015100 {
312 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
313 reg = <0x10015100 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 gpio3: gpio@10015200 {
323 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
324 reg = <0x10015200 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 gpio4: gpio@10015300 {
334 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
335 reg = <0x10015300 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 gpio5: gpio@10015400 {
345 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
346 reg = <0x10015400 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 };
354
355 gpio6: gpio@10015500 {
356 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
357 reg = <0x10015500 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 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100365 };
366
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400367 audmux: audmux@10016000 {
368 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
369 reg = <0x10016000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400370 clocks = <&clks IMX27_CLK_DUMMY>;
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400371 clock-names = "audmux";
Alexander Shiyan1c04ab02013-08-10 12:51:50 +0400372 status = "disabled";
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400373 };
374
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100375 cspi3: cspi@10017000 {
376 #address-cells = <1>;
377 #size-cells = <0>;
378 compatible = "fsl,imx27-cspi";
379 reg = <0x10017000 0x1000>;
380 interrupts = <6>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400381 clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>,
382 <&clks IMX27_CLK_PER2_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200383 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100384 status = "disabled";
385 };
386
Sascha Hauerca26d042013-03-14 13:08:57 +0100387 gpt4: timer@10019000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300388 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100389 reg = <0x10019000 0x1000>;
390 interrupts = <4>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400391 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
392 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100393 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100394 };
395
396 gpt5: timer@1001a000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300397 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100398 reg = <0x1001a000 0x1000>;
399 interrupts = <3>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400400 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
401 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100402 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100403 };
404
Shawn Guo0c456cf2012-04-02 14:39:26 +0800405 uart5: serial@1001b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100406 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
407 reg = <0x1001b000 0x1000>;
408 interrupts = <49>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400409 clocks = <&clks IMX27_CLK_UART5_IPG_GATE>,
410 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200411 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100412 status = "disabled";
413 };
414
Shawn Guo0c456cf2012-04-02 14:39:26 +0800415 uart6: serial@1001c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100416 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
417 reg = <0x1001c000 0x1000>;
418 interrupts = <48>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400419 clocks = <&clks IMX27_CLK_UART6_IPG_GATE>,
420 <&clks IMX27_CLK_PER1_GATE>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200421 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100422 status = "disabled";
423 };
424
425 i2c2: i2c@1001d000 {
426 #address-cells = <1>;
427 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800428 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100429 reg = <0x1001d000 0x1000>;
430 interrupts = <1>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400431 clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100432 status = "disabled";
433 };
434
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400435 sdhci3: sdhci@1001e000 {
436 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
437 reg = <0x1001e000 0x1000>;
438 interrupts = <9>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400439 clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>,
440 <&clks IMX27_CLK_PER2_GATE>;
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400441 clock-names = "ipg", "per";
442 dmas = <&dma 36>;
443 dma-names = "rx-tx";
444 status = "disabled";
445 };
446
Sascha Hauerca26d042013-03-14 13:08:57 +0100447 gpt6: timer@1001f000 {
Fabio Estevamafde1312015-06-27 17:51:13 -0300448 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
Sascha Hauerca26d042013-03-14 13:08:57 +0100449 reg = <0x1001f000 0x1000>;
450 interrupts = <2>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400451 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
452 <&clks IMX27_CLK_PER1_GATE>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100453 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100454 };
Fabio Estevam3e24b052012-11-21 17:19:38 -0200455 };
456
457 aipi@10020000 { /* AIPI2 */
458 compatible = "fsl,aipi-bus", "simple-bus";
459 #address-cells = <1>;
460 #size-cells = <1>;
461 reg = <0x10020000 0x20000>;
462 ranges;
463
Markus Pargmann5e57b242013-06-28 16:50:34 +0200464 fb: fb@10021000 {
465 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
466 interrupts = <61>;
467 reg = <0x10021000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400468 clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>,
469 <&clks IMX27_CLK_LCDC_AHB_GATE>,
470 <&clks IMX27_CLK_PER3_GATE>;
Markus Pargmann5e57b242013-06-28 16:50:34 +0200471 clock-names = "ipg", "ahb", "per";
472 status = "disabled";
473 };
474
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400475 coda: coda@10023000 {
Fabio Estevam71946612014-11-27 10:18:19 -0200476 compatible = "fsl,imx27-vpu", "cnm,codadx6";
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400477 reg = <0x10023000 0x0200>;
478 interrupts = <53>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400479 clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>,
480 <&clks IMX27_CLK_VPU_AHB_GATE>;
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400481 clock-names = "per", "ahb";
482 iram = <&iram>;
483 };
484
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400485 usbotg: usb@10024000 {
486 compatible = "fsl,imx27-usb";
487 reg = <0x10024000 0x200>;
488 interrupts = <56>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800489 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
490 <&clks IMX27_CLK_USB_AHB_GATE>,
491 <&clks IMX27_CLK_USB_DIV>;
492 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400493 fsl,usbmisc = <&usbmisc 0>;
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400494 status = "disabled";
495 };
496
497 usbh1: usb@10024200 {
498 compatible = "fsl,imx27-usb";
499 reg = <0x10024200 0x200>;
500 interrupts = <54>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800501 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
502 <&clks IMX27_CLK_USB_AHB_GATE>,
503 <&clks IMX27_CLK_USB_DIV>;
504 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400505 fsl,usbmisc = <&usbmisc 1>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500506 dr_mode = "host";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400507 status = "disabled";
508 };
509
510 usbh2: usb@10024400 {
511 compatible = "fsl,imx27-usb";
512 reg = <0x10024400 0x200>;
513 interrupts = <55>;
Peter Chenfacf47e2015-09-16 09:35:06 +0800514 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
515 <&clks IMX27_CLK_USB_AHB_GATE>,
516 <&clks IMX27_CLK_USB_DIV>;
517 clock-names = "ipg", "ahb", "per";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400518 fsl,usbmisc = <&usbmisc 2>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500519 dr_mode = "host";
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400520 status = "disabled";
521 };
522
523 usbmisc: usbmisc@10024600 {
524 #index-cells = <1>;
525 compatible = "fsl,imx27-usbmisc";
526 reg = <0x10024600 0x200>;
Alexander Shiyana2e502c2014-02-22 13:32:33 +0400527 };
528
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400529 sahara2: sahara@10025000 {
530 compatible = "fsl,imx27-sahara";
531 reg = <0x10025000 0x1000>;
532 interrupts = <59>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400533 clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>,
534 <&clks IMX27_CLK_SAHARA_AHB_GATE>;
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400535 clock-names = "ipg", "ahb";
536 };
537
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400538 clks: ccm@10027000{
539 compatible = "fsl,imx27-ccm";
540 reg = <0x10027000 0x1000>;
541 #clock-cells = <1>;
542 };
543
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400544 iim: iim@10028000 {
545 compatible = "fsl,imx27-iim";
546 reg = <0x10028000 0x1000>;
547 interrupts = <62>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400548 clocks = <&clks IMX27_CLK_IIM_IPG_GATE>;
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400549 };
550
Shawn Guo0c456cf2012-04-02 14:39:26 +0800551 fec: ethernet@1002b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100552 compatible = "fsl,imx27-fec";
Philippe Reynesa29ef812015-05-13 00:18:26 +0200553 reg = <0x1002b000 0x1000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100554 interrupts = <50>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400555 clocks = <&clks IMX27_CLK_FEC_IPG_GATE>,
556 <&clks IMX27_CLK_FEC_AHB_GATE>;
Alexander Shiyanc0b357c2013-07-20 11:17:55 +0400557 clock-names = "ipg", "ahb";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100558 status = "disabled";
559 };
560 };
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100561
562 nfc: nand@d8000000 {
Uwe Kleine-König37787362012-04-23 11:23:42 +0200563 #address-cells = <1>;
564 #size-cells = <1>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200565 compatible = "fsl,imx27-nand";
566 reg = <0xd8000000 0x1000>;
567 interrupts = <29>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400568 clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200569 status = "disabled";
570 };
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400571
Alexander Shiyan0912f592013-07-02 20:02:25 +0400572 weim: weim@d8002000 {
573 #address-cells = <2>;
574 #size-cells = <1>;
575 compatible = "fsl,imx27-weim";
576 reg = <0xd8002000 0x1000>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +0400577 clocks = <&clks IMX27_CLK_EMI_AHB_GATE>;
Alexander Shiyan0912f592013-07-02 20:02:25 +0400578 ranges = <
579 0 0 0xc0000000 0x08000000
580 1 0 0xc8000000 0x08000000
581 2 0 0xd0000000 0x02000000
582 3 0 0xd2000000 0x02000000
583 4 0 0xd4000000 0x02000000
584 5 0 0xd6000000 0x02000000
585 >;
586 status = "disabled";
587 };
588
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400589 iram: iram@ffff4c00 {
590 compatible = "mmio-sram";
591 reg = <0xffff4c00 0xb400>;
592 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100593 };
594};