GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / mips / boot / dts / loongson / loongson64v_4core_virtio.dts
1 // SPDX-License-Identifier: GPL-2.0
2
3 #include <dt-bindings/interrupt-controller/irq.h>
4
5 /dts-v1/;
6 / {
7         compatible = "loongson,loongson64v-4core-virtio";
8         #address-cells = <2>;
9         #size-cells = <2>;
10
11         cpuintc: interrupt-controller {
12                 #address-cells = <0>;
13                 #interrupt-cells = <1>;
14                 interrupt-controller;
15                 compatible = "mti,cpu-interrupt-controller";
16         };
17
18         package0: bus@1fe00000 {
19                 compatible = "simple-bus";
20                 #address-cells = <2>;
21                 #size-cells = <1>;
22                 ranges = <0 0x1fe00000 0 0x1fe00000 0x100000
23                         0 0x3ff00000 0 0x3ff00000 0x100000
24                         0xefd 0xfb000000 0xefd 0xfb000000 0x10000000>;
25
26                 liointc: interrupt-controller@3ff01400 {
27                         compatible = "loongson,liointc-1.0";
28                         reg = <0 0x3ff01400 0x64>;
29
30                         interrupt-controller;
31                         #interrupt-cells = <2>;
32
33                         interrupt-parent = <&cpuintc>;
34                         interrupts = <2>, <3>;
35                         interrupt-names = "int0", "int1";
36
37                         loongson,parent_int_map = <0x00000001>, /* int0 */
38                                                 <0xfffffffe>, /* int1 */
39                                                 <0x00000000>, /* int2 */
40                                                 <0x00000000>; /* int3 */
41
42                 };
43
44                 cpu_uart0: serial@1fe001e0 {
45                         compatible = "ns16550a";
46                         reg = <0 0x1fe001e0 0x8>;
47                         clock-frequency = <33000000>;
48                         interrupt-parent = <&liointc>;
49                         interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
50                         no-loopback-test;
51                 };
52         };
53
54         bus@10000000 {
55                 compatible = "simple-bus";
56                 #address-cells = <2>;
57                 #size-cells = <2>;
58                 ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* PIO & CONF & APB */
59                                 0 0x40000000 0 0x40000000 0 0x40000000>; /* PCI MEM */
60
61                 rtc0: rtc@10081000 {
62                         compatible = "google,goldfish-rtc";
63                         reg = <0 0x10081000 0 0x1000>;
64                         interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
65                         interrupt-parent = <&liointc>;
66                 };
67
68                 pci@1a000000 {
69                         compatible = "pci-host-ecam-generic";
70                         device_type = "pci";
71                         #address-cells = <3>;
72                         #size-cells = <2>;
73                         #interrupt-cells = <1>;
74
75                         bus-range = <0x0 0x1f>;
76                         reg = <0 0x1a000000 0 0x02000000>;
77
78                         ranges = <0x01000000 0x0 0x00004000 0x0 0x18004000 0x0 0x0000c000>,
79                                  <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>;
80
81                         interrupt-map = <
82                                 0x0000 0x0 0x0  0x1  &liointc  0x2 IRQ_TYPE_LEVEL_HIGH
83                                 0x0800 0x0 0x0  0x1  &liointc  0x3 IRQ_TYPE_LEVEL_HIGH
84                                 0x1000 0x0 0x0  0x1  &liointc  0x4 IRQ_TYPE_LEVEL_HIGH
85                                 0x1800 0x0 0x0  0x1  &liointc  0x5 IRQ_TYPE_LEVEL_HIGH
86                                 >;
87
88                         interrupt-map-mask = <0x1800 0x0 0x0  0x7>;
89                 };
90
91                 isa@18000000 {
92                         compatible = "isa";
93                         #address-cells = <2>;
94                         #size-cells = <1>;
95                         ranges = <1 0 0 0x18000000 0x4000>;
96                 };
97         };
98
99         hypervisor {
100                 compatible = "linux,kvm";
101         };
102 };