1 // SPDX-License-Identifier: GPL-2.0
5 compatible = "simple-bus";
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>;
13 pic: interrupt-controller@10000000 {
14 compatible = "loongson,pch-pic-1.0";
15 reg = <0 0x10000000 0 0x400>;
17 interrupt-parent = <&htvec>;
18 loongson,pic-base-vec = <0>;
19 #interrupt-cells = <2>;
23 compatible = "loongson,ls7a-rtc";
24 reg = <0 0x100d0100 0 0x78>;
25 interrupt-parent = <&pic>;
26 interrupts = <52 IRQ_TYPE_LEVEL_HIGH>;
29 ls7a_uart0: serial@10080000 {
30 compatible = "ns16550a";
31 reg = <0 0x10080000 0 0x100>;
32 clock-frequency = <50000000>;
33 interrupt-parent = <&pic>;
34 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
38 ls7a_uart1: serial@10080100 {
40 compatible = "ns16550a";
41 reg = <0 0x10080100 0 0x100>;
42 clock-frequency = <50000000>;
43 interrupt-parent = <&pic>;
44 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
48 ls7a_uart2: serial@10080200 {
50 compatible = "ns16550a";
51 reg = <0 0x10080200 0 0x100>;
52 clock-frequency = <50000000>;
53 interrupt-parent = <&pic>;
54 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
58 ls7a_uart3: serial@10080300 {
60 compatible = "ns16550a";
61 reg = <0 0x10080300 0 0x100>;
62 clock-frequency = <50000000>;
63 interrupt-parent = <&pic>;
64 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
69 compatible = "loongson,ls7a-pci";
73 #interrupt-cells = <2>;
76 reg = <0 0x1a000000 0 0x02000000>,
77 <0xefe 0x00000000 0 0x20000000>;
79 ranges = <0x01000000 0x0 0x00020000 0x0 0x18020000 0x0 0x00020000>,
80 <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>;
83 compatible = "pci0014,7a24.0",
88 reg = <0x2000 0x0 0x0 0x0 0x0>;
89 interrupts = <49 IRQ_TYPE_LEVEL_HIGH>;
90 interrupt-parent = <&pic>;
94 compatible = "pci0014,7a14.0",
99 reg = <0x2100 0x0 0x0 0x0 0x0>;
100 interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
101 interrupt-parent = <&pic>;
105 compatible = "pci0014,7a24.0",
110 reg = <0x2800 0x0 0x0 0x0 0x0>;
111 interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
112 interrupt-parent = <&pic>;
116 compatible = "pci0014,7a14.0",
121 reg = <0x2900 0x0 0x0 0x0 0x0>;
122 interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
123 interrupt-parent = <&pic>;
127 compatible = "pci0014,7a08.0",
132 reg = <0x4000 0x0 0x0 0x0 0x0>;
133 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
134 interrupt-parent = <&pic>;
138 compatible = "pci0014,7a08.0",
143 reg = <0x4100 0x0 0x0 0x0 0x0>;
144 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
145 interrupt-parent = <&pic>;
149 compatible = "pci0014,7a08.0",
154 reg = <0x4200 0x0 0x0 0x0 0x0>;
155 interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
156 interrupt-parent = <&pic>;
160 compatible = "pci0014,7a15.0",
165 reg = <0x3000 0x0 0x0 0x0 0x0>;
166 interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
167 interrupt-parent = <&pic>;
171 compatible = "pci0014,7a06.0",
176 reg = <0x3100 0x0 0x0 0x0 0x0>;
177 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
178 interrupt-parent = <&pic>;
182 compatible = "pci0014,7a07.0",
187 reg = <0x3800 0x0 0x0 0x0 0x0>;
188 interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
189 interrupt-parent = <&pic>;
193 compatible = "pci0014,7a03.0",
198 reg = <0x1800 0x0 0x0 0x0 0x0>;
199 interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
200 <13 IRQ_TYPE_LEVEL_HIGH>;
201 interrupt-names = "macirq", "eth_lpi";
202 interrupt-parent = <&pic>;
205 #address-cells = <1>;
207 compatible = "snps,dwmac-mdio";
208 phy0: ethernet-phy@0 {
215 compatible = "pci0014,7a03.0",
219 "loongson, pci-gmac";
221 reg = <0x1900 0x0 0x0 0x0 0x0>;
222 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>,
223 <15 IRQ_TYPE_LEVEL_HIGH>;
224 interrupt-names = "macirq", "eth_lpi";
225 interrupt-parent = <&pic>;
228 #address-cells = <1>;
230 compatible = "snps,dwmac-mdio";
231 phy1: ethernet-phy@1 {
238 compatible = "pci0014,7a19.1",
243 reg = <0x4800 0x0 0x0 0x0 0x0>;
244 interrupts = <32 IRQ_TYPE_LEVEL_HIGH>;
245 interrupt-parent = <&pic>;
247 #interrupt-cells = <1>;
248 interrupt-map-mask = <0 0 0 0>;
249 interrupt-map = <0 0 0 0 &pic 32 IRQ_TYPE_LEVEL_HIGH>;
253 compatible = "pci0014,7a09.1",
258 reg = <0x5000 0x0 0x0 0x0 0x0>;
259 interrupts = <33 IRQ_TYPE_LEVEL_HIGH>;
260 interrupt-parent = <&pic>;
262 #interrupt-cells = <1>;
263 interrupt-map-mask = <0 0 0 0>;
264 interrupt-map = <0 0 0 0 &pic 33 IRQ_TYPE_LEVEL_HIGH>;
268 compatible = "pci0014,7a09.1",
273 reg = <0x5800 0x0 0x0 0x0 0x0>;
274 interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
275 interrupt-parent = <&pic>;
277 #interrupt-cells = <1>;
278 interrupt-map-mask = <0 0 0 0>;
279 interrupt-map = <0 0 0 0 &pic 34 IRQ_TYPE_LEVEL_HIGH>;
283 compatible = "pci0014,7a09.1",
288 reg = <0x6000 0x0 0x0 0x0 0x0>;
289 interrupts = <35 IRQ_TYPE_LEVEL_HIGH>;
290 interrupt-parent = <&pic>;
292 #interrupt-cells = <1>;
293 interrupt-map-mask = <0 0 0 0>;
294 interrupt-map = <0 0 0 0 &pic 35 IRQ_TYPE_LEVEL_HIGH>;
298 compatible = "pci0014,7a19.1",
303 reg = <0x6800 0x0 0x0 0x0 0x0>;
304 interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
305 interrupt-parent = <&pic>;
307 #interrupt-cells = <1>;
308 interrupt-map-mask = <0 0 0 0>;
309 interrupt-map = <0 0 0 0 &pic 36 IRQ_TYPE_LEVEL_HIGH>;
313 compatible = "pci0014,7a09.1",
318 reg = <0x7000 0x0 0x0 0x0 0x0>;
319 interrupts = <37 IRQ_TYPE_LEVEL_HIGH>;
320 interrupt-parent = <&pic>;
322 #interrupt-cells = <1>;
323 interrupt-map-mask = <0 0 0 0>;
324 interrupt-map = <0 0 0 0 &pic 37 IRQ_TYPE_LEVEL_HIGH>;
328 compatible = "pci0014,7a29.1",
333 reg = <0x7800 0x0 0x0 0x0 0x0>;
334 interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
335 interrupt-parent = <&pic>;
337 #interrupt-cells = <1>;
338 interrupt-map-mask = <0 0 0 0>;
339 interrupt-map = <0 0 0 0 &pic 40 IRQ_TYPE_LEVEL_HIGH>;
343 compatible = "pci0014,7a19.1",
348 reg = <0x8000 0x0 0x0 0x0 0x0>;
349 interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
350 interrupt-parent = <&pic>;
352 #interrupt-cells = <1>;
353 interrupt-map-mask = <0 0 0 0>;
354 interrupt-map = <0 0 0 0 &pic 41 IRQ_TYPE_LEVEL_HIGH>;
358 compatible = "pci0014,7a29.1",
363 reg = <0x8800 0x0 0x0 0x0 0x0>;
364 interrupts = <42 IRQ_TYPE_LEVEL_HIGH>;
365 interrupt-parent = <&pic>;
367 #interrupt-cells = <1>;
368 interrupt-map-mask = <0 0 0 0>;
369 interrupt-map = <0 0 0 0 &pic 42 IRQ_TYPE_LEVEL_HIGH>;
373 compatible = "pci0014,7a19.1",
378 reg = <0x9000 0x0 0x0 0x0 0x0>;
379 interrupts = <43 IRQ_TYPE_LEVEL_HIGH>;
380 interrupt-parent = <&pic>;
382 #interrupt-cells = <1>;
383 interrupt-map-mask = <0 0 0 0>;
384 interrupt-map = <0 0 0 0 &pic 43 IRQ_TYPE_LEVEL_HIGH>;
388 compatible = "pci0014,7a29.1",
393 reg = <0x9800 0x0 0x0 0x0 0x0>;
394 interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
395 interrupt-parent = <&pic>;
397 #interrupt-cells = <1>;
398 interrupt-map-mask = <0 0 0 0>;
399 interrupt-map = <0 0 0 0 &pic 38 IRQ_TYPE_LEVEL_HIGH>;
403 compatible = "pci0014,7a19.1",
408 reg = <0xa000 0x0 0x0 0x0 0x0>;
409 interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
410 interrupt-parent = <&pic>;
412 #interrupt-cells = <1>;
413 interrupt-map-mask = <0 0 0 0>;
414 interrupt-map = <0 0 0 0 &pic 39 IRQ_TYPE_LEVEL_HIGH>;
420 #address-cells = <2>;
422 ranges = <1 0 0 0x18000000 0x20000>;