diff options
Diffstat (limited to 'arch/mips/boot/dts/loongson/ls7a-pch.dtsi')
-rw-r--r-- | arch/mips/boot/dts/loongson/ls7a-pch.dtsi | 417 |
1 files changed, 417 insertions, 0 deletions
diff --git a/arch/mips/boot/dts/loongson/ls7a-pch.dtsi b/arch/mips/boot/dts/loongson/ls7a-pch.dtsi new file mode 100644 index 000000000..f99a7a11f --- /dev/null +++ b/arch/mips/boot/dts/loongson/ls7a-pch.dtsi | |||
@@ -0,0 +1,417 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0 | ||
2 | |||
3 | / { | ||
4 | pch: bus@10000000 { | ||
5 | compatible = "simple-bus"; | ||
6 | #address-cells = <2>; | ||
7 | #size-cells = <2>; | ||
8 | ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* PIO & CONF & APB */ | ||
9 | 0 0x20000000 0 0x20000000 0 0x10000000 | ||
10 | 0 0x40000000 0 0x40000000 0 0x40000000 /* PCI MEM */ | ||
11 | 0xe00 0x00000000 0xe00 0x00000000 0x100 0x0000000>; | ||
12 | |||
13 | pic: interrupt-controller@10000000 { | ||
14 | compatible = "loongson,pch-pic-1.0"; | ||
15 | reg = <0 0x10000000 0 0x400>; | ||
16 | interrupt-controller; | ||
17 | interrupt-parent = <&htvec>; | ||
18 | loongson,pic-base-vec = <0>; | ||
19 | #interrupt-cells = <2>; | ||
20 | }; | ||
21 | |||
22 | ls7a_uart0: serial@10080000 { | ||
23 | compatible = "ns16550a"; | ||
24 | reg = <0 0x10080000 0 0x100>; | ||
25 | clock-frequency = <50000000>; | ||
26 | interrupt-parent = <&pic>; | ||
27 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; | ||
28 | no-loopback-test; | ||
29 | }; | ||
30 | |||
31 | ls7a_uart1: serial@10080100 { | ||
32 | status = "disabled"; | ||
33 | compatible = "ns16550a"; | ||
34 | reg = <0 0x10080100 0 0x100>; | ||
35 | clock-frequency = <50000000>; | ||
36 | interrupt-parent = <&pic>; | ||
37 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; | ||
38 | no-loopback-test; | ||
39 | }; | ||
40 | |||
41 | ls7a_uart2: serial@10080200 { | ||
42 | status = "disabled"; | ||
43 | compatible = "ns16550a"; | ||
44 | reg = <0 0x10080200 0 0x100>; | ||
45 | clock-frequency = <50000000>; | ||
46 | interrupt-parent = <&pic>; | ||
47 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; | ||
48 | no-loopback-test; | ||
49 | }; | ||
50 | |||
51 | ls7a_uart3: serial@10080300 { | ||
52 | status = "disabled"; | ||
53 | compatible = "ns16550a"; | ||
54 | reg = <0 0x10080300 0 0x100>; | ||
55 | clock-frequency = <50000000>; | ||
56 | interrupt-parent = <&pic>; | ||
57 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; | ||
58 | no-loopback-test; | ||
59 | }; | ||
60 | |||
61 | pci@1a000000 { | ||
62 | compatible = "loongson,ls7a-pci"; | ||
63 | device_type = "pci"; | ||
64 | #address-cells = <3>; | ||
65 | #size-cells = <2>; | ||
66 | #interrupt-cells = <2>; | ||
67 | msi-parent = <&msi>; | ||
68 | |||
69 | reg = <0 0x1a000000 0 0x02000000>, | ||
70 | <0xefe 0x00000000 0 0x20000000>; | ||
71 | |||
72 | ranges = <0x01000000 0x0 0x00020000 0x0 0x18020000 0x0 0x00020000>, | ||
73 | <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>; | ||
74 | |||
75 | ohci@4,0 { | ||
76 | compatible = "pci0014,7a24.0", | ||
77 | "pci0014,7a24", | ||
78 | "pciclass0c0310", | ||
79 | "pciclass0c03"; | ||
80 | |||
81 | reg = <0x2000 0x0 0x0 0x0 0x0>; | ||
82 | interrupts = <49 IRQ_TYPE_LEVEL_HIGH>; | ||
83 | interrupt-parent = <&pic>; | ||
84 | }; | ||
85 | |||
86 | ehci@4,1 { | ||
87 | compatible = "pci0014,7a14.0", | ||
88 | "pci0014,7a14", | ||
89 | "pciclass0c0320", | ||
90 | "pciclass0c03"; | ||
91 | |||
92 | reg = <0x2100 0x0 0x0 0x0 0x0>; | ||
93 | interrupts = <48 IRQ_TYPE_LEVEL_HIGH>; | ||
94 | interrupt-parent = <&pic>; | ||
95 | }; | ||
96 | |||
97 | ohci@5,0 { | ||
98 | compatible = "pci0014,7a24.0", | ||
99 | "pci0014,7a24", | ||
100 | "pciclass0c0310", | ||
101 | "pciclass0c03"; | ||
102 | |||
103 | reg = <0x2800 0x0 0x0 0x0 0x0>; | ||
104 | interrupts = <51 IRQ_TYPE_LEVEL_HIGH>; | ||
105 | interrupt-parent = <&pic>; | ||
106 | }; | ||
107 | |||
108 | ehci@5,1 { | ||
109 | compatible = "pci0014,7a14.0", | ||
110 | "pci0014,7a14", | ||
111 | "pciclass0c0320", | ||
112 | "pciclass0c03"; | ||
113 | |||
114 | reg = <0x2900 0x0 0x0 0x0 0x0>; | ||
115 | interrupts = <50 IRQ_TYPE_LEVEL_HIGH>; | ||
116 | interrupt-parent = <&pic>; | ||
117 | }; | ||
118 | |||
119 | sata@8,0 { | ||
120 | compatible = "pci0014,7a08.0", | ||
121 | "pci0014,7a08", | ||
122 | "pciclass010601", | ||
123 | "pciclass0106"; | ||
124 | |||
125 | reg = <0x4000 0x0 0x0 0x0 0x0>; | ||
126 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; | ||
127 | interrupt-parent = <&pic>; | ||
128 | }; | ||
129 | |||
130 | sata@8,1 { | ||
131 | compatible = "pci0014,7a08.0", | ||
132 | "pci0014,7a08", | ||
133 | "pciclass010601", | ||
134 | "pciclass0106"; | ||
135 | |||
136 | reg = <0x4100 0x0 0x0 0x0 0x0>; | ||
137 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; | ||
138 | interrupt-parent = <&pic>; | ||
139 | }; | ||
140 | |||
141 | sata@8,2 { | ||
142 | compatible = "pci0014,7a08.0", | ||
143 | "pci0014,7a08", | ||
144 | "pciclass010601", | ||
145 | "pciclass0106"; | ||
146 | |||
147 | reg = <0x4200 0x0 0x0 0x0 0x0>; | ||
148 | interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; | ||
149 | interrupt-parent = <&pic>; | ||
150 | }; | ||
151 | |||
152 | gpu@6,0 { | ||
153 | compatible = "pci0014,7a15.0", | ||
154 | "pci0014,7a15", | ||
155 | "pciclass030200", | ||
156 | "pciclass0302"; | ||
157 | |||
158 | reg = <0x3000 0x0 0x0 0x0 0x0>; | ||
159 | interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; | ||
160 | interrupt-parent = <&pic>; | ||
161 | }; | ||
162 | |||
163 | dc@6,1 { | ||
164 | compatible = "pci0014,7a06.0", | ||
165 | "pci0014,7a06", | ||
166 | "pciclass030000", | ||
167 | "pciclass0300"; | ||
168 | |||
169 | reg = <0x3100 0x0 0x0 0x0 0x0>; | ||
170 | interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; | ||
171 | interrupt-parent = <&pic>; | ||
172 | }; | ||
173 | |||
174 | hda@7,0 { | ||
175 | compatible = "pci0014,7a07.0", | ||
176 | "pci0014,7a07", | ||
177 | "pciclass040300", | ||
178 | "pciclass0403"; | ||
179 | |||
180 | reg = <0x3800 0x0 0x0 0x0 0x0>; | ||
181 | interrupts = <58 IRQ_TYPE_LEVEL_HIGH>; | ||
182 | interrupt-parent = <&pic>; | ||
183 | }; | ||
184 | |||
185 | gmac@3,0 { | ||
186 | compatible = "pci0014,7a03.0", | ||
187 | "pci0014,7a03", | ||
188 | "pciclass020000", | ||
189 | "pciclass0200"; | ||
190 | |||
191 | reg = <0x1800 0x0 0x0 0x0 0x0>; | ||
192 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH>, | ||
193 | <13 IRQ_TYPE_LEVEL_HIGH>; | ||
194 | interrupt-names = "macirq", "eth_lpi"; | ||
195 | interrupt-parent = <&pic>; | ||
196 | phy-mode = "rgmii"; | ||
197 | mdio { | ||
198 | #address-cells = <1>; | ||
199 | #size-cells = <0>; | ||
200 | compatible = "snps,dwmac-mdio"; | ||
201 | phy0: ethernet-phy@0 { | ||
202 | reg = <0>; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | |||
207 | gmac@3,1 { | ||
208 | compatible = "pci0014,7a03.0", | ||
209 | "pci0014,7a03", | ||
210 | "pciclass020000", | ||
211 | "pciclass0200"; | ||
212 | |||
213 | reg = <0x1900 0x0 0x0 0x0 0x0>; | ||
214 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH>, | ||
215 | <15 IRQ_TYPE_LEVEL_HIGH>; | ||
216 | interrupt-names = "macirq", "eth_lpi"; | ||
217 | interrupt-parent = <&pic>; | ||
218 | phy-mode = "rgmii"; | ||
219 | mdio { | ||
220 | #address-cells = <1>; | ||
221 | #size-cells = <0>; | ||
222 | compatible = "snps,dwmac-mdio"; | ||
223 | phy1: ethernet-phy@1 { | ||
224 | reg = <0>; | ||
225 | }; | ||
226 | }; | ||
227 | }; | ||
228 | |||
229 | pci_bridge@9,0 { | ||
230 | compatible = "pci0014,7a19.1", | ||
231 | "pci0014,7a19", | ||
232 | "pciclass060400", | ||
233 | "pciclass0604"; | ||
234 | |||
235 | reg = <0x4800 0x0 0x0 0x0 0x0>; | ||
236 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH>; | ||
237 | interrupt-parent = <&pic>; | ||
238 | |||
239 | #interrupt-cells = <1>; | ||
240 | interrupt-map-mask = <0 0 0 0>; | ||
241 | interrupt-map = <0 0 0 0 &pic 32 IRQ_TYPE_LEVEL_HIGH>; | ||
242 | }; | ||
243 | |||
244 | pci_bridge@a,0 { | ||
245 | compatible = "pci0014,7a09.1", | ||
246 | "pci0014,7a09", | ||
247 | "pciclass060400", | ||
248 | "pciclass0604"; | ||
249 | |||
250 | reg = <0x5000 0x0 0x0 0x0 0x0>; | ||
251 | interrupts = <33 IRQ_TYPE_LEVEL_HIGH>; | ||
252 | interrupt-parent = <&pic>; | ||
253 | |||
254 | #interrupt-cells = <1>; | ||
255 | interrupt-map-mask = <0 0 0 0>; | ||
256 | interrupt-map = <0 0 0 0 &pic 33 IRQ_TYPE_LEVEL_HIGH>; | ||
257 | }; | ||
258 | |||
259 | pci_bridge@b,0 { | ||
260 | compatible = "pci0014,7a09.1", | ||
261 | "pci0014,7a09", | ||
262 | "pciclass060400", | ||
263 | "pciclass0604"; | ||
264 | |||
265 | reg = <0x5800 0x0 0x0 0x0 0x0>; | ||
266 | interrupts = <34 IRQ_TYPE_LEVEL_HIGH>; | ||
267 | interrupt-parent = <&pic>; | ||
268 | |||
269 | #interrupt-cells = <1>; | ||
270 | interrupt-map-mask = <0 0 0 0>; | ||
271 | interrupt-map = <0 0 0 0 &pic 34 IRQ_TYPE_LEVEL_HIGH>; | ||
272 | }; | ||
273 | |||
274 | pci_bridge@c,0 { | ||
275 | compatible = "pci0014,7a09.1", | ||
276 | "pci0014,7a09", | ||
277 | "pciclass060400", | ||
278 | "pciclass0604"; | ||
279 | |||
280 | reg = <0x6000 0x0 0x0 0x0 0x0>; | ||
281 | interrupts = <35 IRQ_TYPE_LEVEL_HIGH>; | ||
282 | interrupt-parent = <&pic>; | ||
283 | |||
284 | #interrupt-cells = <1>; | ||
285 | interrupt-map-mask = <0 0 0 0>; | ||
286 | interrupt-map = <0 0 0 0 &pic 35 IRQ_TYPE_LEVEL_HIGH>; | ||
287 | }; | ||
288 | |||
289 | pci_bridge@d,0 { | ||
290 | compatible = "pci0014,7a19.1", | ||
291 | "pci0014,7a19", | ||
292 | "pciclass060400", | ||
293 | "pciclass0604"; | ||
294 | |||
295 | reg = <0x6800 0x0 0x0 0x0 0x0>; | ||
296 | interrupts = <36 IRQ_TYPE_LEVEL_HIGH>; | ||
297 | interrupt-parent = <&pic>; | ||
298 | |||
299 | #interrupt-cells = <1>; | ||
300 | interrupt-map-mask = <0 0 0 0>; | ||
301 | interrupt-map = <0 0 0 0 &pic 36 IRQ_TYPE_LEVEL_HIGH>; | ||
302 | }; | ||
303 | |||
304 | pci_bridge@e,0 { | ||
305 | compatible = "pci0014,7a09.1", | ||
306 | "pci0014,7a09", | ||
307 | "pciclass060400", | ||
308 | "pciclass0604"; | ||
309 | |||
310 | reg = <0x7000 0x0 0x0 0x0 0x0>; | ||
311 | interrupts = <37 IRQ_TYPE_LEVEL_HIGH>; | ||
312 | interrupt-parent = <&pic>; | ||
313 | |||
314 | #interrupt-cells = <1>; | ||
315 | interrupt-map-mask = <0 0 0 0>; | ||
316 | interrupt-map = <0 0 0 0 &pic 37 IRQ_TYPE_LEVEL_HIGH>; | ||
317 | }; | ||
318 | |||
319 | pci_bridge@f,0 { | ||
320 | compatible = "pci0014,7a29.1", | ||
321 | "pci0014,7a29", | ||
322 | "pciclass060400", | ||
323 | "pciclass0604"; | ||
324 | |||
325 | reg = <0x7800 0x0 0x0 0x0 0x0>; | ||
326 | interrupts = <40 IRQ_TYPE_LEVEL_HIGH>; | ||
327 | interrupt-parent = <&pic>; | ||
328 | |||
329 | #interrupt-cells = <1>; | ||
330 | interrupt-map-mask = <0 0 0 0>; | ||
331 | interrupt-map = <0 0 0 0 &pic 40 IRQ_TYPE_LEVEL_HIGH>; | ||
332 | }; | ||
333 | |||
334 | pci_bridge@10,0 { | ||
335 | compatible = "pci0014,7a19.1", | ||
336 | "pci0014,7a19", | ||
337 | "pciclass060400", | ||
338 | "pciclass0604"; | ||
339 | |||
340 | reg = <0x8000 0x0 0x0 0x0 0x0>; | ||
341 | interrupts = <41 IRQ_TYPE_LEVEL_HIGH>; | ||
342 | interrupt-parent = <&pic>; | ||
343 | |||
344 | #interrupt-cells = <1>; | ||
345 | interrupt-map-mask = <0 0 0 0>; | ||
346 | interrupt-map = <0 0 0 0 &pic 41 IRQ_TYPE_LEVEL_HIGH>; | ||
347 | }; | ||
348 | |||
349 | pci_bridge@11,0 { | ||
350 | compatible = "pci0014,7a29.1", | ||
351 | "pci0014,7a29", | ||
352 | "pciclass060400", | ||
353 | "pciclass0604"; | ||
354 | |||
355 | reg = <0x8800 0x0 0x0 0x0 0x0>; | ||
356 | interrupts = <42 IRQ_TYPE_LEVEL_HIGH>; | ||
357 | interrupt-parent = <&pic>; | ||
358 | |||
359 | #interrupt-cells = <1>; | ||
360 | interrupt-map-mask = <0 0 0 0>; | ||
361 | interrupt-map = <0 0 0 0 &pic 42 IRQ_TYPE_LEVEL_HIGH>; | ||
362 | }; | ||
363 | |||
364 | pci_bridge@12,0 { | ||
365 | compatible = "pci0014,7a19.1", | ||
366 | "pci0014,7a19", | ||
367 | "pciclass060400", | ||
368 | "pciclass0604"; | ||
369 | |||
370 | reg = <0x9000 0x0 0x0 0x0 0x0>; | ||
371 | interrupts = <43 IRQ_TYPE_LEVEL_HIGH>; | ||
372 | interrupt-parent = <&pic>; | ||
373 | |||
374 | #interrupt-cells = <1>; | ||
375 | interrupt-map-mask = <0 0 0 0>; | ||
376 | interrupt-map = <0 0 0 0 &pic 43 IRQ_TYPE_LEVEL_HIGH>; | ||
377 | }; | ||
378 | |||
379 | pci_bridge@13,0 { | ||
380 | compatible = "pci0014,7a29.1", | ||
381 | "pci0014,7a29", | ||
382 | "pciclass060400", | ||
383 | "pciclass0604"; | ||
384 | |||
385 | reg = <0x9800 0x0 0x0 0x0 0x0>; | ||
386 | interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; | ||
387 | interrupt-parent = <&pic>; | ||
388 | |||
389 | #interrupt-cells = <1>; | ||
390 | interrupt-map-mask = <0 0 0 0>; | ||
391 | interrupt-map = <0 0 0 0 &pic 38 IRQ_TYPE_LEVEL_HIGH>; | ||
392 | }; | ||
393 | |||
394 | pci_bridge@14,0 { | ||
395 | compatible = "pci0014,7a19.1", | ||
396 | "pci0014,7a19", | ||
397 | "pciclass060400", | ||
398 | "pciclass0604"; | ||
399 | |||
400 | reg = <0xa000 0x0 0x0 0x0 0x0>; | ||
401 | interrupts = <39 IRQ_TYPE_LEVEL_HIGH>; | ||
402 | interrupt-parent = <&pic>; | ||
403 | |||
404 | #interrupt-cells = <1>; | ||
405 | interrupt-map-mask = <0 0 0 0>; | ||
406 | interrupt-map = <0 0 0 0 &pic 39 IRQ_TYPE_LEVEL_HIGH>; | ||
407 | }; | ||
408 | }; | ||
409 | |||
410 | isa { | ||
411 | compatible = "isa"; | ||
412 | #address-cells = <2>; | ||
413 | #size-cells = <1>; | ||
414 | ranges = <1 0 0 0x18000000 0x20000>; | ||
415 | }; | ||
416 | }; | ||
417 | }; | ||