blob: 5ba61747897e925aa7f9c3180c2c27438d4a340f [file] [log] [blame]
Patrick Bruenn98d62e62016-11-04 11:57:02 +01001/*
2 * Copyright 2016 Beckhoff Automation
3 * Copyright 2011 Freescale Semiconductor, Inc.
4 * Copyright 2011 Linaro Ltd.
5 *
6 * The code contained herein is licensed under the GNU General Public
7 * License. You may obtain a copy of the GNU General Public License
8 * Version 2 or later at the following locations:
9 *
10 * http://www.opensource.org/licenses/gpl-license.html
11 * http://www.gnu.org/copyleft/gpl.html
12 */
13
14#include "skeleton.dtsi"
15#include "imx53-pinfunc.h"
16#include <dt-bindings/clock/imx5-clock.h>
17#include <dt-bindings/gpio/gpio.h>
18#include <dt-bindings/input/input.h>
19#include <dt-bindings/interrupt-controller/irq.h>
20
21/ {
22 aliases {
23 serial1 = &uart2;
Lukasz Majewski0a107af2018-04-26 13:18:00 +020024 gpio0 = &gpio1;
25 gpio1 = &gpio2;
26 gpio2 = &gpio3;
27 gpio3 = &gpio4;
28 gpio4 = &gpio5;
29 gpio5 = &gpio6;
30 gpio6 = &gpio7;
31 i2c0 = &i2c1;
32 i2c1 = &i2c2;
33 i2c2 = &i2c3;
Patrick Bruenn77fd72f2019-01-03 07:54:33 +010034 mmc0 = &esdhc1;
35 mmc1 = &esdhc2;
Ian Ray3cc0e322019-01-31 16:21:16 +020036 mmc2 = &esdhc3;
37 mmc3 = &esdhc4;
Lukasz Majewski552b1b32019-04-04 12:26:49 +020038 usb1 = &usbh1;
Patrick Bruenn98d62e62016-11-04 11:57:02 +010039 };
40
Patrick Bruennd6abd1d2017-12-11 13:09:14 +010041 tzic: tz-interrupt-controller@fffc000 {
42 compatible = "fsl,imx53-tzic", "fsl,tzic";
43 interrupt-controller;
44 #interrupt-cells = <1>;
45 reg = <0x0fffc000 0x4000>;
46 };
47
Patrick Bruenn98d62e62016-11-04 11:57:02 +010048 soc {
49 #address-cells = <1>;
50 #size-cells = <1>;
51 compatible = "simple-bus";
Patrick Bruennd6abd1d2017-12-11 13:09:14 +010052 interrupt-parent = <&tzic>;
Patrick Bruenn98d62e62016-11-04 11:57:02 +010053 ranges;
54
55 aips@50000000 { /* AIPS1 */
56 compatible = "fsl,aips-bus", "simple-bus";
57 #address-cells = <1>;
58 #size-cells = <1>;
59 reg = <0x50000000 0x10000000>;
60 ranges;
61
Patrick Bruenn77fd72f2019-01-03 07:54:33 +010062 spba@50000000 {
63 compatible = "fsl,spba-bus", "simple-bus";
64 #address-cells = <1>;
65 #size-cells = <1>;
66 reg = <0x50000000 0x40000>;
67 ranges;
68
69 esdhc1: esdhc@50004000 {
70 compatible = "fsl,imx53-esdhc";
71 reg = <0x50004000 0x4000>;
72 interrupts = <1>;
73 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
74 <&clks IMX5_CLK_DUMMY>,
75 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
76 clock-names = "ipg", "ahb", "per";
77 bus-width = <4>;
78 status = "disabled";
79 };
80
81 esdhc2: esdhc@50008000 {
82 compatible = "fsl,imx53-esdhc";
83 reg = <0x50008000 0x4000>;
84 interrupts = <2>;
85 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
86 <&clks IMX5_CLK_DUMMY>,
87 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
88 clock-names = "ipg", "ahb", "per";
89 bus-width = <4>;
90 status = "disabled";
91 };
Ian Ray3cc0e322019-01-31 16:21:16 +020092
93 esdhc3: esdhc@50020000 {
94 compatible = "fsl,imx53-esdhc";
95 reg = <0x50020000 0x4000>;
96 interrupts = <3>;
97 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
98 <&clks IMX5_CLK_DUMMY>,
99 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
100 clock-names = "ipg", "ahb", "per";
101 bus-width = <4>;
102 status = "disabled";
103 };
104
105 esdhc4: esdhc@50024000 {
106 compatible = "fsl,imx53-esdhc";
107 reg = <0x50024000 0x4000>;
108 interrupts = <4>;
109 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
110 <&clks IMX5_CLK_DUMMY>,
111 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
112 clock-names = "ipg", "ahb", "per";
113 bus-width = <4>;
114 status = "disabled";
115 };
Patrick Bruenn77fd72f2019-01-03 07:54:33 +0100116 };
117
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100118 iomuxc: iomuxc@53fa8000 {
119 compatible = "fsl,imx53-iomuxc";
120 reg = <0x53fa8000 0x4000>;
121 };
122
123 gpr: iomuxc-gpr@53fa8000 {
124 compatible = "fsl,imx53-iomuxc-gpr", "syscon";
125 reg = <0x53fa8000 0xc>;
126 };
127
128 uart2: serial@53fc0000 {
129 compatible = "fsl,imx7d-uart", "fsl,imx53-uart", "fsl,imx21-uart";
130 reg = <0x53fc0000 0x4000>;
131 interrupts = <32>;
132 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
133 <&clks IMX5_CLK_UART2_PER_GATE>;
134 clock-names = "ipg", "per";
135 dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
136 dma-names = "rx", "tx";
137 status = "disabled";
138 };
139
Lukasz Majewski552b1b32019-04-04 12:26:49 +0200140 usbh1: usb@53f80200 {
141 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
142 reg = <0x53f80200 0x0200>;
143 interrupts = <14>;
144 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
145 dr_mode = "host";
146 status = "disabled";
147 };
148
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100149 clks: ccm@53fd4000{
150 compatible = "fsl,imx53-ccm";
151 reg = <0x53fd4000 0x4000>;
152 interrupts = <0 71 0x04 0 72 0x04>;
153 #clock-cells = <1>;
154 };
155
Lukasz Majewski0a107af2018-04-26 13:18:00 +0200156 gpio1: gpio@53f84000 {
157 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
158 reg = <0x53f84000 0x4000>;
159 interrupts = <50 51>;
160 gpio-controller;
161 #gpio-cells = <2>;
162 interrupt-controller;
163 #interrupt-cells = <2>;
164 };
165
166 gpio2: gpio@53f88000 {
167 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
168 reg = <0x53f88000 0x4000>;
169 interrupts = <52 53>;
170 gpio-controller;
171 #gpio-cells = <2>;
172 interrupt-controller;
173 #interrupt-cells = <2>;
174 };
175
176 gpio3: gpio@53f8c000 {
177 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
178 reg = <0x53f8c000 0x4000>;
179 interrupts = <54 55>;
180 gpio-controller;
181 #gpio-cells = <2>;
182 interrupt-controller;
183 #interrupt-cells = <2>;
184 };
185
186 gpio4: gpio@53f90000 {
187 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
188 reg = <0x53f90000 0x4000>;
189 interrupts = <56 57>;
190 gpio-controller;
191 #gpio-cells = <2>;
192 interrupt-controller;
193 #interrupt-cells = <2>;
194 };
195
196 gpio5: gpio@53fdc000 {
197 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
198 reg = <0x53fdc000 0x4000>;
199 interrupts = <103 104>;
200 gpio-controller;
201 #gpio-cells = <2>;
202 interrupt-controller;
203 #interrupt-cells = <2>;
204 };
205
206 gpio6: gpio@53fe0000 {
207 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
208 reg = <0x53fe0000 0x4000>;
209 interrupts = <105 106>;
210 gpio-controller;
211 #gpio-cells = <2>;
212 interrupt-controller;
213 #interrupt-cells = <2>;
214 };
215
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100216 gpio7: gpio@53fe4000 {
217 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
218 reg = <0x53fe4000 0x4000>;
219 interrupts = <107 108>;
220 gpio-controller;
221 #gpio-cells = <2>;
222 interrupt-controller;
223 #interrupt-cells = <2>;
224 };
Lukasz Majewski0a107af2018-04-26 13:18:00 +0200225
226 i2c3: i2c@53fec000 {
227 #address-cells = <1>;
228 #size-cells = <0>;
229 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
230 reg = <0x53fec000 0x4000>;
231 interrupts = <64>;
232 clocks = <&clks IMX5_CLK_I2C3_GATE>;
233 status = "disabled";
234 };
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100235 };
236
237 aips@60000000 { /* AIPS2 */
238 compatible = "fsl,aips-bus", "simple-bus";
239 #address-cells = <1>;
240 #size-cells = <1>;
241 reg = <0x60000000 0x10000000>;
242 ranges;
243
244 sdma: sdma@63fb0000 {
245 compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
246 reg = <0x63fb0000 0x4000>;
247 interrupts = <6>;
248 clocks = <&clks IMX5_CLK_SDMA_GATE>,
249 <&clks IMX5_CLK_SDMA_GATE>;
250 clock-names = "ipg", "ahb";
251 #dma-cells = <3>;
252 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
253 };
254
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100255 fec: ethernet@63fec000 {
256 compatible = "fsl,imx53-fec", "fsl,imx25-fec";
257 reg = <0x63fec000 0x4000>;
258 interrupts = <87>;
259 clocks = <&clks IMX5_CLK_FEC_GATE>,
260 <&clks IMX5_CLK_FEC_GATE>,
261 <&clks IMX5_CLK_FEC_GATE>;
262 clock-names = "ipg", "ahb", "ptp";
263 status = "disabled";
264 };
Lukasz Majewski0a107af2018-04-26 13:18:00 +0200265
266 i2c2: i2c@63fc4000 {
267 #address-cells = <1>;
268 #size-cells = <0>;
269 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
270 reg = <0x63fc4000 0x4000>;
271 interrupts = <63>;
272 clocks = <&clks IMX5_CLK_I2C2_GATE>;
273 status = "disabled";
274 };
275
276 i2c1: i2c@63fc8000 {
277 #address-cells = <1>;
278 #size-cells = <0>;
279 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
280 reg = <0x63fc8000 0x4000>;
281 interrupts = <62>;
282 clocks = <&clks IMX5_CLK_I2C1_GATE>;
283 status = "disabled";
284 };
Patrick Bruenn98d62e62016-11-04 11:57:02 +0100285 };
286 };
287};