Merge tag 'xilinx-for-v2021.04-rc3' of https://gitlab.denx.de/u-boot/custodians/u...
[platform/kernel/u-boot.git] / arch / arm / dts / fsl-ls1046a.dtsi
1 // SPDX-License-Identifier: GPL-2.0+ OR X11
2 /*
3  * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4  *
5  * Copyright (C) 2016, Freescale Semiconductor
6  *
7  * Mingkai Hu <mingkai.hu@nxp.com>
8  */
9
10 /include/ "skeleton64.dtsi"
11
12 / {
13         compatible = "fsl,ls1046a";
14         interrupt-parent = <&gic>;
15
16         sysclk: sysclk {
17                 compatible = "fixed-clock";
18                 #clock-cells = <0>;
19                 clock-frequency = <100000000>;
20                 clock-output-names = "sysclk";
21         };
22
23         gic: interrupt-controller@1400000 {
24                 compatible = "arm,gic-400";
25                 #interrupt-cells = <3>;
26                 interrupt-controller;
27                 reg = <0x0 0x1410000 0 0x10000>, /* GICD */
28                       <0x0 0x1420000 0 0x10000>, /* GICC */
29                       <0x0 0x1440000 0 0x20000>, /* GICH */
30                       <0x0 0x1460000 0 0x20000>; /* GICV */
31                 interrupts = <1 9 0xf08>;
32         };
33
34         soc: soc {
35                 compatible = "simple-bus";
36                 #address-cells = <2>;
37                 #size-cells = <2>;
38                 ranges;
39
40                 clockgen: clocking@1ee1000 {
41                         compatible = "fsl,ls1046a-clockgen";
42                         reg = <0x0 0x1ee1000 0x0 0x1000>;
43                         #clock-cells = <2>;
44                         clocks = <&sysclk>;
45                 };
46
47                 dspi0: dspi@2100000 {
48                         compatible = "fsl,vf610-dspi";
49                         #address-cells = <1>;
50                         #size-cells = <0>;
51                         reg = <0x0 0x2100000 0x0 0x10000>;
52                         interrupts = <0 64 0x4>;
53                         clock-names = "dspi";
54                         clocks = <&clockgen 4 0>;
55                         num-cs = <6>;
56                         big-endian;
57                         status = "disabled";
58                 };
59
60                 dspi1: dspi@2110000 {
61                         compatible = "fsl,vf610-dspi";
62                         #address-cells = <1>;
63                         #size-cells = <0>;
64                         reg = <0x0 0x2110000 0x0 0x10000>;
65                         interrupts = <0 65 0x4>;
66                         clock-names = "dspi";
67                         clocks = <&clockgen 4 0>;
68                         num-cs = <6>;
69                         big-endian;
70                         status = "disabled";
71                 };
72
73                 esdhc: esdhc@1560000 {
74                         compatible = "fsl,esdhc";
75                         reg = <0x0 0x1560000 0x0 0x10000>;
76                         interrupts = <0 62 0x4>;
77                         big-endian;
78                         bus-width = <4>;
79                 };
80
81                 gpio0: gpio@2300000 {
82                         compatible = "fsl,qoriq-gpio";
83                         reg = <0x0 0x2300000 0x0 0x10000>;
84                         interrupts = <0 66 4>;
85                         gpio-controller;
86                         #gpio-cells = <2>;
87                         interrupt-controller;
88                         #interrupt-cells = <2>;
89                 };
90
91                 gpio1: gpio@2310000 {
92                         compatible = "fsl,qoriq-gpio";
93                         reg = <0x0 0x2310000 0x0 0x10000>;
94                         interrupts = <0 67 4>;
95                         gpio-controller;
96                         #gpio-cells = <2>;
97                         interrupt-controller;
98                         #interrupt-cells = <2>;
99                 };
100
101                 gpio2: gpio@2320000 {
102                         compatible = "fsl,qoriq-gpio";
103                         reg = <0x0 0x2320000 0x0 0x10000>;
104                         interrupts = <0 68 4>;
105                         gpio-controller;
106                         #gpio-cells = <2>;
107                         interrupt-controller;
108                         #interrupt-cells = <2>;
109                 };
110
111                 gpio3: gpio@2330000 {
112                         compatible = "fsl,qoriq-gpio";
113                         reg = <0x0 0x2330000 0x0 0x10000>;
114                         interrupts = <0 134 4>;
115                         gpio-controller;
116                         #gpio-cells = <2>;
117                         interrupt-controller;
118                         #interrupt-cells = <2>;
119                 };
120
121                 ifc: ifc@1530000 {
122                         compatible = "fsl,ifc", "simple-bus";
123                         reg = <0x0 0x1530000 0x0 0x10000>;
124                         interrupts = <0 43 0x4>;
125                 };
126
127                 i2c0: i2c@2180000 {
128                         compatible = "fsl,vf610-i2c";
129                         #address-cells = <1>;
130                         #size-cells = <0>;
131                         reg = <0x0 0x2180000 0x0 0x10000>;
132                         interrupts = <0 56 0x4>;
133                         clock-names = "i2c";
134                         clocks = <&clockgen 4 0>;
135                         status = "disabled";
136                 };
137
138                 i2c1: i2c@2190000 {
139                         compatible = "fsl,vf610-i2c";
140                         #address-cells = <1>;
141                         #size-cells = <0>;
142                         reg = <0x0 0x2190000 0x0 0x10000>;
143                         interrupts = <0 57 0x4>;
144                         clock-names = "i2c";
145                         clocks = <&clockgen 4 0>;
146                         status = "disabled";
147                 };
148
149                 i2c2: i2c@21a0000 {
150                         compatible = "fsl,vf610-i2c";
151                         #address-cells = <1>;
152                         #size-cells = <0>;
153                         reg = <0x0 0x21a0000 0x0 0x10000>;
154                         interrupts = <0 58 0x4>;
155                         clock-names = "i2c";
156                         clocks = <&clockgen 4 0>;
157                         status = "disabled";
158                 };
159
160                 i2c3: i2c@21b0000 {
161                         compatible = "fsl,vf610-i2c";
162                         #address-cells = <1>;
163                         #size-cells = <0>;
164                         reg = <0x0 0x21b0000 0x0 0x10000>;
165                         interrupts = <0 59 0x4>;
166                         clock-names = "i2c";
167                         clocks = <&clockgen 4 0>;
168                         status = "disabled";
169                 };
170
171                 duart0: serial@21c0500 {
172                         compatible = "fsl,ns16550", "ns16550a";
173                         reg = <0x00 0x21c0500 0x0 0x100>;
174                         interrupts = <0 54 0x4>;
175                         clocks = <&clockgen 4 0>;
176                 };
177
178                 duart1: serial@21c0600 {
179                         compatible = "fsl,ns16550", "ns16550a";
180                         reg = <0x00 0x21c0600 0x0 0x100>;
181                         interrupts = <0 54 0x4>;
182                         clocks = <&clockgen 4 0>;
183                 };
184
185                 duart2: serial@21d0500 {
186                         compatible = "fsl,ns16550", "ns16550a";
187                         reg = <0x0 0x21d0500 0x0 0x100>;
188                         interrupts = <0 55 0x4>;
189                         clocks = <&clockgen 4 0>;
190                 };
191
192                 duart3: serial@21d0600 {
193                         compatible = "fsl,ns16550", "ns16550a";
194                         reg = <0x0 0x21d0600 0x0 0x100>;
195                         interrupts = <0 55 0x4>;
196                         clocks = <&clockgen 4 0>;
197                 };
198
199                 lpuart0: serial@2950000 {
200                         compatible = "fsl,ls1021a-lpuart";
201                         reg = <0x0 0x2950000 0x0 0x1000>;
202                         interrupts = <0 48 0x4>;
203                         clocks = <&clockgen 4 0>;
204                         clock-names = "ipg";
205                         status = "disabled";
206                 };
207
208                 lpuart1: serial@2960000 {
209                         compatible = "fsl,ls1021a-lpuart";
210                         reg = <0x0 0x2960000 0x0 0x1000>;
211                         interrupts = <0 49 0x4>;
212                         clocks = <&clockgen 4 1>;
213                         clock-names = "ipg";
214                         status = "disabled";
215                 };
216
217                 lpuart2: serial@2970000 {
218                         compatible = "fsl,ls1021a-lpuart";
219                         reg = <0x0 0x2970000 0x0 0x1000>;
220                         interrupts = <0 50 0x4>;
221                         clocks = <&clockgen 4 1>;
222                         clock-names = "ipg";
223                         status = "disabled";
224                 };
225
226                 lpuart3: serial@2980000 {
227                         compatible = "fsl,ls1021a-lpuart";
228                         reg = <0x0 0x2980000 0x0 0x1000>;
229                         interrupts = <0 51 0x4>;
230                         clocks = <&clockgen 4 1>;
231                         clock-names = "ipg";
232                         status = "disabled";
233                 };
234
235                 lpuart4: serial@2990000 {
236                         compatible = "fsl,ls1021a-lpuart";
237                         reg = <0x0 0x2990000 0x0 0x1000>;
238                         interrupts = <0 52 0x4>;
239                         clocks = <&clockgen 4 1>;
240                         clock-names = "ipg";
241                         status = "disabled";
242                 };
243
244                 lpuart5: serial@29a0000 {
245                         compatible = "fsl,ls1021a-lpuart";
246                         reg = <0x0 0x29a0000 0x0 0x1000>;
247                         interrupts = <0 53 0x4>;
248                         clocks = <&clockgen 4 1>;
249                         clock-names = "ipg";
250                         status = "disabled";
251                 };
252
253                 qspi: quadspi@1550000 {
254                         compatible = "fsl,ls1021a-qspi";
255                         #address-cells = <1>;
256                         #size-cells = <0>;
257                         reg = <0x0 0x1550000 0x0 0x10000>,
258                                 <0x0 0x40000000 0x0 0x10000000>;
259                         reg-names = "QuadSPI", "QuadSPI-memory";
260                         status = "disabled";
261                 };
262
263                 usb0: usb@2f00000 {
264                         compatible = "fsl,layerscape-dwc3";
265                         reg = <0x0 0x2f00000 0x0 0x10000>;
266                         interrupts = <0 60 4>;
267                         dr_mode = "host";
268                 };
269
270                 usb1: usb@3000000 {
271                         compatible = "fsl,layerscape-dwc3";
272                         reg = <0x0 0x3000000 0x0 0x10000>;
273                         interrupts = <0 61 4>;
274                         dr_mode = "host";
275                 };
276
277                 usb2: usb@3100000 {
278                         compatible = "fsl,layerscape-dwc3";
279                         reg = <0x0 0x3100000 0x0 0x10000>;
280                         interrupts = <0 63 4>;
281                         dr_mode = "host";
282                 };
283
284                 pcie1: pcie@3400000 {
285                         compatible = "fsl,ls-pcie", "snps,dw-pcie";
286                         reg = <0x00 0x03400000 0x0 0x80000   /* dbi registers */
287                                0x00 0x03480000 0x0 0x40000   /* lut registers */
288                                0x00 0x034c0000 0x0 0x40000   /* pf controls registers */
289                                0x40 0x00000000 0x0 0x20000>; /* configuration space */
290                         reg-names = "dbi", "lut", "ctrl", "config";
291                         big-endian;
292                         #address-cells = <3>;
293                         #size-cells = <2>;
294                         device_type = "pci";
295                         bus-range = <0x0 0xff>;
296                         ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000   /* downstream I/O */
297                                   0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
298                 };
299
300                 pcie_ep1: pcie_ep@3400000 {
301                         compatible = "fsl,ls-pcie-ep";
302                         reg = <0x00 0x03400000 0x0 0x80000
303                                0x00 0x034c0000 0x0 0x40000
304                                0x40 0x00000000 0x8 0x00000000>;
305                         reg-names = "regs", "ctrl", "addr_space";
306                         num-ib-windows = <6>;
307                         num-ob-windows = <8>;
308                         big-endian;
309                 };
310
311                 pcie2: pcie@3500000 {
312                         compatible = "fsl,ls-pcie", "snps,dw-pcie";
313                         reg = <0x00 0x03500000 0x0 0x80000   /* dbi registers */
314                                0x00 0x03580000 0x0 0x40000   /* lut registers */
315                                0x00 0x035c0000 0x0 0x40000   /* pf controls registers */
316                                0x48 0x00000000 0x0 0x20000>; /* configuration space */
317                         reg-names = "dbi", "lut", "ctrl", "config";
318                         big-endian;
319                         #address-cells = <3>;
320                         #size-cells = <2>;
321                         device_type = "pci";
322                         num-lanes = <2>;
323                         bus-range = <0x0 0xff>;
324                         ranges = <0x81000000 0x0 0x00000000 0x48 0x00020000 0x0 0x00010000   /* downstream I/O */
325                                   0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
326                 };
327
328                 pcie_ep2: pcie_ep@3500000 {
329                         compatible = "fsl,ls-pcie-ep";
330                         reg = <0x00 0x03500000 0x0 0x80000
331                                0x00 0x035c0000 0x0 0x40000
332                                0x48 0x00000000 0x8 0x00000000>;
333                         reg-names = "regs", "ctrl", "addr_space";
334                         num-ib-windows = <6>;
335                         num-ob-windows = <8>;
336                         big-endian;
337                 };
338
339                 pcie3: pcie@3600000 {
340                         compatible = "fsl,ls-pcie", "snps,dw-pcie";
341                         reg = <0x00 0x03600000 0x0 0x80000   /* dbi registers */
342                                0x00 0x03680000 0x0 0x40000   /* lut registers */
343                                0x00 0x036c0000 0x0 0x40000   /* pf controls registers */
344                                0x50 0x00000000 0x0 0x20000>; /* configuration space */
345                         reg-names = "dbi", "lut", "ctrl", "config";
346                         big-endian;
347                         #address-cells = <3>;
348                         #size-cells = <2>;
349                         device_type = "pci";
350                         bus-range = <0x0 0xff>;
351                         ranges = <0x81000000 0x0 0x00000000 0x50 0x00020000 0x0 0x00010000   /* downstream I/O */
352                                   0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
353                 };
354
355                 pcie_ep3: pcie_ep@3600000 {
356                         compatible = "fsl,ls-pcie-ep";
357                         reg = <0x00 0x03600000 0x0 0x80000
358                                0x00 0x036c0000 0x0 0x40000
359                                0x50 0x00000000 0x8 0x00000000>;
360                         reg-names = "regs", "ctrl", "addr_space";
361                         num-ib-windows = <6>;
362                         num-ob-windows = <8>;
363                         big-endian;
364                 };
365
366                 sata: sata@3200000 {
367                         compatible = "fsl,ls1046a-ahci";
368                         reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
369                                0x0 0x20140520 0x0 0x4>;  /* ecc sata addr*/
370                         reg-names = "sata-base", "ecc-addr";
371                         interrupts = <0 69 4>;
372                         clocks = <&clockgen 4 1>;
373                         status = "disabled";
374                 };
375         };
376 };