xref: /openbmc/linux/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi (revision 0db00e5d86dc793aab9722ad3728d99166eb7d96)
1137fceb7Sxiaochuan mao// SPDX-License-Identifier: GPL-2.0
2b1a79260SQing Zhang
3b1a79260SQing Zhang/dts-v1/;
4b1a79260SQing Zhang
5b1a79260SQing Zhang#include <dt-bindings/interrupt-controller/irq.h>
6b1a79260SQing Zhang
7b1a79260SQing Zhang/ {
8b1a79260SQing Zhang	compatible = "loongson,loongson2k1000";
9b1a79260SQing Zhang
10b1a79260SQing Zhang	#address-cells = <2>;
11b1a79260SQing Zhang	#size-cells = <2>;
12b1a79260SQing Zhang
13b1a79260SQing Zhang	cpus {
14b1a79260SQing Zhang		#address-cells = <1>;
15b1a79260SQing Zhang		#size-cells = <0>;
16b1a79260SQing Zhang
17b1a79260SQing Zhang		cpu0: cpu@0 {
18b1a79260SQing Zhang			device_type = "cpu";
19b1a79260SQing Zhang			compatible = "loongson,gs264";
20b1a79260SQing Zhang			reg = <0x0>;
21b1a79260SQing Zhang			#clock-cells = <1>;
22b1a79260SQing Zhang			clocks = <&cpu_clk>;
23b1a79260SQing Zhang		};
24b1a79260SQing Zhang	};
25b1a79260SQing Zhang
26b1a79260SQing Zhang	cpu_clk: cpu_clk {
27b1a79260SQing Zhang		#clock-cells = <0>;
28b1a79260SQing Zhang		compatible = "fixed-clock";
29b1a79260SQing Zhang		clock-frequency = <800000000>;
30b1a79260SQing Zhang	};
31b1a79260SQing Zhang
32b1a79260SQing Zhang	cpuintc: interrupt-controller {
33b1a79260SQing Zhang		#address-cells = <0>;
34b1a79260SQing Zhang		#interrupt-cells = <1>;
35b1a79260SQing Zhang		interrupt-controller;
36b1a79260SQing Zhang		compatible = "mti,cpu-interrupt-controller";
37b1a79260SQing Zhang	};
38b1a79260SQing Zhang
39b1a79260SQing Zhang	package0: bus@10000000 {
40b1a79260SQing Zhang		compatible = "simple-bus";
41b1a79260SQing Zhang		#address-cells = <2>;
42b1a79260SQing Zhang		#size-cells = <2>;
43b1a79260SQing Zhang		ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* ioports */
44b1a79260SQing Zhang			0 0x40000000 0 0x40000000 0 0x40000000
45b1a79260SQing Zhang			0xfe 0x00000000 0xfe 0x00000000 0 0x40000000>;
46b1a79260SQing Zhang
47f29119b3SJiaxun Yang		isa@18000000 {
48f29119b3SJiaxun Yang			compatible = "isa";
49f29119b3SJiaxun Yang			#size-cells = <1>;
50f29119b3SJiaxun Yang			#address-cells = <2>;
51f29119b3SJiaxun Yang			ranges = <1 0x0 0x0 0x18000000 0x4000>;
52f29119b3SJiaxun Yang		};
53f29119b3SJiaxun Yang
54a8f4fcddSQing Zhang		pm: reset-controller@1fe07000 {
55a8f4fcddSQing Zhang			compatible = "loongson,ls2k-pm";
56a8f4fcddSQing Zhang			reg = <0 0x1fe07000 0 0x422>;
57a8f4fcddSQing Zhang		};
58a8f4fcddSQing Zhang
59b1a79260SQing Zhang		liointc0: interrupt-controller@1fe11400 {
60b1a79260SQing Zhang			compatible = "loongson,liointc-2.0";
61b1a79260SQing Zhang			reg = <0 0x1fe11400 0 0x40>,
62b1a79260SQing Zhang				<0 0x1fe11040 0 0x8>,
63b1a79260SQing Zhang				<0 0x1fe11140 0 0x8>;
64b1a79260SQing Zhang			reg-names = "main", "isr0", "isr1";
65b1a79260SQing Zhang
66b1a79260SQing Zhang			interrupt-controller;
67b1a79260SQing Zhang			#interrupt-cells = <2>;
68b1a79260SQing Zhang
69b1a79260SQing Zhang			interrupt-parent = <&cpuintc>;
70b1a79260SQing Zhang			interrupts = <2>;
71b1a79260SQing Zhang			interrupt-names = "int0";
72b1a79260SQing Zhang
73b1a79260SQing Zhang			loongson,parent_int_map = <0xffffffff>, /* int0 */
74b1a79260SQing Zhang						<0x00000000>, /* int1 */
75b1a79260SQing Zhang						<0x00000000>, /* int2 */
76b1a79260SQing Zhang						<0x00000000>; /* int3 */
77b1a79260SQing Zhang		};
78b1a79260SQing Zhang
79b1a79260SQing Zhang		liointc1: interrupt-controller@1fe11440 {
80b1a79260SQing Zhang			compatible = "loongson,liointc-2.0";
81b1a79260SQing Zhang			reg = <0 0x1fe11440 0 0x40>,
82b1a79260SQing Zhang				<0 0x1fe11048 0 0x8>,
83b1a79260SQing Zhang				<0 0x1fe11148 0 0x8>;
84b1a79260SQing Zhang			reg-names = "main", "isr0", "isr1";
85b1a79260SQing Zhang
86b1a79260SQing Zhang			interrupt-controller;
87b1a79260SQing Zhang			#interrupt-cells = <2>;
88b1a79260SQing Zhang
89b1a79260SQing Zhang			interrupt-parent = <&cpuintc>;
90b1a79260SQing Zhang			interrupts = <3>;
91b1a79260SQing Zhang			interrupt-names = "int1";
92b1a79260SQing Zhang
93b1a79260SQing Zhang			loongson,parent_int_map = <0x00000000>, /* int0 */
94b1a79260SQing Zhang						<0xffffffff>, /* int1 */
95b1a79260SQing Zhang						<0x00000000>, /* int2 */
96b1a79260SQing Zhang						<0x00000000>; /* int3 */
97b1a79260SQing Zhang		};
98b1a79260SQing Zhang
99e47084e1SBinbin Zhou		rtc0: rtc@1fe07800 {
100e47084e1SBinbin Zhou			compatible = "loongson,ls2k1000-rtc";
101e47084e1SBinbin Zhou			reg = <0 0x1fe07800 0 0x78>;
102*f4675c8eSJiaxun Yang			interrupt-parent = <&liointc1>;
103*f4675c8eSJiaxun Yang			interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
104e47084e1SBinbin Zhou		};
105e47084e1SBinbin Zhou
106b1a79260SQing Zhang		uart0: serial@1fe00000 {
107b1a79260SQing Zhang			compatible = "ns16550a";
108b1a79260SQing Zhang			reg = <0 0x1fe00000 0 0x8>;
109b1a79260SQing Zhang			clock-frequency = <125000000>;
110b1a79260SQing Zhang			interrupt-parent = <&liointc0>;
1113544efb8SJiaxun Yang			interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
112b1a79260SQing Zhang			no-loopback-test;
113b1a79260SQing Zhang		};
114b1a79260SQing Zhang
115b1a79260SQing Zhang		pci@1a000000 {
116b1a79260SQing Zhang			compatible = "loongson,ls2k-pci";
117b1a79260SQing Zhang			device_type = "pci";
118b1a79260SQing Zhang			#address-cells = <3>;
119b1a79260SQing Zhang			#size-cells = <2>;
120b1a79260SQing Zhang
121b1a79260SQing Zhang			reg = <0 0x1a000000 0 0x02000000>,
122b1a79260SQing Zhang				<0xfe 0x00000000 0 0x20000000>;
123b1a79260SQing Zhang
124b1a79260SQing Zhang			ranges = <0x01000000 0x0 0x00000000 0x0 0x18000000  0x0 0x00010000>,
125b1a79260SQing Zhang				 <0x02000000 0x0 0x40000000 0x0 0x40000000  0x0 0x40000000>;
126b1a79260SQing Zhang
127f8a11425SQing Zhang			gmac@3,0 {
128f8a11425SQing Zhang				compatible = "pci0014,7a03.0",
129f8a11425SQing Zhang						   "pci0014,7a03",
130f8a11425SQing Zhang						   "pciclass0c0320",
1310e73f1baSKrzysztof Kozlowski						   "pciclass0c03";
132f8a11425SQing Zhang
133f8a11425SQing Zhang				reg = <0x1800 0x0 0x0 0x0 0x0>;
1343544efb8SJiaxun Yang				interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
1353544efb8SJiaxun Yang					     <13 IRQ_TYPE_LEVEL_HIGH>;
136f8a11425SQing Zhang				interrupt-names = "macirq", "eth_lpi";
137f8a11425SQing Zhang				interrupt-parent = <&liointc0>;
13827479037SJiaxun Yang				phy-mode = "rgmii-id";
13927479037SJiaxun Yang				phy-handle = <&phy1>;
140f8a11425SQing Zhang				mdio {
141f8a11425SQing Zhang					#address-cells = <1>;
142f8a11425SQing Zhang					#size-cells = <0>;
143f8a11425SQing Zhang					compatible = "snps,dwmac-mdio";
144f8a11425SQing Zhang					phy0: ethernet-phy@0 {
145f8a11425SQing Zhang						reg = <0>;
146f8a11425SQing Zhang					};
147f8a11425SQing Zhang				};
148f8a11425SQing Zhang			};
149f8a11425SQing Zhang
150f8a11425SQing Zhang			gmac@3,1 {
151f8a11425SQing Zhang				compatible = "pci0014,7a03.0",
152f8a11425SQing Zhang						   "pci0014,7a03",
153f8a11425SQing Zhang						   "pciclass0c0320",
154f8a11425SQing Zhang						   "pciclass0c03",
155f8a11425SQing Zhang						   "loongson, pci-gmac";
156f8a11425SQing Zhang
157f8a11425SQing Zhang				reg = <0x1900 0x0 0x0 0x0 0x0>;
1583544efb8SJiaxun Yang				interrupts = <14 IRQ_TYPE_LEVEL_HIGH>,
1593544efb8SJiaxun Yang					     <15 IRQ_TYPE_LEVEL_HIGH>;
160f8a11425SQing Zhang				interrupt-names = "macirq", "eth_lpi";
161f8a11425SQing Zhang				interrupt-parent = <&liointc0>;
16227479037SJiaxun Yang				phy-mode = "rgmii-id";
16327479037SJiaxun Yang				phy-handle = <&phy1>;
164f8a11425SQing Zhang				mdio {
165f8a11425SQing Zhang					#address-cells = <1>;
166f8a11425SQing Zhang					#size-cells = <0>;
167f8a11425SQing Zhang					compatible = "snps,dwmac-mdio";
168f8a11425SQing Zhang					phy1: ethernet-phy@1 {
169f8a11425SQing Zhang						reg = <0>;
170f8a11425SQing Zhang					};
171f8a11425SQing Zhang				};
172f8a11425SQing Zhang			};
173f8a11425SQing Zhang
174b1a79260SQing Zhang			ehci@4,1 {
175b1a79260SQing Zhang				compatible = "pci0014,7a14.0",
176b1a79260SQing Zhang						   "pci0014,7a14",
177b1a79260SQing Zhang						   "pciclass0c0320",
178b1a79260SQing Zhang						   "pciclass0c03";
179b1a79260SQing Zhang
180b1a79260SQing Zhang				reg = <0x2100 0x0 0x0 0x0 0x0>;
1813544efb8SJiaxun Yang				interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
182b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
183b1a79260SQing Zhang			};
184b1a79260SQing Zhang
185fe308377Sxiaochuan mao			ohci@4,2 {
186b1a79260SQing Zhang				compatible = "pci0014,7a24.0",
187b1a79260SQing Zhang						   "pci0014,7a24",
188b1a79260SQing Zhang						   "pciclass0c0310",
189b1a79260SQing Zhang						   "pciclass0c03";
190b1a79260SQing Zhang
191b1a79260SQing Zhang				reg = <0x2200 0x0 0x0 0x0 0x0>;
1923544efb8SJiaxun Yang				interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
193b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
194b1a79260SQing Zhang			};
195b1a79260SQing Zhang
196b1a79260SQing Zhang			sata@8,0 {
197b1a79260SQing Zhang				compatible = "pci0014,7a08.0",
198b1a79260SQing Zhang						   "pci0014,7a08",
199b1a79260SQing Zhang						   "pciclass010601",
200b1a79260SQing Zhang						   "pciclass0106";
201b1a79260SQing Zhang
202b1a79260SQing Zhang				reg = <0x4000 0x0 0x0 0x0 0x0>;
2033544efb8SJiaxun Yang				interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
204b1a79260SQing Zhang				interrupt-parent = <&liointc0>;
205b1a79260SQing Zhang			};
206b1a79260SQing Zhang
207fcf20dc2SJiaxun Yang			pcie@9,0 {
208b1a79260SQing Zhang				compatible = "pci0014,7a19.0",
209b1a79260SQing Zhang						   "pci0014,7a19",
210b1a79260SQing Zhang						   "pciclass060400",
211b1a79260SQing Zhang						   "pciclass0604";
212b1a79260SQing Zhang
213b1a79260SQing Zhang				reg = <0x4800 0x0 0x0 0x0 0x0>;
214fcf20dc2SJiaxun Yang				#address-cells = <3>;
215fcf20dc2SJiaxun Yang				#size-cells = <2>;
216fcf20dc2SJiaxun Yang				device_type = "pci";
217b1a79260SQing Zhang				#interrupt-cells = <1>;
2183544efb8SJiaxun Yang				interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
219b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
220b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
2213544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 0 IRQ_TYPE_LEVEL_HIGH>;
222fcf20dc2SJiaxun Yang				ranges;
223b1a79260SQing Zhang				external-facing;
224b1a79260SQing Zhang			};
225b1a79260SQing Zhang
226fcf20dc2SJiaxun Yang			pcie@a,0 {
2279fa996c5SXiaochuan Mao				compatible = "pci0014,7a09.0",
2289fa996c5SXiaochuan Mao						   "pci0014,7a09",
229b1a79260SQing Zhang						   "pciclass060400",
230b1a79260SQing Zhang						   "pciclass0604";
231b1a79260SQing Zhang
232b1a79260SQing Zhang				reg = <0x5000 0x0 0x0 0x0 0x0>;
233fcf20dc2SJiaxun Yang				#address-cells = <3>;
234fcf20dc2SJiaxun Yang				#size-cells = <2>;
235fcf20dc2SJiaxun Yang				device_type = "pci";
236b1a79260SQing Zhang				#interrupt-cells = <1>;
2373544efb8SJiaxun Yang				interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
238b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
239b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
2403544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 1 IRQ_TYPE_LEVEL_HIGH>;
241fcf20dc2SJiaxun Yang				ranges;
242b1a79260SQing Zhang				external-facing;
243b1a79260SQing Zhang			};
244b1a79260SQing Zhang
245fcf20dc2SJiaxun Yang			pcie@b,0 {
2469fa996c5SXiaochuan Mao				compatible = "pci0014,7a09.0",
2479fa996c5SXiaochuan Mao						   "pci0014,7a09",
248b1a79260SQing Zhang						   "pciclass060400",
249b1a79260SQing Zhang						   "pciclass0604";
250b1a79260SQing Zhang
251b1a79260SQing Zhang				reg = <0x5800 0x0 0x0 0x0 0x0>;
252fcf20dc2SJiaxun Yang				#address-cells = <3>;
253fcf20dc2SJiaxun Yang				#size-cells = <2>;
254fcf20dc2SJiaxun Yang				device_type = "pci";
255b1a79260SQing Zhang				#interrupt-cells = <1>;
2563544efb8SJiaxun Yang				interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
257b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
258b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
2593544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 2 IRQ_TYPE_LEVEL_HIGH>;
260fcf20dc2SJiaxun Yang				ranges;
261b1a79260SQing Zhang				external-facing;
262b1a79260SQing Zhang			};
263b1a79260SQing Zhang
264fcf20dc2SJiaxun Yang			pcie@c,0 {
2659fa996c5SXiaochuan Mao				compatible = "pci0014,7a09.0",
2669fa996c5SXiaochuan Mao						   "pci0014,7a09",
267b1a79260SQing Zhang						   "pciclass060400",
268b1a79260SQing Zhang						   "pciclass0604";
269b1a79260SQing Zhang
270b1a79260SQing Zhang				reg = <0x6000 0x0 0x0 0x0 0x0>;
271fcf20dc2SJiaxun Yang				#address-cells = <3>;
272fcf20dc2SJiaxun Yang				#size-cells = <2>;
273fcf20dc2SJiaxun Yang				device_type = "pci";
274b1a79260SQing Zhang				#interrupt-cells = <1>;
2753544efb8SJiaxun Yang				interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
276b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
277b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
2783544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 3 IRQ_TYPE_LEVEL_HIGH>;
279fcf20dc2SJiaxun Yang				ranges;
280b1a79260SQing Zhang				external-facing;
281b1a79260SQing Zhang			};
282b1a79260SQing Zhang
283fcf20dc2SJiaxun Yang			pcie@d,0 {
284b1a79260SQing Zhang				compatible = "pci0014,7a19.0",
285b1a79260SQing Zhang						   "pci0014,7a19",
286b1a79260SQing Zhang						   "pciclass060400",
287b1a79260SQing Zhang						   "pciclass0604";
288b1a79260SQing Zhang
289b1a79260SQing Zhang				reg = <0x6800 0x0 0x0 0x0 0x0>;
290fcf20dc2SJiaxun Yang				#address-cells = <3>;
291fcf20dc2SJiaxun Yang				#size-cells = <2>;
292fcf20dc2SJiaxun Yang				device_type = "pci";
293b1a79260SQing Zhang				#interrupt-cells = <1>;
2943544efb8SJiaxun Yang				interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
295b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
296b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
2973544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 4 IRQ_TYPE_LEVEL_HIGH>;
298fcf20dc2SJiaxun Yang				ranges;
299b1a79260SQing Zhang				external-facing;
300b1a79260SQing Zhang			};
301b1a79260SQing Zhang
302fcf20dc2SJiaxun Yang			pcie@e,0 {
3039fa996c5SXiaochuan Mao				compatible = "pci0014,7a09.0",
3049fa996c5SXiaochuan Mao						   "pci0014,7a09",
305b1a79260SQing Zhang						   "pciclass060400",
306b1a79260SQing Zhang						   "pciclass0604";
307b1a79260SQing Zhang
308b1a79260SQing Zhang				reg = <0x7000 0x0 0x0 0x0 0x0>;
309fcf20dc2SJiaxun Yang				#address-cells = <3>;
310fcf20dc2SJiaxun Yang				#size-cells = <2>;
311fcf20dc2SJiaxun Yang				device_type = "pci";
312b1a79260SQing Zhang				#interrupt-cells = <1>;
3133544efb8SJiaxun Yang				interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
314b1a79260SQing Zhang				interrupt-parent = <&liointc1>;
315b1a79260SQing Zhang				interrupt-map-mask = <0 0 0 0>;
3163544efb8SJiaxun Yang				interrupt-map = <0 0 0 0 &liointc1 5 IRQ_TYPE_LEVEL_HIGH>;
317fcf20dc2SJiaxun Yang				ranges;
318b1a79260SQing Zhang				external-facing;
319b1a79260SQing Zhang			};
320b1a79260SQing Zhang
321b1a79260SQing Zhang		};
322b1a79260SQing Zhang	};
323b1a79260SQing Zhang};
324b1a79260SQing Zhang
325