blob: d5ba31e3cd50bb53924a28eacb8ab8a274f798ad [file] [log] [blame]
Fabio Estevam241f76b2018-05-07 15:23:40 -03001// SPDX-License-Identifier: GPL-2.0+
2//
3// Copyright 2011 Freescale Semiconductor, Inc.
4// Copyright 2011 Linaro Ltd.
Shawn Guo9daaf312011-10-17 08:42:17 +08005
Shawn Guoe1641532013-02-20 10:32:52 +08006#include "imx51-pinfunc.h"
Lucas Stachff65d4c2013-11-14 11:18:59 +01007#include <dt-bindings/clock/imx5-clock.h>
Alexander Shiyanbdb3eec2013-11-19 15:47:27 +04008#include <dt-bindings/gpio/gpio.h>
Alexander Shiyan72d86d22014-01-11 10:54:19 +04009#include <dt-bindings/input/input.h>
10#include <dt-bindings/interrupt-controller/irq.h>
Shawn Guo9daaf312011-10-17 08:42:17 +080011
12/ {
Fabio Estevam7f107882016-11-12 13:30:35 -020013 #address-cells = <1>;
14 #size-cells = <1>;
Fabio Estevama971c552017-01-23 14:54:10 -020015 /*
16 * The decompressor and also some bootloaders rely on a
17 * pre-existing /chosen node to be available to insert the
18 * command line and merge other ATAGS info.
19 * Also for U-Boot there must be a pre-existing /memory node.
20 */
21 chosen {};
Marco Franchi7f08e6a2018-01-24 11:22:13 -020022 memory { device_type = "memory"; };
Fabio Estevam7f107882016-11-12 13:30:35 -020023
Shawn Guo9daaf312011-10-17 08:42:17 +080024 aliases {
Marek Vasut22970072014-02-28 12:58:41 +010025 ethernet0 = &fec;
Shawn Guo5230f8f2012-08-05 14:01:28 +080026 gpio0 = &gpio1;
27 gpio1 = &gpio2;
28 gpio2 = &gpio3;
29 gpio3 = &gpio4;
Sascha Hauere3b73c62013-06-25 15:51:55 +020030 i2c0 = &i2c1;
31 i2c1 = &i2c2;
Sascha Hauerf742c222014-01-16 13:44:21 +010032 mmc0 = &esdhc1;
33 mmc1 = &esdhc2;
34 mmc2 = &esdhc3;
35 mmc3 = &esdhc4;
Sascha Hauere3b73c62013-06-25 15:51:55 +020036 serial0 = &uart1;
37 serial1 = &uart2;
38 serial2 = &uart3;
39 spi0 = &ecspi1;
40 spi1 = &ecspi2;
41 spi2 = &cspi;
Shawn Guo9daaf312011-10-17 08:42:17 +080042 };
43
44 tzic: tz-interrupt-controller@e0000000 {
45 compatible = "fsl,imx51-tzic", "fsl,tzic";
46 interrupt-controller;
47 #interrupt-cells = <1>;
48 reg = <0xe0000000 0x4000>;
49 };
50
51 clocks {
Shawn Guo9daaf312011-10-17 08:42:17 +080052 ckil {
53 compatible = "fsl,imx-ckil", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080054 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080055 clock-frequency = <32768>;
56 };
57
58 ckih1 {
59 compatible = "fsl,imx-ckih1", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080060 #clock-cells = <0>;
Alexander Shiyan677e28b2013-07-27 11:19:45 +040061 clock-frequency = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080062 };
63
64 ckih2 {
65 compatible = "fsl,imx-ckih2", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080066 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080067 clock-frequency = <0>;
68 };
69
70 osc {
71 compatible = "fsl,imx-osc", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080072 #clock-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +080073 clock-frequency = <24000000>;
74 };
75 };
76
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020077 cpus {
78 #address-cells = <1>;
79 #size-cells = <0>;
Alexander Shiyan6acde882013-11-07 12:45:05 +040080 cpu: cpu@0 {
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020081 device_type = "cpu";
82 compatible = "arm,cortex-a8";
83 reg = <0>;
Alexander Shiyan6acde882013-11-07 12:45:05 +040084 clock-latency = <62500>;
Lucas Stachff65d4c2013-11-14 11:18:59 +010085 clocks = <&clks IMX5_CLK_CPU_PODF>;
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020086 clock-names = "cpu";
87 operating-points = <
Alexander Shiyan6acde882013-11-07 12:45:05 +040088 166000 1000000
89 600000 1050000
90 800000 1100000
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020091 >;
Alexander Shiyan6acde882013-11-07 12:45:05 +040092 voltage-tolerance = <5>;
Markus Pargmann6f9d62d2013-04-07 21:56:45 +020093 };
94 };
95
Alexander Shiyan4e942302013-11-19 15:47:26 +040096 usbphy {
97 #address-cells = <1>;
98 #size-cells = <0>;
99 compatible = "simple-bus";
100
101 usbphy0: usbphy@0 {
102 compatible = "usb-nop-xceiv";
103 reg = <0>;
104 clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
105 clock-names = "main_clk";
Rob Herring915fbe52017-11-09 16:26:10 -0600106 #phy-cells = <0>;
Sascha Hauerb5af6b12012-11-12 12:56:00 +0100107 };
108 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800109
Philipp Zabelde10e042014-03-05 10:20:59 +0100110 display-subsystem {
111 compatible = "fsl,imx-display-subsystem";
112 ports = <&ipu_di0>, <&ipu_di1>;
113 };
114
Shawn Guo9daaf312011-10-17 08:42:17 +0800115 soc {
116 #address-cells = <1>;
117 #size-cells = <1>;
118 compatible = "simple-bus";
119 interrupt-parent = <&tzic>;
120 ranges;
121
Alexander Shiyanda38ea32013-08-21 11:28:24 +0400122 iram: iram@1ffe0000 {
123 compatible = "mmio-sram";
124 reg = <0x1ffe0000 0x20000>;
125 };
126
Shawn Guo9daaf312011-10-17 08:42:17 +0800127 ipu: ipu@40000000 {
Philipp Zabelde10e042014-03-05 10:20:59 +0100128 #address-cells = <1>;
129 #size-cells = <0>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800130 compatible = "fsl,imx51-ipu";
131 reg = <0x40000000 0x20000000>;
132 interrupts = <11 10>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100133 clocks = <&clks IMX5_CLK_IPU_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530134 <&clks IMX5_CLK_IPU_DI0_GATE>,
135 <&clks IMX5_CLK_IPU_DI1_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800136 clock-names = "bus", "di0", "di1";
137 resets = <&src 2>;
Philipp Zabelde10e042014-03-05 10:20:59 +0100138
139 ipu_di0: port@2 {
140 reg = <2>;
141
Marco Franchif7059422017-10-05 11:31:41 -0300142 ipu_di0_disp1: endpoint {
Philipp Zabelde10e042014-03-05 10:20:59 +0100143 };
144 };
145
146 ipu_di1: port@3 {
147 reg = <3>;
148
Marco Franchif7059422017-10-05 11:31:41 -0300149 ipu_di1_disp2: endpoint {
Philipp Zabelde10e042014-03-05 10:20:59 +0100150 };
151 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800152 };
153
154 aips@70000000 { /* AIPS1 */
155 compatible = "fsl,aips-bus", "simple-bus";
156 #address-cells = <1>;
157 #size-cells = <1>;
158 reg = <0x70000000 0x10000000>;
159 ranges;
160
161 spba@70000000 {
162 compatible = "fsl,spba-bus", "simple-bus";
163 #address-cells = <1>;
164 #size-cells = <1>;
165 reg = <0x70000000 0x40000>;
166 ranges;
167
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100168 esdhc1: esdhc@70004000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800169 compatible = "fsl,imx51-esdhc";
170 reg = <0x70004000 0x4000>;
171 interrupts = <1>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100172 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530173 <&clks IMX5_CLK_DUMMY>,
174 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200175 clock-names = "ipg", "ahb", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800176 status = "disabled";
177 };
178
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100179 esdhc2: esdhc@70008000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800180 compatible = "fsl,imx51-esdhc";
181 reg = <0x70008000 0x4000>;
182 interrupts = <2>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100183 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530184 <&clks IMX5_CLK_DUMMY>,
185 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200186 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200187 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800188 status = "disabled";
189 };
190
Shawn Guo0c456cf2012-04-02 14:39:26 +0800191 uart3: serial@7000c000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800192 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
193 reg = <0x7000c000 0x4000>;
194 interrupts = <33>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100195 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530196 <&clks IMX5_CLK_UART3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200197 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800198 status = "disabled";
199 };
200
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100201 ecspi1: ecspi@70010000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800202 #address-cells = <1>;
203 #size-cells = <0>;
204 compatible = "fsl,imx51-ecspi";
205 reg = <0x70010000 0x4000>;
206 interrupts = <36>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100207 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530208 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200209 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800210 status = "disabled";
211 };
212
Shawn Guoa15d9f82012-05-11 13:08:46 +0800213 ssi2: ssi@70014000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400214 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800215 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
216 reg = <0x70014000 0x4000>;
217 interrupts = <30>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300218 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
219 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
220 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800221 dmas = <&sdma 24 1 0>,
222 <&sdma 25 1 0>;
223 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800224 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800225 status = "disabled";
226 };
227
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100228 esdhc3: esdhc@70020000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800229 compatible = "fsl,imx51-esdhc";
230 reg = <0x70020000 0x4000>;
231 interrupts = <3>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100232 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530233 <&clks IMX5_CLK_DUMMY>,
234 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200235 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200236 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800237 status = "disabled";
238 };
239
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100240 esdhc4: esdhc@70024000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800241 compatible = "fsl,imx51-esdhc";
242 reg = <0x70024000 0x4000>;
243 interrupts = <4>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100244 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530245 <&clks IMX5_CLK_DUMMY>,
246 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200247 clock-names = "ipg", "ahb", "per";
Sascha Hauerc104b6a2012-09-25 11:49:33 +0200248 bus-width = <4>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800249 status = "disabled";
250 };
251 };
252
Fabio Estevamba72b5a2018-06-20 15:06:19 -0300253 aipstz1: bridge@73f00000 {
254 compatible = "fsl,imx51-aipstz";
255 reg = <0x73f00000 0x60>;
256 };
257
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100258 usbotg: usb@73f80000 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200259 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
260 reg = <0x73f80000 0x0200>;
261 interrupts = <18>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100262 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200263 fsl,usbmisc = <&usbmisc 0>;
Michael Grzeschika79025c2013-04-11 12:13:16 +0200264 fsl,usbphy = <&usbphy0>;
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200265 status = "disabled";
266 };
267
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100268 usbh1: usb@73f80200 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200269 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
270 reg = <0x73f80200 0x0200>;
271 interrupts = <14>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100272 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200273 fsl,usbmisc = <&usbmisc 1>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500274 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200275 status = "disabled";
276 };
277
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100278 usbh2: usb@73f80400 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200279 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
280 reg = <0x73f80400 0x0200>;
281 interrupts = <16>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100282 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200283 fsl,usbmisc = <&usbmisc 2>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500284 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200285 status = "disabled";
286 };
287
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100288 usbh3: usb@73f80600 {
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200289 compatible = "fsl,imx51-usb", "fsl,imx27-usb";
290 reg = <0x73f80600 0x0200>;
291 interrupts = <17>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100292 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200293 fsl,usbmisc = <&usbmisc 3>;
Matt Porter3ec481e2015-02-27 09:06:00 -0500294 dr_mode = "host";
Michael Grzeschik212d0b82012-08-23 12:35:57 +0200295 status = "disabled";
296 };
297
Michael Grzeschika5735022013-04-11 12:13:14 +0200298 usbmisc: usbmisc@73f80800 {
299 #index-cells = <1>;
300 compatible = "fsl,imx51-usbmisc";
301 reg = <0x73f80800 0x200>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100302 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
Michael Grzeschika5735022013-04-11 12:13:14 +0200303 };
304
Richard Zhao4d191862011-12-14 09:26:44 +0800305 gpio1: gpio@73f84000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200306 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800307 reg = <0x73f84000 0x4000>;
308 interrupts = <50 51>;
309 gpio-controller;
310 #gpio-cells = <2>;
311 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800312 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800313 };
314
Richard Zhao4d191862011-12-14 09:26:44 +0800315 gpio2: gpio@73f88000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200316 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800317 reg = <0x73f88000 0x4000>;
318 interrupts = <52 53>;
319 gpio-controller;
320 #gpio-cells = <2>;
321 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800322 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800323 };
324
Richard Zhao4d191862011-12-14 09:26:44 +0800325 gpio3: gpio@73f8c000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200326 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800327 reg = <0x73f8c000 0x4000>;
328 interrupts = <54 55>;
329 gpio-controller;
330 #gpio-cells = <2>;
331 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800332 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800333 };
334
Richard Zhao4d191862011-12-14 09:26:44 +0800335 gpio4: gpio@73f90000 {
Benoît Thébaudeauaeb27742012-06-22 21:04:06 +0200336 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
Shawn Guo9daaf312011-10-17 08:42:17 +0800337 reg = <0x73f90000 0x4000>;
338 interrupts = <56 57>;
339 gpio-controller;
340 #gpio-cells = <2>;
341 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800342 #interrupt-cells = <2>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800343 };
344
Liu Ying60125552013-01-03 20:37:33 +0800345 kpp: kpp@73f94000 {
346 compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
347 reg = <0x73f94000 0x4000>;
348 interrupts = <60>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100349 clocks = <&clks IMX5_CLK_DUMMY>;
Liu Ying60125552013-01-03 20:37:33 +0800350 status = "disabled";
351 };
352
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100353 wdog1: wdog@73f98000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800354 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
355 reg = <0x73f98000 0x4000>;
356 interrupts = <58>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100357 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800358 };
359
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100360 wdog2: wdog@73f9c000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800361 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
362 reg = <0x73f9c000 0x4000>;
363 interrupts = <59>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100364 clocks = <&clks IMX5_CLK_DUMMY>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800365 status = "disabled";
366 };
367
Sascha Hauered73c632013-03-14 13:08:59 +0100368 gpt: timer@73fa0000 {
369 compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
370 reg = <0x73fa0000 0x4000>;
371 interrupts = <39>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100372 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530373 <&clks IMX5_CLK_GPT_HF_GATE>;
Sascha Hauered73c632013-03-14 13:08:59 +0100374 clock-names = "ipg", "per";
375 };
376
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100377 iomuxc: iomuxc@73fa8000 {
Shawn Guob72cf102012-08-13 19:45:19 +0800378 compatible = "fsl,imx51-iomuxc";
379 reg = <0x73fa8000 0x4000>;
Shawn Guob72cf102012-08-13 19:45:19 +0800380 };
381
Sascha Hauer82a618d2012-11-19 00:57:08 +0100382 pwm1: pwm@73fb4000 {
383 #pwm-cells = <2>;
384 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
385 reg = <0x73fb4000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100386 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530387 <&clks IMX5_CLK_PWM1_HF_GATE>;
Sascha Hauer82a618d2012-11-19 00:57:08 +0100388 clock-names = "ipg", "per";
389 interrupts = <61>;
390 };
391
392 pwm2: pwm@73fb8000 {
393 #pwm-cells = <2>;
394 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
395 reg = <0x73fb8000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100396 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530397 <&clks IMX5_CLK_PWM2_HF_GATE>;
Sascha Hauer82a618d2012-11-19 00:57:08 +0100398 clock-names = "ipg", "per";
399 interrupts = <94>;
400 };
401
Shawn Guo0c456cf2012-04-02 14:39:26 +0800402 uart1: serial@73fbc000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800403 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
404 reg = <0x73fbc000 0x4000>;
405 interrupts = <31>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100406 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530407 <&clks IMX5_CLK_UART1_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200408 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800409 status = "disabled";
410 };
411
Shawn Guo0c456cf2012-04-02 14:39:26 +0800412 uart2: serial@73fc0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800413 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
414 reg = <0x73fc0000 0x4000>;
415 interrupts = <32>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100416 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530417 <&clks IMX5_CLK_UART2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200418 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800419 status = "disabled";
420 };
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200421
Philipp Zabel8d84c372013-03-28 17:35:23 +0100422 src: src@73fd0000 {
423 compatible = "fsl,imx51-src";
424 reg = <0x73fd0000 0x4000>;
425 #reset-cells = <1>;
426 };
427
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200428 clks: ccm@73fd4000{
429 compatible = "fsl,imx51-ccm";
430 reg = <0x73fd4000 0x4000>;
431 interrupts = <0 71 0x04 0 72 0x04>;
432 #clock-cells = <1>;
433 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800434 };
435
436 aips@80000000 { /* AIPS2 */
437 compatible = "fsl,aips-bus", "simple-bus";
438 #address-cells = <1>;
439 #size-cells = <1>;
440 reg = <0x80000000 0x10000000>;
441 ranges;
442
Fabio Estevamba72b5a2018-06-20 15:06:19 -0300443 aipstz2: bridge@83f00000 {
444 compatible = "fsl,imx51-aipstz";
445 reg = <0x83f00000 0x60>;
446 };
447
Sascha Hauer6510ea252013-06-25 15:51:51 +0200448 iim: iim@83f98000 {
449 compatible = "fsl,imx51-iim", "fsl,imx27-iim";
450 reg = <0x83f98000 0x4000>;
451 interrupts = <69>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100452 clocks = <&clks IMX5_CLK_IIM_GATE>;
Sascha Hauer6510ea252013-06-25 15:51:51 +0200453 };
454
Alexander Shiyanad15f082013-08-21 11:28:25 +0400455 owire: owire@83fa4000 {
456 compatible = "fsl,imx51-owire", "fsl,imx21-owire";
457 reg = <0x83fa4000 0x4000>;
458 interrupts = <88>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100459 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
Alexander Shiyanad15f082013-08-21 11:28:25 +0400460 status = "disabled";
461 };
462
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100463 ecspi2: ecspi@83fac000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800464 #address-cells = <1>;
465 #size-cells = <0>;
466 compatible = "fsl,imx51-ecspi";
467 reg = <0x83fac000 0x4000>;
468 interrupts = <37>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100469 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530470 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200471 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800472 status = "disabled";
473 };
474
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100475 sdma: sdma@83fb0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800476 compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
477 reg = <0x83fb0000 0x4000>;
478 interrupts = <6>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100479 clocks = <&clks IMX5_CLK_SDMA_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530480 <&clks IMX5_CLK_SDMA_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200481 clock-names = "ipg", "ahb";
Huang Shijiefb72bb22013-07-02 10:15:29 +0800482 #dma-cells = <3>;
Fabio Estevam7e4f0362012-08-08 11:28:07 -0300483 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
Shawn Guo9daaf312011-10-17 08:42:17 +0800484 };
485
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100486 cspi: cspi@83fc0000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800487 #address-cells = <1>;
488 #size-cells = <0>;
489 compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
490 reg = <0x83fc0000 0x4000>;
491 interrupts = <38>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100492 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530493 <&clks IMX5_CLK_CSPI_IPG_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200494 clock-names = "ipg", "per";
Shawn Guo9daaf312011-10-17 08:42:17 +0800495 status = "disabled";
496 };
497
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100498 i2c2: i2c@83fc4000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800499 #address-cells = <1>;
500 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800501 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
Shawn Guo9daaf312011-10-17 08:42:17 +0800502 reg = <0x83fc4000 0x4000>;
503 interrupts = <63>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100504 clocks = <&clks IMX5_CLK_I2C2_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800505 status = "disabled";
506 };
507
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100508 i2c1: i2c@83fc8000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800509 #address-cells = <1>;
510 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800511 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
Shawn Guo9daaf312011-10-17 08:42:17 +0800512 reg = <0x83fc8000 0x4000>;
513 interrupts = <62>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100514 clocks = <&clks IMX5_CLK_I2C1_GATE>;
Shawn Guo9daaf312011-10-17 08:42:17 +0800515 status = "disabled";
516 };
517
Shawn Guoa15d9f82012-05-11 13:08:46 +0800518 ssi1: ssi@83fcc000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400519 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800520 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
521 reg = <0x83fcc000 0x4000>;
522 interrupts = <29>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300523 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
524 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
525 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800526 dmas = <&sdma 28 0 0>,
527 <&sdma 29 0 0>;
528 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800529 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800530 status = "disabled";
531 };
532
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100533 audmux: audmux@83fd0000 {
Shawn Guoa15d9f82012-05-11 13:08:46 +0800534 compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
535 reg = <0x83fd0000 0x4000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100536 clocks = <&clks IMX5_CLK_DUMMY>;
Alexander Shiyane030df92013-11-07 12:45:06 +0400537 clock-names = "audmux";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800538 status = "disabled";
539 };
540
Alexander Shiyanedd05282013-07-13 08:30:57 +0400541 weim: weim@83fda000 {
542 #address-cells = <2>;
543 #size-cells = <1>;
544 compatible = "fsl,imx51-weim";
545 reg = <0x83fda000 0x1000>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100546 clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
Alexander Shiyanedd05282013-07-13 08:30:57 +0400547 ranges = <
548 0 0 0xb0000000 0x08000000
549 1 0 0xb8000000 0x08000000
550 2 0 0xc0000000 0x08000000
551 3 0 0xc8000000 0x04000000
552 4 0 0xcc000000 0x02000000
553 5 0 0xce000000 0x02000000
554 >;
555 status = "disabled";
556 };
557
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100558 nfc: nand@83fdb000 {
Alexander Shiyanf0e3f892014-04-16 11:24:50 +0400559 #address-cells = <1>;
560 #size-cells = <1>;
Sascha Hauer75453a02012-06-06 12:33:16 +0200561 compatible = "fsl,imx51-nand";
562 reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
563 interrupts = <8>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100564 clocks = <&clks IMX5_CLK_NFC_GATE>;
Sascha Hauer75453a02012-06-06 12:33:16 +0200565 status = "disabled";
566 };
567
Sascha Hauer718a35002013-04-04 11:25:09 +0200568 pata: pata@83fe0000 {
569 compatible = "fsl,imx51-pata", "fsl,imx27-pata";
570 reg = <0x83fe0000 0x4000>;
571 interrupts = <70>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100572 clocks = <&clks IMX5_CLK_PATA_GATE>;
Sascha Hauer718a35002013-04-04 11:25:09 +0200573 status = "disabled";
574 };
575
Shawn Guoa15d9f82012-05-11 13:08:46 +0800576 ssi3: ssi@83fe8000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400577 #sound-dai-cells = <0>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800578 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
579 reg = <0x83fe8000 0x4000>;
580 interrupts = <96>;
Fabio Estevam53ec8742014-09-18 20:23:49 -0300581 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
582 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
583 clock-names = "ipg", "baud";
Shawn Guo5da826a2013-07-17 13:50:54 +0800584 dmas = <&sdma 46 0 0>,
585 <&sdma 47 0 0>;
586 dma-names = "rx", "tx";
Shawn Guoa15d9f82012-05-11 13:08:46 +0800587 fsl,fifo-depth = <15>;
Shawn Guoa15d9f82012-05-11 13:08:46 +0800588 status = "disabled";
589 };
590
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100591 fec: ethernet@83fec000 {
Shawn Guo9daaf312011-10-17 08:42:17 +0800592 compatible = "fsl,imx51-fec", "fsl,imx27-fec";
593 reg = <0x83fec000 0x4000>;
594 interrupts = <87>;
Lucas Stachff65d4c2013-11-14 11:18:59 +0100595 clocks = <&clks IMX5_CLK_FEC_GATE>,
Jagan Teki46311702016-10-26 15:31:01 +0530596 <&clks IMX5_CLK_FEC_GATE>,
597 <&clks IMX5_CLK_FEC_GATE>;
Fabio Estevamf40f38d2012-11-21 13:43:05 -0200598 clock-names = "ipg", "ahb", "ptp";
Shawn Guo9daaf312011-10-17 08:42:17 +0800599 status = "disabled";
600 };
Philipp Zabel328bd822017-12-13 15:24:06 +0100601
602 vpu@83ff4000 {
603 compatible = "fsl,imx51-vpu", "cnm,codahx4";
604 reg = <0x83ff4000 0x1000>;
605 interrupts = <9>;
606 clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
607 <&clks IMX5_CLK_VPU_GATE>;
608 clock-names = "per", "ahb";
609 resets = <&src 1>;
610 iram = <&iram>;
611 };
Shawn Guo9daaf312011-10-17 08:42:17 +0800612 };
613 };
614};