1 // SPDX-License-Identifier: GPL-2.0+ OR X11
3 * Device Tree Include file for Freescale Layerscape-1046A family SoC.
5 * Copyright (C) 2016, Freescale Semiconductor
8 * Mingkai Hu <mingkai.hu@nxp.com>
11 #include "skeleton64.dtsi"
12 #include <dt-bindings/clock/fsl,qoriq-clockgen.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
16 compatible = "fsl,ls1046a";
17 interrupt-parent = <&gic>;
20 compatible = "fixed-clock";
22 clock-frequency = <100000000>;
23 clock-output-names = "sysclk";
26 gic: interrupt-controller@1400000 {
27 compatible = "arm,gic-400";
28 #interrupt-cells = <3>;
30 reg = <0x0 0x1410000 0 0x10000>, /* GICD */
31 <0x0 0x1420000 0 0x10000>, /* GICC */
32 <0x0 0x1440000 0 0x20000>, /* GICH */
33 <0x0 0x1460000 0 0x20000>; /* GICV */
34 interrupts = <1 9 0xf08>;
38 compatible = "simple-bus";
44 compatible = "fsl,ls1021a-sfp";
45 reg = <0x0 0x1e80000 0x0 0x1000>;
46 clocks = <&clockgen 4 3>;
50 clockgen: clocking@1ee1000 {
51 compatible = "fsl,ls1046a-clockgen";
52 reg = <0x0 0x1ee1000 0x0 0x1000>;
58 compatible = "fsl,vf610-dspi";
61 reg = <0x0 0x2100000 0x0 0x10000>;
62 interrupts = <0 64 0x4>;
64 clocks = <&clockgen 4 0>;
65 spi-num-chipselects = <6>;
71 compatible = "fsl,vf610-dspi";
74 reg = <0x0 0x2110000 0x0 0x10000>;
75 interrupts = <0 65 0x4>;
77 clocks = <&clockgen 4 0>;
78 spi-num-chipselects = <6>;
83 esdhc: esdhc@1560000 {
84 compatible = "fsl,esdhc";
85 reg = <0x0 0x1560000 0x0 0x10000>;
86 interrupts = <0 62 0x4>;
92 compatible = "fsl,qoriq-gpio";
93 reg = <0x0 0x2300000 0x0 0x10000>;
94 interrupts = <0 66 4>;
98 #interrupt-cells = <2>;
101 gpio1: gpio@2310000 {
102 compatible = "fsl,qoriq-gpio";
103 reg = <0x0 0x2310000 0x0 0x10000>;
104 interrupts = <0 67 4>;
107 interrupt-controller;
108 #interrupt-cells = <2>;
111 gpio2: gpio@2320000 {
112 compatible = "fsl,qoriq-gpio";
113 reg = <0x0 0x2320000 0x0 0x10000>;
114 interrupts = <0 68 4>;
117 interrupt-controller;
118 #interrupt-cells = <2>;
121 gpio3: gpio@2330000 {
122 compatible = "fsl,qoriq-gpio";
123 reg = <0x0 0x2330000 0x0 0x10000>;
124 interrupts = <0 134 4>;
127 interrupt-controller;
128 #interrupt-cells = <2>;
132 compatible = "fsl,ifc", "simple-bus";
133 reg = <0x0 0x1530000 0x0 0x10000>;
134 interrupts = <0 43 0x4>;
137 crypto: crypto@1700000 {
138 compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
141 #address-cells = <1>;
143 ranges = <0x0 0x00 0x1700000 0x100000>;
144 reg = <0x00 0x1700000 0x0 0x100000>;
145 interrupts = <0 75 0x4>;
148 compatible = "fsl,sec-v5.4-job-ring",
149 "fsl,sec-v5.0-job-ring",
150 "fsl,sec-v4.0-job-ring";
151 reg = <0x10000 0x10000>;
152 interrupts = <0 71 0x4>;
156 compatible = "fsl,sec-v5.4-job-ring",
157 "fsl,sec-v5.0-job-ring",
158 "fsl,sec-v4.0-job-ring";
159 reg = <0x20000 0x10000>;
160 interrupts = <0 72 0x4>;
164 compatible = "fsl,sec-v5.4-job-ring",
165 "fsl,sec-v5.0-job-ring",
166 "fsl,sec-v4.0-job-ring";
167 reg = <0x30000 0x10000>;
168 interrupts = <0 73 0x4>;
172 compatible = "fsl,sec-v5.4-job-ring",
173 "fsl,sec-v5.0-job-ring",
174 "fsl,sec-v4.0-job-ring";
175 reg = <0x40000 0x10000>;
176 interrupts = <0 74 0x4>;
181 compatible = "fsl,vf610-i2c";
182 #address-cells = <1>;
184 reg = <0x0 0x2180000 0x0 0x10000>;
185 interrupts = <0 56 0x4>;
187 clocks = <&clockgen 4 0>;
192 compatible = "fsl,vf610-i2c";
193 #address-cells = <1>;
195 reg = <0x0 0x2190000 0x0 0x10000>;
196 interrupts = <0 57 0x4>;
198 clocks = <&clockgen 4 0>;
203 compatible = "fsl,vf610-i2c";
204 #address-cells = <1>;
206 reg = <0x0 0x21a0000 0x0 0x10000>;
207 interrupts = <0 58 0x4>;
209 clocks = <&clockgen 4 0>;
214 compatible = "fsl,vf610-i2c";
215 #address-cells = <1>;
217 reg = <0x0 0x21b0000 0x0 0x10000>;
218 interrupts = <0 59 0x4>;
220 clocks = <&clockgen 4 0>;
224 duart0: serial@21c0500 {
225 compatible = "fsl,ns16550", "ns16550a";
226 reg = <0x00 0x21c0500 0x0 0x100>;
227 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
228 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
229 QORIQ_CLK_PLL_DIV(2)>;
233 duart1: serial@21c0600 {
234 compatible = "fsl,ns16550", "ns16550a";
235 reg = <0x00 0x21c0600 0x0 0x100>;
236 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
237 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
238 QORIQ_CLK_PLL_DIV(2)>;
242 duart2: serial@21d0500 {
243 compatible = "fsl,ns16550", "ns16550a";
244 reg = <0x0 0x21d0500 0x0 0x100>;
245 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
246 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
247 QORIQ_CLK_PLL_DIV(2)>;
251 duart3: serial@21d0600 {
252 compatible = "fsl,ns16550", "ns16550a";
253 reg = <0x0 0x21d0600 0x0 0x100>;
254 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
255 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
256 QORIQ_CLK_PLL_DIV(2)>;
260 lpuart0: serial@2950000 {
261 compatible = "fsl,ls1021a-lpuart";
262 reg = <0x0 0x2950000 0x0 0x1000>;
263 interrupts = <0 48 0x4>;
264 clocks = <&clockgen 4 0>;
269 lpuart1: serial@2960000 {
270 compatible = "fsl,ls1021a-lpuart";
271 reg = <0x0 0x2960000 0x0 0x1000>;
272 interrupts = <0 49 0x4>;
273 clocks = <&clockgen 4 1>;
278 lpuart2: serial@2970000 {
279 compatible = "fsl,ls1021a-lpuart";
280 reg = <0x0 0x2970000 0x0 0x1000>;
281 interrupts = <0 50 0x4>;
282 clocks = <&clockgen 4 1>;
287 lpuart3: serial@2980000 {
288 compatible = "fsl,ls1021a-lpuart";
289 reg = <0x0 0x2980000 0x0 0x1000>;
290 interrupts = <0 51 0x4>;
291 clocks = <&clockgen 4 1>;
296 lpuart4: serial@2990000 {
297 compatible = "fsl,ls1021a-lpuart";
298 reg = <0x0 0x2990000 0x0 0x1000>;
299 interrupts = <0 52 0x4>;
300 clocks = <&clockgen 4 1>;
305 lpuart5: serial@29a0000 {
306 compatible = "fsl,ls1021a-lpuart";
307 reg = <0x0 0x29a0000 0x0 0x1000>;
308 interrupts = <0 53 0x4>;
309 clocks = <&clockgen 4 1>;
314 qspi: quadspi@1550000 {
315 compatible = "fsl,ls1021a-qspi";
316 #address-cells = <1>;
318 reg = <0x0 0x1550000 0x0 0x10000>,
319 <0x0 0x40000000 0x0 0x10000000>;
320 reg-names = "QuadSPI", "QuadSPI-memory";
325 compatible = "fsl,layerscape-dwc3";
326 reg = <0x0 0x2f00000 0x0 0x10000>;
327 interrupts = <0 60 4>;
332 compatible = "fsl,layerscape-dwc3";
333 reg = <0x0 0x3000000 0x0 0x10000>;
334 interrupts = <0 61 4>;
339 compatible = "fsl,layerscape-dwc3";
340 reg = <0x0 0x3100000 0x0 0x10000>;
341 interrupts = <0 63 4>;
345 pcie1: pcie@3400000 {
346 compatible = "fsl,ls-pcie", "snps,dw-pcie";
347 reg = <0x00 0x03400000 0x0 0x80000 /* dbi registers */
348 0x00 0x03480000 0x0 0x40000 /* lut registers */
349 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
350 0x40 0x00000000 0x0 0x20000>; /* configuration space */
351 reg-names = "dbi", "lut", "ctrl", "config";
353 #address-cells = <3>;
356 bus-range = <0x0 0xff>;
357 ranges = <0x81000000 0x0 0x00000000 0x40 0x00020000 0x0 0x00010000 /* downstream I/O */
358 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
361 pcie_ep1: pcie_ep@3400000 {
362 compatible = "fsl,ls-pcie-ep";
363 reg = <0x00 0x03400000 0x0 0x80000
364 0x00 0x034c0000 0x0 0x40000
365 0x40 0x00000000 0x8 0x00000000>;
366 reg-names = "regs", "ctrl", "addr_space";
367 num-ib-windows = <6>;
368 num-ob-windows = <8>;
372 pcie2: pcie@3500000 {
373 compatible = "fsl,ls-pcie", "snps,dw-pcie";
374 reg = <0x00 0x03500000 0x0 0x80000 /* dbi registers */
375 0x00 0x03580000 0x0 0x40000 /* lut registers */
376 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
377 0x48 0x00000000 0x0 0x20000>; /* configuration space */
378 reg-names = "dbi", "lut", "ctrl", "config";
380 #address-cells = <3>;
384 bus-range = <0x0 0xff>;
385 ranges = <0x81000000 0x0 0x00000000 0x48 0x00020000 0x0 0x00010000 /* downstream I/O */
386 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
389 pcie_ep2: pcie_ep@3500000 {
390 compatible = "fsl,ls-pcie-ep";
391 reg = <0x00 0x03500000 0x0 0x80000
392 0x00 0x035c0000 0x0 0x40000
393 0x48 0x00000000 0x8 0x00000000>;
394 reg-names = "regs", "ctrl", "addr_space";
395 num-ib-windows = <6>;
396 num-ob-windows = <8>;
400 pcie3: pcie@3600000 {
401 compatible = "fsl,ls-pcie", "snps,dw-pcie";
402 reg = <0x00 0x03600000 0x0 0x80000 /* dbi registers */
403 0x00 0x03680000 0x0 0x40000 /* lut registers */
404 0x00 0x036c0000 0x0 0x40000 /* pf controls registers */
405 0x50 0x00000000 0x0 0x20000>; /* configuration space */
406 reg-names = "dbi", "lut", "ctrl", "config";
408 #address-cells = <3>;
411 bus-range = <0x0 0xff>;
412 ranges = <0x81000000 0x0 0x00000000 0x50 0x00020000 0x0 0x00010000 /* downstream I/O */
413 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
416 pcie_ep3: pcie_ep@3600000 {
417 compatible = "fsl,ls-pcie-ep";
418 reg = <0x00 0x03600000 0x0 0x80000
419 0x00 0x036c0000 0x0 0x40000
420 0x50 0x00000000 0x8 0x00000000>;
421 reg-names = "regs", "ctrl", "addr_space";
422 num-ib-windows = <6>;
423 num-ob-windows = <8>;
428 compatible = "fsl,ls1046a-ahci";
429 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
430 0x0 0x20140520 0x0 0x4>; /* ecc sata addr*/
431 reg-names = "ahci", "sata-ecc";
432 interrupts = <0 69 4>;
433 clocks = <&clockgen 4 1>;