blob: 04815c66fef48b5a03b6b5af30cad6d1f373ba65 [file] [log] [blame]
Shawn Guo73d2b4c2011-10-17 08:42:16 +08001/*
2 * Copyright 2011 Freescale Semiconductor, Inc.
3 * Copyright 2011 Linaro Ltd.
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
Shawn Guo36dffd82013-04-07 10:49:34 +080013#include "skeleton.dtsi"
Shawn Guoe1641532013-02-20 10:32:52 +080014#include "imx53-pinfunc.h"
Lucas Stach564695d2013-11-14 11:18:58 +010015#include <dt-bindings/clock/imx5-clock.h>
Denis Carikli4e05a7a2014-01-06 17:16:07 +010016#include <dt-bindings/gpio/gpio.h>
17#include <dt-bindings/input/input.h>
Shawn Guo73d2b4c2011-10-17 08:42:16 +080018
19/ {
20 aliases {
Marek Vasut22970072014-02-28 12:58:41 +010021 ethernet0 = &fec;
Shawn Guo5230f8f2012-08-05 14:01:28 +080022 gpio0 = &gpio1;
23 gpio1 = &gpio2;
24 gpio2 = &gpio3;
25 gpio3 = &gpio4;
26 gpio4 = &gpio5;
27 gpio5 = &gpio6;
28 gpio6 = &gpio7;
Philipp Zabelc60dc1d2013-04-09 19:18:47 +020029 i2c0 = &i2c1;
30 i2c1 = &i2c2;
31 i2c2 = &i2c3;
Sascha Hauerc63d06d2014-01-16 13:44:18 +010032 mmc0 = &esdhc1;
33 mmc1 = &esdhc2;
34 mmc2 = &esdhc3;
35 mmc3 = &esdhc4;
Sascha Hauercf4e5772013-06-25 15:51:56 +020036 serial0 = &uart1;
37 serial1 = &uart2;
38 serial2 = &uart3;
39 serial3 = &uart4;
40 serial4 = &uart5;
41 spi0 = &ecspi1;
42 spi1 = &ecspi2;
43 spi2 = &cspi;
Shawn Guo73d2b4c2011-10-17 08:42:16 +080044 };
45
Fabio Estevam070bd7e2013-07-07 10:12:30 -030046 cpus {
47 #address-cells = <1>;
48 #size-cells = <0>;
49 cpu@0 {
50 device_type = "cpu";
51 compatible = "arm,cortex-a8";
52 reg = <0x0>;
53 };
54 };
55
Philipp Zabele05c8c92014-03-05 10:21:00 +010056 display-subsystem {
57 compatible = "fsl,imx-display-subsystem";
58 ports = <&ipu_di0>, <&ipu_di1>;
59 };
60
Shawn Guo73d2b4c2011-10-17 08:42:16 +080061 tzic: tz-interrupt-controller@0fffc000 {
62 compatible = "fsl,imx53-tzic", "fsl,tzic";
63 interrupt-controller;
64 #interrupt-cells = <1>;
65 reg = <0x0fffc000 0x4000>;
66 };
67
68 clocks {
69 #address-cells = <1>;
70 #size-cells = <0>;
71
72 ckil {
73 compatible = "fsl,imx-ckil", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080074 #clock-cells = <0>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +080075 clock-frequency = <32768>;
76 };
77
78 ckih1 {
79 compatible = "fsl,imx-ckih1", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080080 #clock-cells = <0>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +080081 clock-frequency = <22579200>;
82 };
83
84 ckih2 {
85 compatible = "fsl,imx-ckih2", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080086 #clock-cells = <0>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +080087 clock-frequency = <0>;
88 };
89
90 osc {
91 compatible = "fsl,imx-osc", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080092 #clock-cells = <0>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +080093 clock-frequency = <24000000>;
94 };
95 };
96
97 soc {
98 #address-cells = <1>;
99 #size-cells = <1>;
100 compatible = "simple-bus";
101 interrupt-parent = <&tzic>;
102 ranges;
103
Marek Vasut7affee42013-11-22 12:05:03 +0100104 sata: sata@10000000 {
105 compatible = "fsl,imx53-ahci";
106 reg = <0x10000000 0x1000>;
107 interrupts = <28>;
108 clocks = <&clks IMX5_CLK_SATA_GATE>,
109 <&clks IMX5_CLK_SATA_REF>,
110 <&clks IMX5_CLK_AHB>;
111 clock-names = "sata_gate", "sata_ref", "ahb";
112 status = "disabled";
113 };
114
Sascha Hauerabed9a62012-06-05 13:52:10 +0200115 ipu: ipu@18000000 {
Philipp Zabele05c8c92014-03-05 10:21:00 +0100116 #address-cells = <1>;
117 #size-cells = <0>;
Sascha Hauerabed9a62012-06-05 13:52:10 +0200118 compatible = "fsl,imx53-ipu";
119 reg = <0x18000000 0x080000000>;
120 interrupts = <11 10>;
Lucas Stach564695d2013-11-14 11:18:58 +0100121 clocks = <&clks IMX5_CLK_IPU_GATE>,
122 <&clks IMX5_CLK_IPU_DI0_GATE>,
123 <&clks IMX5_CLK_IPU_DI1_GATE>;
Philipp Zabel4438a6a2013-03-27 18:30:36 +0100124 clock-names = "bus", "di0", "di1";
Philipp Zabel8d84c372013-03-28 17:35:23 +0100125 resets = <&src 2>;
Philipp Zabele05c8c92014-03-05 10:21:00 +0100126
127 ipu_di0: port@2 {
128 #address-cells = <1>;
129 #size-cells = <0>;
130 reg = <2>;
131
132 ipu_di0_disp0: endpoint@0 {
133 reg = <0>;
134 };
135
136 ipu_di0_lvds0: endpoint@1 {
137 reg = <1>;
138 remote-endpoint = <&lvds0_in>;
139 };
140 };
141
142 ipu_di1: port@3 {
143 #address-cells = <1>;
144 #size-cells = <0>;
145 reg = <3>;
146
147 ipu_di1_disp1: endpoint@0 {
148 reg = <0>;
149 };
150
151 ipu_di1_lvds1: endpoint@1 {
152 reg = <1>;
153 remote-endpoint = <&lvds1_in>;
154 };
155
156 ipu_di1_tve: endpoint@2 {
157 reg = <2>;
158 remote-endpoint = <&tve_in>;
159 };
160 };
Sascha Hauerabed9a62012-06-05 13:52:10 +0200161 };
162
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800163 aips@50000000 { /* AIPS1 */
164 compatible = "fsl,aips-bus", "simple-bus";
165 #address-cells = <1>;
166 #size-cells = <1>;
167 reg = <0x50000000 0x10000000>;
168 ranges;
169
170 spba@50000000 {
171 compatible = "fsl,spba-bus", "simple-bus";
172 #address-cells = <1>;
173 #size-cells = <1>;
174 reg = <0x50000000 0x40000>;
175 ranges;
176
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100177 esdhc1: esdhc@50004000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800178 compatible = "fsl,imx53-esdhc";
179 reg = <0x50004000 0x4000>;
180 interrupts = <1>;
Lucas Stach564695d2013-11-14 11:18:58 +0100181 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
182 <&clks IMX5_CLK_DUMMY>,
183 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200184 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200185 bus-width = <4>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800186 status = "disabled";
187 };
188
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100189 esdhc2: esdhc@50008000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800190 compatible = "fsl,imx53-esdhc";
191 reg = <0x50008000 0x4000>;
192 interrupts = <2>;
Lucas Stach564695d2013-11-14 11:18:58 +0100193 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
194 <&clks IMX5_CLK_DUMMY>,
195 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200196 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200197 bus-width = <4>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800198 status = "disabled";
199 };
200
Shawn Guo0c456cf2012-04-02 14:39:26 +0800201 uart3: serial@5000c000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800202 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
203 reg = <0x5000c000 0x4000>;
204 interrupts = <33>;
Lucas Stach564695d2013-11-14 11:18:58 +0100205 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
206 <&clks IMX5_CLK_UART3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200207 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800208 status = "disabled";
209 };
210
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100211 ecspi1: ecspi@50010000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800212 #address-cells = <1>;
213 #size-cells = <0>;
214 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
215 reg = <0x50010000 0x4000>;
216 interrupts = <36>;
Lucas Stach564695d2013-11-14 11:18:58 +0100217 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
218 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200219 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800220 status = "disabled";
221 };
222
Shawn Guoffc505c2012-05-11 13:12:01 +0800223 ssi2: ssi@50014000 {
Markus Pargmann28f93d02014-01-17 10:07:42 +0100224 compatible = "fsl,imx53-ssi",
225 "fsl,imx51-ssi",
226 "fsl,imx21-ssi";
Shawn Guoffc505c2012-05-11 13:12:01 +0800227 reg = <0x50014000 0x4000>;
228 interrupts = <30>;
Lucas Stach564695d2013-11-14 11:18:58 +0100229 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>;
Shawn Guo5da826a2013-07-17 13:50:54 +0800230 dmas = <&sdma 24 1 0>,
231 <&sdma 25 1 0>;
232 dma-names = "rx", "tx";
Shawn Guoffc505c2012-05-11 13:12:01 +0800233 fsl,fifo-depth = <15>;
234 fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */
235 status = "disabled";
236 };
237
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100238 esdhc3: esdhc@50020000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800239 compatible = "fsl,imx53-esdhc";
240 reg = <0x50020000 0x4000>;
241 interrupts = <3>;
Lucas Stach564695d2013-11-14 11:18:58 +0100242 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
243 <&clks IMX5_CLK_DUMMY>,
244 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200245 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200246 bus-width = <4>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800247 status = "disabled";
248 };
249
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100250 esdhc4: esdhc@50024000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800251 compatible = "fsl,imx53-esdhc";
252 reg = <0x50024000 0x4000>;
253 interrupts = <4>;
Lucas Stach564695d2013-11-14 11:18:58 +0100254 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
255 <&clks IMX5_CLK_DUMMY>,
256 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200257 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200258 bus-width = <4>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800259 status = "disabled";
260 };
261 };
262
Michael Grzeschika79025c2013-04-11 12:13:16 +0200263 usbphy0: usbphy@0 {
264 compatible = "usb-nop-xceiv";
Lucas Stach564695d2013-11-14 11:18:58 +0100265 clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200266 clock-names = "main_clk";
267 status = "okay";
268 };
269
270 usbphy1: usbphy@1 {
271 compatible = "usb-nop-xceiv";
Lucas Stach564695d2013-11-14 11:18:58 +0100272 clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200273 clock-names = "main_clk";
274 status = "okay";
275 };
276
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100277 usbotg: usb@53f80000 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200278 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
279 reg = <0x53f80000 0x0200>;
280 interrupts = <18>;
Lucas Stach564695d2013-11-14 11:18:58 +0100281 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200282 fsl,usbmisc = <&usbmisc 0>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200283 fsl,usbphy = <&usbphy0>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200284 status = "disabled";
285 };
286
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100287 usbh1: usb@53f80200 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200288 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
289 reg = <0x53f80200 0x0200>;
290 interrupts = <14>;
Lucas Stach564695d2013-11-14 11:18:58 +0100291 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200292 fsl,usbmisc = <&usbmisc 1>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200293 fsl,usbphy = <&usbphy1>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200294 status = "disabled";
295 };
296
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100297 usbh2: usb@53f80400 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200298 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
299 reg = <0x53f80400 0x0200>;
300 interrupts = <16>;
Lucas Stach564695d2013-11-14 11:18:58 +0100301 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200302 fsl,usbmisc = <&usbmisc 2>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200303 status = "disabled";
304 };
305
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100306 usbh3: usb@53f80600 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200307 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
308 reg = <0x53f80600 0x0200>;
309 interrupts = <17>;
Lucas Stach564695d2013-11-14 11:18:58 +0100310 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200311 fsl,usbmisc = <&usbmisc 3>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200312 status = "disabled";
313 };
314
Michael Grzeschika5735022013-04-11 12:13:14 +0200315 usbmisc: usbmisc@53f80800 {
316 #index-cells = <1>;
317 compatible = "fsl,imx53-usbmisc";
318 reg = <0x53f80800 0x200>;
Lucas Stach564695d2013-11-14 11:18:58 +0100319 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200320 };
321
Richard Zhao4d191862011-12-14 09:26:44 +0800322 gpio1: gpio@53f84000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200323 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800324 reg = <0x53f84000 0x4000>;
325 interrupts = <50 51>;
326 gpio-controller;
327 #gpio-cells = <2>;
328 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800329 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800330 };
331
Richard Zhao4d191862011-12-14 09:26:44 +0800332 gpio2: gpio@53f88000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200333 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800334 reg = <0x53f88000 0x4000>;
335 interrupts = <52 53>;
336 gpio-controller;
337 #gpio-cells = <2>;
338 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800339 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800340 };
341
Richard Zhao4d191862011-12-14 09:26:44 +0800342 gpio3: gpio@53f8c000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200343 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800344 reg = <0x53f8c000 0x4000>;
345 interrupts = <54 55>;
346 gpio-controller;
347 #gpio-cells = <2>;
348 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800349 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800350 };
351
Richard Zhao4d191862011-12-14 09:26:44 +0800352 gpio4: gpio@53f90000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200353 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800354 reg = <0x53f90000 0x4000>;
355 interrupts = <56 57>;
356 gpio-controller;
357 #gpio-cells = <2>;
358 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800359 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800360 };
361
Rostislav Lisovy675e4d02013-10-22 19:07:21 +0200362 kpp: kpp@53f94000 {
363 compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
364 reg = <0x53f94000 0x4000>;
365 interrupts = <60>;
Lucas Stach564695d2013-11-14 11:18:58 +0100366 clocks = <&clks IMX5_CLK_DUMMY>;
Rostislav Lisovy675e4d02013-10-22 19:07:21 +0200367 status = "disabled";
368 };
369
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100370 wdog1: wdog@53f98000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800371 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
372 reg = <0x53f98000 0x4000>;
373 interrupts = <58>;
Lucas Stach564695d2013-11-14 11:18:58 +0100374 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800375 };
376
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100377 wdog2: wdog@53f9c000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800378 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
379 reg = <0x53f9c000 0x4000>;
380 interrupts = <59>;
Lucas Stach564695d2013-11-14 11:18:58 +0100381 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800382 status = "disabled";
383 };
384
Sascha Hauercc8aae92013-03-14 13:09:00 +0100385 gpt: timer@53fa0000 {
386 compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
387 reg = <0x53fa0000 0x4000>;
388 interrupts = <39>;
Lucas Stach564695d2013-11-14 11:18:58 +0100389 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
390 <&clks IMX5_CLK_GPT_HF_GATE>;
Sascha Hauercc8aae92013-03-14 13:09:00 +0100391 clock-names = "ipg", "per";
392 };
393
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100394 iomuxc: iomuxc@53fa8000 {
Shawn Guo5be03a72012-08-12 20:02:10 +0800395 compatible = "fsl,imx53-iomuxc";
396 reg = <0x53fa8000 0x4000>;
Shawn Guo5be03a72012-08-12 20:02:10 +0800397 };
398
Philipp Zabel5af9f142013-03-27 18:30:43 +0100399 gpr: iomuxc-gpr@53fa8000 {
400 compatible = "fsl,imx53-iomuxc-gpr", "syscon";
401 reg = <0x53fa8000 0xc>;
402 };
403
Philipp Zabel420714a2013-03-27 18:30:44 +0100404 ldb: ldb@53fa8008 {
405 #address-cells = <1>;
406 #size-cells = <0>;
407 compatible = "fsl,imx53-ldb";
408 reg = <0x53fa8008 0x4>;
409 gpr = <&gpr>;
Lucas Stach564695d2013-11-14 11:18:58 +0100410 clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
411 <&clks IMX5_CLK_LDB_DI1_SEL>,
412 <&clks IMX5_CLK_IPU_DI0_SEL>,
413 <&clks IMX5_CLK_IPU_DI1_SEL>,
414 <&clks IMX5_CLK_LDB_DI0_GATE>,
415 <&clks IMX5_CLK_LDB_DI1_GATE>;
Philipp Zabel420714a2013-03-27 18:30:44 +0100416 clock-names = "di0_pll", "di1_pll",
417 "di0_sel", "di1_sel",
418 "di0", "di1";
419 status = "disabled";
420
421 lvds-channel@0 {
422 reg = <0>;
Philipp Zabel420714a2013-03-27 18:30:44 +0100423 status = "disabled";
Philipp Zabele05c8c92014-03-05 10:21:00 +0100424
425 port {
426 lvds0_in: endpoint {
427 remote-endpoint = <&ipu_di0_lvds0>;
428 };
429 };
Philipp Zabel420714a2013-03-27 18:30:44 +0100430 };
431
432 lvds-channel@1 {
433 reg = <1>;
Philipp Zabel420714a2013-03-27 18:30:44 +0100434 status = "disabled";
Philipp Zabele05c8c92014-03-05 10:21:00 +0100435
436 port {
437 lvds1_in: endpoint {
Lothar Waßmannfa1746a2014-04-10 10:03:40 +0200438 remote-endpoint = <&ipu_di1_lvds1>;
Philipp Zabele05c8c92014-03-05 10:21:00 +0100439 };
440 };
Philipp Zabel420714a2013-03-27 18:30:44 +0100441 };
442 };
443
Sascha Hauer9ae90af2012-07-04 12:30:37 +0200444 pwm1: pwm@53fb4000 {
445 #pwm-cells = <2>;
446 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
447 reg = <0x53fb4000 0x4000>;
Lucas Stach564695d2013-11-14 11:18:58 +0100448 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
449 <&clks IMX5_CLK_PWM1_HF_GATE>;
Sascha Hauer9ae90af2012-07-04 12:30:37 +0200450 clock-names = "ipg", "per";
451 interrupts = <61>;
452 };
453
454 pwm2: pwm@53fb8000 {
455 #pwm-cells = <2>;
456 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
457 reg = <0x53fb8000 0x4000>;
Lucas Stach564695d2013-11-14 11:18:58 +0100458 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
459 <&clks IMX5_CLK_PWM2_HF_GATE>;
Sascha Hauer9ae90af2012-07-04 12:30:37 +0200460 clock-names = "ipg", "per";
461 interrupts = <94>;
462 };
463
Shawn Guo0c456cf2012-04-02 14:39:26 +0800464 uart1: serial@53fbc000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800465 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
466 reg = <0x53fbc000 0x4000>;
467 interrupts = <31>;
Lucas Stach564695d2013-11-14 11:18:58 +0100468 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
469 <&clks IMX5_CLK_UART1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200470 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800471 status = "disabled";
472 };
473
Shawn Guo0c456cf2012-04-02 14:39:26 +0800474 uart2: serial@53fc0000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800475 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
476 reg = <0x53fc0000 0x4000>;
477 interrupts = <32>;
Lucas Stach564695d2013-11-14 11:18:58 +0100478 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
479 <&clks IMX5_CLK_UART2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200480 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800481 status = "disabled";
482 };
483
Steffen Trumtrara9d1f922012-07-18 11:42:43 +0200484 can1: can@53fc8000 {
485 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
486 reg = <0x53fc8000 0x4000>;
487 interrupts = <82>;
Lucas Stach564695d2013-11-14 11:18:58 +0100488 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
489 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200490 clock-names = "ipg", "per";
Steffen Trumtrara9d1f922012-07-18 11:42:43 +0200491 status = "disabled";
492 };
493
494 can2: can@53fcc000 {
495 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
496 reg = <0x53fcc000 0x4000>;
497 interrupts = <83>;
Lucas Stach564695d2013-11-14 11:18:58 +0100498 clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
499 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200500 clock-names = "ipg", "per";
Steffen Trumtrara9d1f922012-07-18 11:42:43 +0200501 status = "disabled";
502 };
503
Philipp Zabel8d84c372013-03-28 17:35:23 +0100504 src: src@53fd0000 {
505 compatible = "fsl,imx53-src", "fsl,imx51-src";
506 reg = <0x53fd0000 0x4000>;
507 #reset-cells = <1>;
508 };
509
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200510 clks: ccm@53fd4000{
511 compatible = "fsl,imx53-ccm";
512 reg = <0x53fd4000 0x4000>;
513 interrupts = <0 71 0x04 0 72 0x04>;
514 #clock-cells = <1>;
515 };
516
Richard Zhao4d191862011-12-14 09:26:44 +0800517 gpio5: gpio@53fdc000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200518 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800519 reg = <0x53fdc000 0x4000>;
520 interrupts = <103 104>;
521 gpio-controller;
522 #gpio-cells = <2>;
523 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800524 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800525 };
526
Richard Zhao4d191862011-12-14 09:26:44 +0800527 gpio6: gpio@53fe0000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200528 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800529 reg = <0x53fe0000 0x4000>;
530 interrupts = <105 106>;
531 gpio-controller;
532 #gpio-cells = <2>;
533 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800534 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800535 };
536
Richard Zhao4d191862011-12-14 09:26:44 +0800537 gpio7: gpio@53fe4000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200538 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800539 reg = <0x53fe4000 0x4000>;
540 interrupts = <107 108>;
541 gpio-controller;
542 #gpio-cells = <2>;
543 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800544 #interrupt-cells = <2>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800545 };
546
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100547 i2c3: i2c@53fec000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800548 #address-cells = <1>;
549 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800550 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800551 reg = <0x53fec000 0x4000>;
552 interrupts = <64>;
Lucas Stach564695d2013-11-14 11:18:58 +0100553 clocks = <&clks IMX5_CLK_I2C3_GATE>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800554 status = "disabled";
555 };
556
Shawn Guo0c456cf2012-04-02 14:39:26 +0800557 uart4: serial@53ff0000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800558 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
559 reg = <0x53ff0000 0x4000>;
560 interrupts = <13>;
Lucas Stach564695d2013-11-14 11:18:58 +0100561 clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
562 <&clks IMX5_CLK_UART4_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200563 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800564 status = "disabled";
565 };
566 };
567
568 aips@60000000 { /* AIPS2 */
569 compatible = "fsl,aips-bus", "simple-bus";
570 #address-cells = <1>;
571 #size-cells = <1>;
572 reg = <0x60000000 0x10000000>;
573 ranges;
574
Sascha Hauer4f3b2a42013-06-25 15:51:52 +0200575 iim: iim@63f98000 {
576 compatible = "fsl,imx53-iim", "fsl,imx27-iim";
577 reg = <0x63f98000 0x4000>;
578 interrupts = <69>;
Lucas Stach564695d2013-11-14 11:18:58 +0100579 clocks = <&clks IMX5_CLK_IIM_GATE>;
Sascha Hauer4f3b2a42013-06-25 15:51:52 +0200580 };
581
Shawn Guo0c456cf2012-04-02 14:39:26 +0800582 uart5: serial@63f90000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800583 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
584 reg = <0x63f90000 0x4000>;
585 interrupts = <86>;
Lucas Stach564695d2013-11-14 11:18:58 +0100586 clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
587 <&clks IMX5_CLK_UART5_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200588 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800589 status = "disabled";
590 };
591
Martin Fuzzeya82b7b92013-01-29 16:46:19 +0100592 owire: owire@63fa4000 {
593 compatible = "fsl,imx53-owire", "fsl,imx21-owire";
594 reg = <0x63fa4000 0x4000>;
Lucas Stach564695d2013-11-14 11:18:58 +0100595 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
Martin Fuzzeya82b7b92013-01-29 16:46:19 +0100596 status = "disabled";
597 };
598
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100599 ecspi2: ecspi@63fac000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800600 #address-cells = <1>;
601 #size-cells = <0>;
602 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
603 reg = <0x63fac000 0x4000>;
604 interrupts = <37>;
Lucas Stach564695d2013-11-14 11:18:58 +0100605 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
606 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200607 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800608 status = "disabled";
609 };
610
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100611 sdma: sdma@63fb0000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800612 compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
613 reg = <0x63fb0000 0x4000>;
614 interrupts = <6>;
Lucas Stach564695d2013-11-14 11:18:58 +0100615 clocks = <&clks IMX5_CLK_SDMA_GATE>,
616 <&clks IMX5_CLK_SDMA_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200617 clock-names = "ipg", "ahb";
Huang Shijiefb72bb22013-07-02 10:15:29 +0800618 #dma-cells = <3>;
Fabio Estevam7e4f0362012-08-08 11:28:07 -0300619 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800620 };
621
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100622 cspi: cspi@63fc0000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800623 #address-cells = <1>;
624 #size-cells = <0>;
625 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
626 reg = <0x63fc0000 0x4000>;
627 interrupts = <38>;
Lucas Stach564695d2013-11-14 11:18:58 +0100628 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
629 <&clks IMX5_CLK_CSPI_IPG_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200630 clock-names = "ipg", "per";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800631 status = "disabled";
632 };
633
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100634 i2c2: i2c@63fc4000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800635 #address-cells = <1>;
636 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800637 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800638 reg = <0x63fc4000 0x4000>;
639 interrupts = <63>;
Lucas Stach564695d2013-11-14 11:18:58 +0100640 clocks = <&clks IMX5_CLK_I2C2_GATE>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800641 status = "disabled";
642 };
643
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100644 i2c1: i2c@63fc8000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800645 #address-cells = <1>;
646 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800647 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800648 reg = <0x63fc8000 0x4000>;
649 interrupts = <62>;
Lucas Stach564695d2013-11-14 11:18:58 +0100650 clocks = <&clks IMX5_CLK_I2C1_GATE>;
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800651 status = "disabled";
652 };
653
Shawn Guoffc505c2012-05-11 13:12:01 +0800654 ssi1: ssi@63fcc000 {
Markus Pargmann28f93d02014-01-17 10:07:42 +0100655 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
656 "fsl,imx21-ssi";
Shawn Guoffc505c2012-05-11 13:12:01 +0800657 reg = <0x63fcc000 0x4000>;
658 interrupts = <29>;
Lucas Stach564695d2013-11-14 11:18:58 +0100659 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>;
Shawn Guo5da826a2013-07-17 13:50:54 +0800660 dmas = <&sdma 28 0 0>,
661 <&sdma 29 0 0>;
662 dma-names = "rx", "tx";
Shawn Guoffc505c2012-05-11 13:12:01 +0800663 fsl,fifo-depth = <15>;
664 fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */
665 status = "disabled";
666 };
667
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100668 audmux: audmux@63fd0000 {
Shawn Guoffc505c2012-05-11 13:12:01 +0800669 compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
670 reg = <0x63fd0000 0x4000>;
671 status = "disabled";
672 };
673
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100674 nfc: nand@63fdb000 {
Sascha Hauer75453a02012-06-06 12:33:16 +0200675 compatible = "fsl,imx53-nand";
676 reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
677 interrupts = <8>;
Lucas Stach564695d2013-11-14 11:18:58 +0100678 clocks = <&clks IMX5_CLK_NFC_GATE>;
Sascha Hauer75453a02012-06-06 12:33:16 +0200679 status = "disabled";
680 };
681
Shawn Guoffc505c2012-05-11 13:12:01 +0800682 ssi3: ssi@63fe8000 {
Markus Pargmann28f93d02014-01-17 10:07:42 +0100683 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
684 "fsl,imx21-ssi";
Shawn Guoffc505c2012-05-11 13:12:01 +0800685 reg = <0x63fe8000 0x4000>;
686 interrupts = <96>;
Lucas Stach564695d2013-11-14 11:18:58 +0100687 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>;
Shawn Guo5da826a2013-07-17 13:50:54 +0800688 dmas = <&sdma 46 0 0>,
689 <&sdma 47 0 0>;
690 dma-names = "rx", "tx";
Shawn Guoffc505c2012-05-11 13:12:01 +0800691 fsl,fifo-depth = <15>;
692 fsl,ssi-dma-events = <47 46 45 44>; /* TX0 RX0 TX1 RX1 */
693 status = "disabled";
694 };
695
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100696 fec: ethernet@63fec000 {
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800697 compatible = "fsl,imx53-fec", "fsl,imx25-fec";
698 reg = <0x63fec000 0x4000>;
699 interrupts = <87>;
Lucas Stach564695d2013-11-14 11:18:58 +0100700 clocks = <&clks IMX5_CLK_FEC_GATE>,
701 <&clks IMX5_CLK_FEC_GATE>,
702 <&clks IMX5_CLK_FEC_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200703 clock-names = "ipg", "ahb", "ptp";
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800704 status = "disabled";
705 };
Philipp Zabel19194c22013-06-04 12:12:22 +0200706
707 tve: tve@63ff0000 {
708 compatible = "fsl,imx53-tve";
709 reg = <0x63ff0000 0x1000>;
710 interrupts = <92>;
Lucas Stach564695d2013-11-14 11:18:58 +0100711 clocks = <&clks IMX5_CLK_TVE_GATE>,
712 <&clks IMX5_CLK_IPU_DI1_SEL>;
Philipp Zabel19194c22013-06-04 12:12:22 +0200713 clock-names = "tve", "di_sel";
Philipp Zabel19194c22013-06-04 12:12:22 +0200714 status = "disabled";
Philipp Zabele05c8c92014-03-05 10:21:00 +0100715
716 port {
717 tve_in: endpoint {
718 remote-endpoint = <&ipu_di1_tve>;
719 };
720 };
Philipp Zabel19194c22013-06-04 12:12:22 +0200721 };
Fabio Estevamfbf970f2013-06-28 19:49:18 -0300722
723 vpu: vpu@63ff4000 {
724 compatible = "fsl,imx53-vpu";
725 reg = <0x63ff4000 0x1000>;
726 interrupts = <9>;
Lucas Stach564695d2013-11-14 11:18:58 +0100727 clocks = <&clks IMX5_CLK_VPU_GATE>,
728 <&clks IMX5_CLK_VPU_GATE>;
Fabio Estevamfbf970f2013-06-28 19:49:18 -0300729 clock-names = "per", "ahb";
730 iram = <&ocram>;
731 status = "disabled";
732 };
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800733 };
Philipp Zabel481fbe12013-07-01 11:06:09 +0200734
735 ocram: sram@f8000000 {
736 compatible = "mmio-sram";
737 reg = <0xf8000000 0x20000>;
Lucas Stach564695d2013-11-14 11:18:58 +0100738 clocks = <&clks IMX5_CLK_OCRAM>;
Philipp Zabel481fbe12013-07-01 11:06:09 +0200739 };
Shawn Guo73d2b4c2011-10-17 08:42:16 +0800740 };
741};