blob: 5365bfb1a8e1b0c46707b8a4855583700b390431 [file] [log] [blame]
Yuantian Tang4aefa162019-04-10 16:43:33 +08001// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * NXP ls1028a SOC common device tree source
4 *
5 * Copyright 2019 NXP
6 *
7 */
8
Michael Walle851856c2019-12-18 00:10:00 +01009#include <dt-bindings/interrupt-controller/arm-gic.h>
10
Yuantian Tang4aefa162019-04-10 16:43:33 +080011/ {
12 compatible = "fsl,ls1028a";
13 interrupt-parent = <&gic>;
14 #address-cells = <2>;
15 #size-cells = <2>;
16
17 sysclk: sysclk {
18 compatible = "fixed-clock";
19 #clock-cells = <0>;
20 clock-frequency = <100000000>;
21 clock-output-names = "sysclk";
22 };
23
24 clockgen: clocking@1300000 {
25 compatible = "fsl,ls1028a-clockgen";
26 reg = <0x0 0x1300000 0x0 0xa0000>;
27 #clock-cells = <2>;
28 clocks = <&sysclk>;
29 };
30
31 memory@01080000 {
32 device_type = "memory";
33 reg = <0x00000000 0x01080000 0 0x80000000>;
34 /* DRAM space - 1, size : 2 GB DRAM */
35 };
36
37 gic: interrupt-controller@6000000 {
38 compatible = "arm,gic-v3";
39 reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
40 <0x0 0x06040000 0 0x40000>;
41 #interrupt-cells = <3>;
42 interrupt-controller;
Michael Walle851856c2019-12-18 00:10:00 +010043 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
44 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080045 };
46
47 timer {
48 compatible = "arm,armv8-timer";
Michael Walle851856c2019-12-18 00:10:00 +010049 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
50 IRQ_TYPE_LEVEL_LOW)>,
51 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
52 IRQ_TYPE_LEVEL_LOW)>,
53 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
54 IRQ_TYPE_LEVEL_LOW)>,
55 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
56 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080057 };
58
Michael Walleae182772019-12-18 00:09:59 +010059 fspi: flexspi@20c0000 {
60 compatible = "nxp,lx2160a-fspi";
Yuantian Tang4aefa162019-04-10 16:43:33 +080061 #address-cells = <1>;
62 #size-cells = <0>;
Michael Walleae182772019-12-18 00:09:59 +010063 reg = <0x0 0x20c0000 0x0 0x10000>,
64 <0x0 0x20000000 0x0 0x10000000>;
65 reg-names = "fspi_base", "fspi_mmap";
66 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
67 clock-names = "fspi_en", "fspi";
Michael Walle851856c2019-12-18 00:10:00 +010068 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080069 status = "disabled";
70 };
71
72 serial0: serial@21c0500 {
73 device_type = "serial";
74 compatible = "fsl,ns16550", "ns16550a";
75 reg = <0x0 0x21c0500 0x0 0x100>;
Michael Walle851856c2019-12-18 00:10:00 +010076 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080077 status = "disabled";
78 };
79
80 serial1: serial@21c0600 {
81 device_type = "serial";
82 compatible = "fsl,ns16550", "ns16550a";
83 reg = <0x0 0x21c0600 0x0 0x100>;
Michael Walle851856c2019-12-18 00:10:00 +010084 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080085 status = "disabled";
86 };
87
88 pcie@3400000 {
89 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
90 reg = <0x00 0x03400000 0x0 0x80000
91 0x00 0x03480000 0x0 0x40000 /* lut registers */
92 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
93 0x80 0x00000000 0x0 0x20000>; /* configuration space */
94 reg-names = "dbi", "lut", "ctrl", "config";
95 #address-cells = <3>;
96 #size-cells = <2>;
97 device_type = "pci";
98 num-lanes = <4>;
99 bus-range = <0x0 0xff>;
100 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
101 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
102 };
103
104 pcie@3500000 {
105 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
106 reg = <0x00 0x03500000 0x0 0x80000
107 0x00 0x03580000 0x0 0x40000 /* lut registers */
108 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
109 0x88 0x00000000 0x0 0x20000>; /* configuration space */
110 reg-names = "dbi", "lut", "ctrl", "config";
111 #address-cells = <3>;
112 #size-cells = <2>;
113 device_type = "pci";
114 num-lanes = <4>;
115 bus-range = <0x0 0xff>;
116 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
117 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
118 };
119
Alex Marginean0d5ed8f2019-06-07 17:03:07 +0300120 pcie@1f0000000 {
121 compatible = "pci-host-ecam-generic";
122 /* ECAM bus 0, HW has more space reserved but not populated */
123 bus-range = <0x0 0x0>;
124 reg = <0x01 0xf0000000 0x0 0x100000>;
125 #address-cells = <3>;
126 #size-cells = <2>;
127 device_type = "pci";
128 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
Alex Marginean3be715e2019-07-03 12:11:43 +0300129 enetc0: pci@0,0 {
130 reg = <0x000000 0 0 0 0>;
131 status = "disabled";
132 };
133 enetc1: pci@0,1 {
134 reg = <0x000100 0 0 0 0>;
135 status = "disabled";
136 };
137 enetc2: pci@0,2 {
138 reg = <0x000200 0 0 0 0>;
139 status = "okay";
140 phy-mode = "internal";
141 };
142 mdio0: pci@0,3 {
143 #address-cells=<0>;
144 #size-cells=<1>;
145 reg = <0x000300 0 0 0 0>;
146 status = "disabled";
147 };
148 enetc6: pci@0,6 {
149 reg = <0x000600 0 0 0 0>;
150 status = "okay";
151 phy-mode = "internal";
152 };
Alex Marginean0d5ed8f2019-06-07 17:03:07 +0300153 };
154
Yuantian Tang4aefa162019-04-10 16:43:33 +0800155 i2c0: i2c@2000000 {
156 compatible = "fsl,vf610-i2c";
157 #address-cells = <1>;
158 #size-cells = <0>;
159 reg = <0x0 0x2000000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100160 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800161 clock-names = "i2c";
162 clocks = <&clockgen 4 0>;
163 status = "disabled";
164 };
165
166 i2c1: i2c@2010000 {
167 compatible = "fsl,vf610-i2c";
168 #address-cells = <1>;
169 #size-cells = <0>;
170 reg = <0x0 0x2010000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100171 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800172 clock-names = "i2c";
173 clocks = <&clockgen 4 0>;
174 status = "disabled";
175 };
176
177 i2c2: i2c@2020000 {
178 compatible = "fsl,vf610-i2c";
179 #address-cells = <1>;
180 #size-cells = <0>;
181 reg = <0x0 0x2020000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100182 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800183 clock-names = "i2c";
184 clocks = <&clockgen 4 0>;
185 status = "disabled";
186 };
187
188 i2c3: i2c@2030000 {
189 compatible = "fsl,vf610-i2c";
190 #address-cells = <1>;
191 #size-cells = <0>;
192 reg = <0x0 0x2030000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100193 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800194 clock-names = "i2c";
195 clocks = <&clockgen 4 0>;
196 status = "disabled";
197 };
198
199 i2c4: i2c@2040000 {
200 compatible = "fsl,vf610-i2c";
201 #address-cells = <1>;
202 #size-cells = <0>;
203 reg = <0x0 0x2040000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100204 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800205 clock-names = "i2c";
206 clocks = <&clockgen 4 0>;
207 status = "disabled";
208 };
209
210 i2c5: i2c@2050000 {
211 compatible = "fsl,vf610-i2c";
212 #address-cells = <1>;
213 #size-cells = <0>;
214 reg = <0x0 0x2050000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100215 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800216 clock-names = "i2c";
217 clocks = <&clockgen 4 0>;
218 status = "disabled";
219 };
220
221 i2c6: i2c@2060000 {
222 compatible = "fsl,vf610-i2c";
223 #address-cells = <1>;
224 #size-cells = <0>;
225 reg = <0x0 0x2060000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100226 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800227 clock-names = "i2c";
228 clocks = <&clockgen 4 0>;
229 status = "disabled";
230 };
231
232 i2c7: i2c@2070000 {
233 compatible = "fsl,vf610-i2c";
234 #address-cells = <1>;
235 #size-cells = <0>;
236 reg = <0x0 0x2070000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100237 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800238 clock-names = "i2c";
239 clocks = <&clockgen 4 0>;
240 status = "disabled";
241 };
242
243 usb1: usb3@3100000 {
244 compatible = "fsl,layerscape-dwc3";
245 reg = <0x0 0x3100000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100246 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800247 dr_mode = "host";
248 status = "disabled";
249 };
250
251 usb2: usb3@3110000 {
252 compatible = "fsl,layerscape-dwc3";
253 reg = <0x0 0x3110000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100254 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800255 dr_mode = "host";
256 status = "disabled";
257 };
258
259 dspi0: dspi@2100000 {
260 compatible = "fsl,vf610-dspi";
261 #address-cells = <1>;
262 #size-cells = <0>;
263 reg = <0x0 0x2100000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100264 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800265 clock-names = "dspi";
266 clocks = <&clockgen 4 0>;
267 num-cs = <5>;
268 litte-endian;
269 status = "disabled";
270 };
271
272 dspi1: dspi@2110000 {
273 compatible = "fsl,vf610-dspi";
274 #address-cells = <1>;
275 #size-cells = <0>;
276 reg = <0x0 0x2110000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100277 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800278 clock-names = "dspi";
279 clocks = <&clockgen 4 0>;
280 num-cs = <5>;
281 little-endian;
282 status = "disabled";
283 };
284
285 dspi2: dspi@2120000 {
286 compatible = "fsl,vf610-dspi";
287 #address-cells = <1>;
288 #size-cells = <0>;
289 reg = <0x0 0x2120000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100290 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800291 clock-names = "dspi";
292 clocks = <&clockgen 4 0>;
293 num-cs = <5>;
294 little-endian;
295 status = "disabled";
296 };
297
298 esdhc0: esdhc@2140000 {
299 compatible = "fsl,esdhc";
300 reg = <0x0 0x2140000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100301 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800302 big-endian;
303 bus-width = <4>;
304 status = "disabled";
305 };
306
307 esdhc1: esdhc@2150000 {
308 compatible = "fsl,esdhc";
309 reg = <0x0 0x2150000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100310 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800311 big-endian;
312 non-removable;
313 bus-width = <4>;
314 status = "disabled";
315 };
316
317 sata: sata@3200000 {
318 compatible = "fsl,ls1028a-ahci";
Peng Ma933c5e32019-05-23 04:06:48 +0000319 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
320 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
321 reg-names = "sata-base", "ecc-addr";
Michael Walle851856c2019-12-18 00:10:00 +0100322 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800323 status = "disabled";
324 };
Qiang Zhao2a605572019-05-07 03:16:13 +0000325
326 cluster1_core0_watchdog: wdt@c000000 {
327 compatible = "arm,sp805-wdt";
328 reg = <0x0 0xc000000 0x0 0x1000>;
329 };
Yuantian Tang4aefa162019-04-10 16:43:33 +0800330};