Revert "arm64: Layerscape: Survive LPI one-way reset workaround"
[platform/kernel/u-boot.git] / arch / arm / dts / fsl-ls1088a.dtsi
1 // SPDX-License-Identifier: GPL-2.0+ OR X11
2 /*
3  * NXP ls1088a SOC common device tree source
4  *
5  * Copyright 2017, 2020-2021 NXP
6  */
7
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 / {
10         compatible = "fsl,ls1088a";
11         interrupt-parent = <&gic>;
12         #address-cells = <2>;
13         #size-cells = <2>;
14
15         memory@80000000 {
16                 device_type = "memory";
17                 reg = <0x00000000 0x80000000 0 0x80000000>;
18                       /* DRAM space - 1, size : 2 GB DRAM */
19         };
20
21         gic: interrupt-controller@6000000 {
22                 compatible = "arm,gic-v3";
23                 reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
24                       <0x0 0x06100000 0 0x100000>; /* GICR (RD_base + SGI_base) */
25                 #interrupt-cells = <3>;
26                 interrupt-controller;
27                 interrupts = <1 9 0x4>;
28         };
29
30         timer {
31                 compatible = "arm,armv8-timer";
32                 interrupts = <1 13 0x8>, /* Physical Secure PPI, active-low */
33                              <1 14 0x8>, /* Physical Non-Secure PPI, active-low */
34                              <1 11 0x8>, /* Virtual PPI, active-low */
35                              <1 10 0x8>; /* Hypervisor PPI, active-low */
36         };
37
38         i2c0: i2c@2000000 {
39                 compatible = "fsl,vf610-i2c";
40                 #address-cells = <1>;
41                 #size-cells = <0>;
42                 reg = <0x0 0x2000000 0x0 0x10000>;
43                 interrupts = <0 34 4>;
44         };
45
46         i2c1: i2c@2010000 {
47                 compatible = "fsl,vf610-i2c";
48                 #address-cells = <1>;
49                 #size-cells = <0>;
50                 reg = <0x0 0x2010000 0x0 0x10000>;
51                 interrupts = <0 34 4>;
52         };
53
54         i2c2: i2c@2020000 {
55                 compatible = "fsl,vf610-i2c";
56                 #address-cells = <1>;
57                 #size-cells = <0>;
58                 reg = <0x0 0x2020000 0x0 0x10000>;
59                 interrupts = <0 35 4>;
60         };
61
62         i2c3: i2c@2030000 {
63                 compatible = "fsl,vf610-i2c";
64                 #address-cells = <1>;
65                 #size-cells = <0>;
66                 reg = <0x0 0x2030000 0x0 0x10000>;
67                 interrupts = <0 35 4>;
68         };
69
70         serial0: serial@21c0500 {
71                 device_type = "serial";
72                 compatible = "fsl,ns16550", "ns16550a";
73                 reg = <0x0 0x21c0500 0x0 0x100>;
74                 clock-frequency = <0>;  /* Updated by bootloader */
75                 interrupts = <0 32 0x1>; /* edge triggered */
76         };
77
78         serial1: serial@21c0600 {
79                 device_type = "serial";
80                 compatible = "fsl,ns16550", "ns16550a";
81                 reg = <0x0 0x21c0600 0x0 0x100>;
82                 clock-frequency = <0>;  /* Updated by bootloader */
83                 interrupts = <0 32 0x1>; /* edge triggered */
84         };
85
86         dspi: dspi@2100000 {
87                 compatible = "fsl,vf610-dspi";
88                 #address-cells = <1>;
89                 #size-cells = <0>;
90                 reg = <0x0 0x2100000 0x0 0x10000>;
91                 interrupts = <0 26 0x4>; /* Level high type */
92                 num-cs = <6>;
93         };
94
95         qspi: quadspi@1550000 {
96                 compatible = "fsl,ls1088a-qspi";
97                 #address-cells = <1>;
98                 #size-cells = <0>;
99                 reg = <0x0 0x20c0000 0x0 0x10000>,
100                         <0x0 0x20000000 0x0 0x10000000>;
101                 reg-names = "QuadSPI", "QuadSPI-memory";
102                 num-cs = <4>;
103         };
104
105         esdhc: esdhc@2140000 {
106                 compatible = "fsl,esdhc";
107                 reg = <0x0 0x2140000 0x0 0x10000>;
108                 interrupts = <0 28 0x4>; /* Level high type */
109                 little-endian;
110                 bus-width = <4>;
111         };
112
113         gpio0: gpio@2300000 {
114                 compatible = "fsl,ls1088a-gpio", "fsl,qoriq-gpio";
115                 reg = <0x0 0x2300000 0x0 0x10000>;
116                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
117                 little-endian;
118                 gpio-controller;
119                 #gpio-cells = <2>;
120                 interrupt-controller;
121                 #interrupt-cells = <2>;
122         };
123
124         gpio1: gpio@2310000 {
125                 compatible = "fsl,ls1088a-gpio", "fsl,qoriq-gpio";
126                 reg = <0x0 0x2310000 0x0 0x10000>;
127                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
128                 little-endian;
129                 gpio-controller;
130                 #gpio-cells = <2>;
131                 interrupt-controller;
132                 #interrupt-cells = <2>;
133         };
134
135         gpio2: gpio@2320000 {
136                 compatible = "fsl,ls1088a-gpio", "fsl,qoriq-gpio";
137                 reg = <0x0 0x2320000 0x0 0x10000>;
138                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
139                 little-endian;
140                 gpio-controller;
141                 #gpio-cells = <2>;
142                 interrupt-controller;
143                 #interrupt-cells = <2>;
144         };
145
146         gpio3: gpio@2330000 {
147                 compatible = "fsl,ls1088a-gpio", "fsl,qoriq-gpio";
148                 reg = <0x0 0x2330000 0x0 0x10000>;
149                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
150                 little-endian;
151                 gpio-controller;
152                 #gpio-cells = <2>;
153                 interrupt-controller;
154                 #interrupt-cells = <2>;
155         };
156
157         ifc: ifc@1530000 {
158                 compatible = "fsl,ifc", "simple-bus";
159                 reg = <0x0 0x2240000 0x0 0x20000>;
160                 interrupts = <0 21 0x4>; /* Level high type */
161         };
162
163         usb0: usb3@3100000 {
164                 compatible = "fsl,layerscape-dwc3";
165                 reg = <0x0 0x3100000 0x0 0x10000>;
166                 interrupts = <0 80 0x4>; /* Level high type */
167                 dr_mode = "host";
168         };
169
170         usb1: usb3@3110000 {
171                 compatible = "fsl,layerscape-dwc3";
172                 reg = <0x0 0x3110000 0x0 0x10000>;
173                 interrupts = <0 81 0x4>; /* Level high type */
174                 dr_mode = "host";
175         };
176
177         pcie1: pcie@3400000 {
178                 compatible = "fsl,ls-pcie", "snps,dw-pcie";
179                 reg = <0x00 0x03400000 0x0 0x80000   /* dbi registers */
180                        0x00 0x03480000 0x0 0x80000   /* lut registers */
181                        0x00 0x034c0000 0x0 0x40000   /* pf controls registers */
182                        0x20 0x00000000 0x0 0x20000>; /* configuration space */
183                 reg-names = "dbi", "lut", "ctrl", "config";
184                 #address-cells = <3>;
185                 #size-cells = <2>;
186                 device_type = "pci";
187                 num-lanes = <4>;
188                 bus-range = <0x0 0xff>;
189                 ranges = <0x81000000 0x0 0x00000000 0x20 0x00020000 0x0 0x00010000   /* downstream I/O */
190                           0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
191         };
192
193         pcie2: pcie@3500000 {
194                 compatible = "fsl,ls-pcie", "snps,dw-pcie";
195                 reg = <0x00 0x03500000 0x0 0x80000   /* dbi registers */
196                        0x00 0x03580000 0x0 0x80000   /* lut registers */
197                        0x00 0x035c0000 0x0 0x40000   /* pf controls registers */
198                        0x28 0x00000000 0x0 0x20000>; /* configuration space */
199                 reg-names = "dbi", "lut", "ctrl", "config";
200                 #address-cells = <3>;
201                 #size-cells = <2>;
202                 device_type = "pci";
203                 num-lanes = <4>;
204                 bus-range = <0x0 0xff>;
205                 ranges = <0x81000000 0x0 0x00000000 0x28 0x00020000 0x0 0x00010000   /* downstream I/O */
206                           0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
207         };
208
209         pcie3: pcie@3600000 {
210                 compatible = "fsl,ls-pcie", "snps,dw-pcie";
211                 reg = <0x00 0x03600000 0x0 0x80000   /* dbi registers */
212                        0x00 0x03680000 0x0 0x80000   /* lut registers */
213                        0x00 0x036c0000 0x0 0x40000   /* pf controls registers */
214                        0x30 0x00000000 0x0 0x20000>; /* configuration space */
215                 reg-names = "dbi", "lut", "ctrl", "config";
216                 #address-cells = <3>;
217                 #size-cells = <2>;
218                 device_type = "pci";
219                 num-lanes = <8>;
220                 bus-range = <0x0 0xff>;
221                 ranges = <0x81000000 0x0 0x00000000 0x30 0x00020000 0x0 0x00010000   /* downstream I/O */
222                           0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
223         };
224
225         sata: sata@3200000 {
226                 compatible = "fsl,ls1088a-ahci";
227                 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
228                        0x7 0x100520  0x0 0x4>;   /* ecc sata addr*/
229                 reg-names = "sata-base", "ecc-addr";
230                 interrupts = <0 133 4>;
231                 status = "disabled";
232         };
233
234         psci {
235                 compatible = "arm,psci-0.2";
236                 method = "smc";
237         };
238
239         fsl_mc: fsl-mc@80c000000 {
240                 compatible = "fsl,qoriq-mc", "simple-mfd";
241                 reg = <0x00000008 0x0c000000 0 0x40>,    /* MC portal base */
242                       <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
243                 #address-cells = <3>;
244                 #size-cells = <1>;
245
246                 /*
247                  * Region type 0x0 - MC portals
248                  * Region type 0x1 - QBMAN portals
249                  */
250                 ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
251                           0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
252
253                 dpmacs {
254                         compatible = "simple-mfd";
255                         #address-cells = <1>;
256                         #size-cells = <0>;
257
258                         dpmac1: dpmac@1 {
259                                 compatible = "fsl,qoriq-mc-dpmac";
260                                 reg = <0x1>;
261                                 status = "disabled";
262                         };
263
264                         dpmac2: dpmac@2 {
265                                 compatible = "fsl,qoriq-mc-dpmac";
266                                 reg = <0x2>;
267                                 status = "disabled";
268                         };
269
270                         dpmac3: dpmac@3 {
271                                 compatible = "fsl,qoriq-mc-dpmac";
272                                 reg = <0x3>;
273                                 status = "disabled";
274                         };
275
276                         dpmac4: dpmac@4 {
277                                 compatible = "fsl,qoriq-mc-dpmac";
278                                 reg = <0x4>;
279                                 status = "disabled";
280                         };
281
282                         dpmac5: dpmac@5 {
283                                 compatible = "fsl,qoriq-mc-dpmac";
284                                 reg = <0x5>;
285                                 status = "disabled";
286                         };
287
288                         dpmac6: dpmac@6 {
289                                 compatible = "fsl,qoriq-mc-dpmac";
290                                 reg = <0x6>;
291                                 status = "disabled";
292                         };
293
294                         dpmac7: dpmac@7 {
295                                 compatible = "fsl,qoriq-mc-dpmac";
296                                 reg = <0x7>;
297                                 status = "disabled";
298                         };
299
300                         dpmac8: dpmac@8 {
301                                 compatible = "fsl,qoriq-mc-dpmac";
302                                 reg = <0x8>;
303                                 status = "disabled";
304                         };
305
306                         dpmac9: dpmac@9 {
307                                 compatible = "fsl,qoriq-mc-dpmac";
308                                 reg = <0x9>;
309                                 status = "disabled";
310                         };
311
312                         dpmac10: dpmac@a {
313                                 compatible = "fsl,qoriq-mc-dpmac";
314                                 reg = <0xa>;
315                                 status = "disabled";
316                         };
317                 };
318         };
319
320         emdio1: mdio@8B96000 {
321                 compatible = "fsl,ls-mdio";
322                 reg = <0x0 0x8B96000 0x0 0x1000>;
323                 #address-cells = <1>;
324                 #size-cells = <0>;
325                 status = "disabled";
326         };
327
328         emdio2: mdio@8B97000 {
329                 compatible = "fsl,ls-mdio";
330                 reg = <0x0 0x8B97000 0x0 0x1000>;
331                 #address-cells = <1>;
332                 #size-cells = <0>;
333                 status = "disabled";
334         };
335 };