blob: 1ee1d542d9ad088c0bb94a55d66829d6ac1d92b9 [file] [log] [blame]
Shawn Guo9daaf312011-10-17 08:42:17 +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 Guoe1641532013-02-20 10:32:52 +080013#include "imx51-pinfunc.h"
Lucas Stachff65d4c2013-11-14 11:18:59 +010014#include <dt-bindings/clock/imx5-clock.h>
Alexander Shiyanbdb3eec2013-11-19 15:47:27 +040015#include <dt-bindings/gpio/gpio.h>
Alexander Shiyan72d86d22014-01-11 10:54:19 +040016#include <dt-bindings/input/input.h>
17#include <dt-bindings/interrupt-controller/irq.h>
Shawn Guo9daaf312011-10-17 08:42:17 +080018
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
Shawn Guo9daaf312011-10-17 08:42:17 +080031 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;
Sascha Hauere3b73c62013-06-25 15:51:55 +020037 i2c0 = &i2c1;
38 i2c1 = &i2c2;
Sascha Hauerf742c222014-01-16 13:44:21 +010039 mmc0 = &esdhc1;
40 mmc1 = &esdhc2;
41 mmc2 = &esdhc3;
42 mmc3 = &esdhc4;
Sascha Hauere3b73c62013-06-25 15:51:55 +020043 serial0 = &uart1;
44 serial1 = &uart2;
45 serial2 = &uart3;
46 spi0 = &ecspi1;
47 spi1 = &ecspi2;
48 spi2 = &cspi;
Shawn Guo9daaf312011-10-17 08:42:17 +080049 };
50
51 tzic: tz-interrupt-controller@e0000000 {
52 compatible = "fsl,imx51-tzic", "fsl,tzic";
53 interrupt-controller;
54 #interrupt-cells = <1>;
55 reg = <0xe0000000 0x4000>;
56 };
57
58 clocks {
59 #address-cells = <1>;
60 #size-cells = <0>;
61
62 ckil {
63 compatible = "fsl,imx-ckil", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080064 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080065 clock-frequency = <32768>;
66 };
67
68 ckih1 {
69 compatible = "fsl,imx-ckih1", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080070 #clock-cells = <0>;
Alexander Shiyan677e28b2013-07-27 11:19:45 +040071 clock-frequency = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080072 };
73
74 ckih2 {
75 compatible = "fsl,imx-ckih2", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080076 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080077 clock-frequency = <0>;
78 };
79
80 osc {
81 compatible = "fsl,imx-osc", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080082 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080083 clock-frequency = <24000000>;
84 };
85 };
86
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020087 cpus {
88 #address-cells = <1>;
89 #size-cells = <0>;
Alexander Shiyan6acde882013-11-07 12:45:05 +040090 cpu: cpu@0 {
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020091 device_type = "cpu";
92 compatible = "arm,cortex-a8";
93 reg = <0>;
Alexander Shiyan6acde882013-11-07 12:45:05 +040094 clock-latency = <62500>;
Lucas Stachff65d4c2013-11-14 11:18:59 +010095 clocks = <&clks IMX5_CLK_CPU_PODF>;
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020096 clock-names = "cpu";
97 operating-points = <
Alexander Shiyan6acde882013-11-07 12:45:05 +040098 166000 1000000
99 600000 1050000
100 800000 1100000
Markus Pargmann6f9d62d2013-04-07 21:56:45 +0200101 >;
Alexander Shiyan6acde882013-11-07 12:45:05 +0400102 voltage-tolerance = <5>;
Markus Pargmann6f9d62d2013-04-07 21:56:45 +0200103 };
104 };
105
Alexander Shiyan4e942302013-11-19 15:47:26 +0400106 usbphy {
107 #address-cells = <1>;
108 #size-cells = <0>;
109 compatible = "simple-bus";
110
111 usbphy0: usbphy@0 {
112 compatible = "usb-nop-xceiv";
113 reg = <0>;
114 clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
115 clock-names = "main_clk";
Sascha Hauerb5af6b12012-11-12 12:56:00 +0100116 };
117 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800118
Philipp Zabelde10e042014-03-05 10:20:59 +0100119 display-subsystem {
120 compatible = "fsl,imx-display-subsystem";
121 ports = <&ipu_di0>, <&ipu_di1>;
122 };
123
Shawn Guo9daaf312011-10-17 08:42:17 +0800124 soc {
125 #address-cells = <1>;
126 #size-cells = <1>;
127 compatible = "simple-bus";
128 interrupt-parent = <&tzic>;
129 ranges;
130
Alexander Shiyanda38ea32013-08-21 11:28:24 +0400131 iram: iram@1ffe0000 {
132 compatible = "mmio-sram";
133 reg = <0x1ffe0000 0x20000>;
134 };
135
Shawn Guo9daaf312011-10-17 08:42:17 +0800136 ipu: ipu@40000000 {
Philipp Zabelde10e042014-03-05 10:20:59 +0100137 #address-cells = <1>;
138 #size-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800139 compatible = "fsl,imx51-ipu";
140 reg = <0x40000000 0x20000000>;
141 interrupts = <11 10>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100142 clocks = <&clks IMX5_CLK_IPU_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530143 <&clks IMX5_CLK_IPU_DI0_GATE>,
144 <&clks IMX5_CLK_IPU_DI1_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800145 clock-names = "bus", "di0", "di1";
146 resets = <&src 2>;
Philipp Zabelde10e042014-03-05 10:20:59 +0100147
148 ipu_di0: port@2 {
149 reg = <2>;
150
151 ipu_di0_disp0: endpoint {
152 };
153 };
154
155 ipu_di1: port@3 {
156 reg = <3>;
157
158 ipu_di1_disp1: endpoint {
159 };
160 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800161 };
162
163 aips@70000000 { /* AIPS1 */
164 compatible = "fsl,aips-bus", "simple-bus";
165 #address-cells = <1>;
166 #size-cells = <1>;
167 reg = <0x70000000 0x10000000>;
168 ranges;
169
170 spba@70000000 {
171 compatible = "fsl,spba-bus", "simple-bus";
172 #address-cells = <1>;
173 #size-cells = <1>;
174 reg = <0x70000000 0x40000>;
175 ranges;
176
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100177 esdhc1: esdhc@70004000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800178 compatible = "fsl,imx51-esdhc";
179 reg = <0x70004000 0x4000>;
180 interrupts = <1>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100181 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530182 <&clks IMX5_CLK_DUMMY>,
183 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200184 clock-names = "ipg", "ahb", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800185 status = "disabled";
186 };
187
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100188 esdhc2: esdhc@70008000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800189 compatible = "fsl,imx51-esdhc";
190 reg = <0x70008000 0x4000>;
191 interrupts = <2>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100192 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530193 <&clks IMX5_CLK_DUMMY>,
194 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200195 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200196 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800197 status = "disabled";
198 };
199
Shawn Guo0c456cf2012-04-02 14:39:26 +0800200 uart3: serial@7000c000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800201 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
202 reg = <0x7000c000 0x4000>;
203 interrupts = <33>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100204 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530205 <&clks IMX5_CLK_UART3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200206 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800207 status = "disabled";
208 };
209
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100210 ecspi1: ecspi@70010000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800211 #address-cells = <1>;
212 #size-cells = <0>;
213 compatible = "fsl,imx51-ecspi";
214 reg = <0x70010000 0x4000>;
215 interrupts = <36>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100216 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530217 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200218 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800219 status = "disabled";
220 };
221
Shawn Guoa15d9f82012-05-11 13:08:46 +0800222 ssi2: ssi@70014000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400223 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800224 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
225 reg = <0x70014000 0x4000>;
226 interrupts = <30>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300227 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
228 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
229 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800230 dmas = <&sdma 24 1 0>,
231 <&sdma 25 1 0>;
232 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800233 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800234 status = "disabled";
235 };
236
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100237 esdhc3: esdhc@70020000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800238 compatible = "fsl,imx51-esdhc";
239 reg = <0x70020000 0x4000>;
240 interrupts = <3>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100241 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530242 <&clks IMX5_CLK_DUMMY>,
243 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200244 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200245 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800246 status = "disabled";
247 };
248
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100249 esdhc4: esdhc@70024000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800250 compatible = "fsl,imx51-esdhc";
251 reg = <0x70024000 0x4000>;
252 interrupts = <4>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100253 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530254 <&clks IMX5_CLK_DUMMY>,
255 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200256 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200257 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800258 status = "disabled";
259 };
260 };
261
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100262 usbotg: usb@73f80000 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200263 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
264 reg = <0x73f80000 0x0200>;
265 interrupts = <18>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100266 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200267 fsl,usbmisc = <&usbmisc 0>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200268 fsl,usbphy = <&usbphy0>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200269 status = "disabled";
270 };
271
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100272 usbh1: usb@73f80200 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200273 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
274 reg = <0x73f80200 0x0200>;
275 interrupts = <14>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100276 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200277 fsl,usbmisc = <&usbmisc 1>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500278 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200279 status = "disabled";
280 };
281
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100282 usbh2: usb@73f80400 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200283 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
284 reg = <0x73f80400 0x0200>;
285 interrupts = <16>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100286 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200287 fsl,usbmisc = <&usbmisc 2>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500288 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200289 status = "disabled";
290 };
291
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100292 usbh3: usb@73f80600 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200293 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
294 reg = <0x73f80600 0x0200>;
295 interrupts = <17>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100296 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200297 fsl,usbmisc = <&usbmisc 3>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500298 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200299 status = "disabled";
300 };
301
Michael Grzeschika5735022013-04-11 12:13:14 +0200302 usbmisc: usbmisc@73f80800 {
303 #index-cells = <1>;
304 compatible = "fsl,imx51-usbmisc";
305 reg = <0x73f80800 0x200>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100306 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200307 };
308
Richard Zhao4d191862011-12-14 09:26:44 +0800309 gpio1: gpio@73f84000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200310 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800311 reg = <0x73f84000 0x4000>;
312 interrupts = <50 51>;
313 gpio-controller;
314 #gpio-cells = <2>;
315 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800316 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800317 };
318
Richard Zhao4d191862011-12-14 09:26:44 +0800319 gpio2: gpio@73f88000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200320 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800321 reg = <0x73f88000 0x4000>;
322 interrupts = <52 53>;
323 gpio-controller;
324 #gpio-cells = <2>;
325 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800326 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800327 };
328
Richard Zhao4d191862011-12-14 09:26:44 +0800329 gpio3: gpio@73f8c000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200330 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800331 reg = <0x73f8c000 0x4000>;
332 interrupts = <54 55>;
333 gpio-controller;
334 #gpio-cells = <2>;
335 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800336 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800337 };
338
Richard Zhao4d191862011-12-14 09:26:44 +0800339 gpio4: gpio@73f90000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200340 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800341 reg = <0x73f90000 0x4000>;
342 interrupts = <56 57>;
343 gpio-controller;
344 #gpio-cells = <2>;
345 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800346 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800347 };
348
Liu Ying60125552013-01-03 20:37:33 +0800349 kpp: kpp@73f94000 {
350 compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
351 reg = <0x73f94000 0x4000>;
352 interrupts = <60>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100353 clocks = <&clks IMX5_CLK_DUMMY>;
Liu Ying60125552013-01-03 20:37:33 +0800354 status = "disabled";
355 };
356
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100357 wdog1: wdog@73f98000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800358 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
359 reg = <0x73f98000 0x4000>;
360 interrupts = <58>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100361 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800362 };
363
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100364 wdog2: wdog@73f9c000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800365 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
366 reg = <0x73f9c000 0x4000>;
367 interrupts = <59>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100368 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800369 status = "disabled";
370 };
371
Sascha Hauered73c632013-03-14 13:08:59 +0100372 gpt: timer@73fa0000 {
373 compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
374 reg = <0x73fa0000 0x4000>;
375 interrupts = <39>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100376 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530377 <&clks IMX5_CLK_GPT_HF_GATE>;
Sascha Hauered73c632013-03-14 13:08:59 +0100378 clock-names = "ipg", "per";
379 };
380
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100381 iomuxc: iomuxc@73fa8000 {
Shawn Guob72cf102012-08-13 19:45:19 +0800382 compatible = "fsl,imx51-iomuxc";
383 reg = <0x73fa8000 0x4000>;
Shawn Guob72cf102012-08-13 19:45:19 +0800384 };
385
Sascha Hauer82a618d2012-11-19 00:57:08 +0100386 pwm1: pwm@73fb4000 {
387 #pwm-cells = <2>;
388 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
389 reg = <0x73fb4000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100390 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530391 <&clks IMX5_CLK_PWM1_HF_GATE>;
Sascha Hauer82a618d2012-11-19 00:57:08 +0100392 clock-names = "ipg", "per";
393 interrupts = <61>;
394 };
395
396 pwm2: pwm@73fb8000 {
397 #pwm-cells = <2>;
398 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
399 reg = <0x73fb8000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100400 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530401 <&clks IMX5_CLK_PWM2_HF_GATE>;
Sascha Hauer82a618d2012-11-19 00:57:08 +0100402 clock-names = "ipg", "per";
403 interrupts = <94>;
404 };
405
Shawn Guo0c456cf2012-04-02 14:39:26 +0800406 uart1: serial@73fbc000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800407 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
408 reg = <0x73fbc000 0x4000>;
409 interrupts = <31>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100410 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530411 <&clks IMX5_CLK_UART1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200412 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800413 status = "disabled";
414 };
415
Shawn Guo0c456cf2012-04-02 14:39:26 +0800416 uart2: serial@73fc0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800417 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
418 reg = <0x73fc0000 0x4000>;
419 interrupts = <32>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100420 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530421 <&clks IMX5_CLK_UART2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200422 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800423 status = "disabled";
424 };
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200425
Philipp Zabel8d84c372013-03-28 17:35:23 +0100426 src: src@73fd0000 {
427 compatible = "fsl,imx51-src";
428 reg = <0x73fd0000 0x4000>;
429 #reset-cells = <1>;
430 };
431
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200432 clks: ccm@73fd4000{
433 compatible = "fsl,imx51-ccm";
434 reg = <0x73fd4000 0x4000>;
435 interrupts = <0 71 0x04 0 72 0x04>;
436 #clock-cells = <1>;
437 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800438 };
439
440 aips@80000000 { /* AIPS2 */
441 compatible = "fsl,aips-bus", "simple-bus";
442 #address-cells = <1>;
443 #size-cells = <1>;
444 reg = <0x80000000 0x10000000>;
445 ranges;
446
Sascha Hauer6510ea252013-06-25 15:51:51 +0200447 iim: iim@83f98000 {
448 compatible = "fsl,imx51-iim", "fsl,imx27-iim";
449 reg = <0x83f98000 0x4000>;
450 interrupts = <69>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100451 clocks = <&clks IMX5_CLK_IIM_GATE>;
Sascha Hauer6510ea252013-06-25 15:51:51 +0200452 };
453
Alexander Shiyanad15f082013-08-21 11:28:25 +0400454 owire: owire@83fa4000 {
455 compatible = "fsl,imx51-owire", "fsl,imx21-owire";
456 reg = <0x83fa4000 0x4000>;
457 interrupts = <88>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100458 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
Alexander Shiyanad15f082013-08-21 11:28:25 +0400459 status = "disabled";
460 };
461
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100462 ecspi2: ecspi@83fac000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800463 #address-cells = <1>;
464 #size-cells = <0>;
465 compatible = "fsl,imx51-ecspi";
466 reg = <0x83fac000 0x4000>;
467 interrupts = <37>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100468 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530469 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200470 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800471 status = "disabled";
472 };
473
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100474 sdma: sdma@83fb0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800475 compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
476 reg = <0x83fb0000 0x4000>;
477 interrupts = <6>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100478 clocks = <&clks IMX5_CLK_SDMA_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530479 <&clks IMX5_CLK_SDMA_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200480 clock-names = "ipg", "ahb";
Huang Shijiefb72bb22013-07-02 10:15:29 +0800481 #dma-cells = <3>;
Fabio Estevam7e4f0362012-08-08 11:28:07 -0300482 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
Shawn Guo9daaf312011-10-17 08:42:17 +0800483 };
484
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100485 cspi: cspi@83fc0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800486 #address-cells = <1>;
487 #size-cells = <0>;
488 compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
489 reg = <0x83fc0000 0x4000>;
490 interrupts = <38>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100491 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530492 <&clks IMX5_CLK_CSPI_IPG_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200493 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800494 status = "disabled";
495 };
496
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100497 i2c2: i2c@83fc4000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800498 #address-cells = <1>;
499 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800500 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
Shawn Guo9daaf312011-10-17 08:42:17 +0800501 reg = <0x83fc4000 0x4000>;
502 interrupts = <63>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100503 clocks = <&clks IMX5_CLK_I2C2_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800504 status = "disabled";
505 };
506
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100507 i2c1: i2c@83fc8000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800508 #address-cells = <1>;
509 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800510 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
Shawn Guo9daaf312011-10-17 08:42:17 +0800511 reg = <0x83fc8000 0x4000>;
512 interrupts = <62>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100513 clocks = <&clks IMX5_CLK_I2C1_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800514 status = "disabled";
515 };
516
Shawn Guoa15d9f82012-05-11 13:08:46 +0800517 ssi1: ssi@83fcc000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400518 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800519 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
520 reg = <0x83fcc000 0x4000>;
521 interrupts = <29>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300522 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
523 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
524 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800525 dmas = <&sdma 28 0 0>,
526 <&sdma 29 0 0>;
527 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800528 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800529 status = "disabled";
530 };
531
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100532 audmux: audmux@83fd0000 {
Shawn Guoa15d9f82012-05-11 13:08:46 +0800533 compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
534 reg = <0x83fd0000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100535 clocks = <&clks IMX5_CLK_DUMMY>;
Alexander Shiyane030df92013-11-07 12:45:06 +0400536 clock-names = "audmux";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800537 status = "disabled";
538 };
539
Alexander Shiyanedd05282013-07-13 08:30:57 +0400540 weim: weim@83fda000 {
541 #address-cells = <2>;
542 #size-cells = <1>;
543 compatible = "fsl,imx51-weim";
544 reg = <0x83fda000 0x1000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100545 clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
Alexander Shiyanedd05282013-07-13 08:30:57 +0400546 ranges = <
547 0 0 0xb0000000 0x08000000
548 1 0 0xb8000000 0x08000000
549 2 0 0xc0000000 0x08000000
550 3 0 0xc8000000 0x04000000
551 4 0 0xcc000000 0x02000000
552 5 0 0xce000000 0x02000000
553 >;
554 status = "disabled";
555 };
556
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100557 nfc: nand@83fdb000 {
Alexander Shiyanf0e3f892014-04-16 11:24:50 +0400558 #address-cells = <1>;
559 #size-cells = <1>;
Sascha Hauer75453a02012-06-06 12:33:16 +0200560 compatible = "fsl,imx51-nand";
561 reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
562 interrupts = <8>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100563 clocks = <&clks IMX5_CLK_NFC_GATE>;
Sascha Hauer75453a02012-06-06 12:33:16 +0200564 status = "disabled";
565 };
566
Sascha Hauer718a35002013-04-04 11:25:09 +0200567 pata: pata@83fe0000 {
568 compatible = "fsl,imx51-pata", "fsl,imx27-pata";
569 reg = <0x83fe0000 0x4000>;
570 interrupts = <70>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100571 clocks = <&clks IMX5_CLK_PATA_GATE>;
Sascha Hauer718a35002013-04-04 11:25:09 +0200572 status = "disabled";
573 };
574
Shawn Guoa15d9f82012-05-11 13:08:46 +0800575 ssi3: ssi@83fe8000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400576 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800577 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
578 reg = <0x83fe8000 0x4000>;
579 interrupts = <96>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300580 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
581 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
582 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800583 dmas = <&sdma 46 0 0>,
584 <&sdma 47 0 0>;
585 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800586 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800587 status = "disabled";
588 };
589
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100590 fec: ethernet@83fec000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800591 compatible = "fsl,imx51-fec", "fsl,imx27-fec";
592 reg = <0x83fec000 0x4000>;
593 interrupts = <87>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100594 clocks = <&clks IMX5_CLK_FEC_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530595 <&clks IMX5_CLK_FEC_GATE>,
596 <&clks IMX5_CLK_FEC_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200597 clock-names = "ipg", "ahb", "ptp";
Shawn Guo9daaf312011-10-17 08:42:17 +0800598 status = "disabled";
599 };
600 };
601 };
602};