xref: /freebsd/sys/contrib/device-tree/src/mips/img/boston.dts (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/dts-v1/;
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/boston-clock.h>
5c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
6c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
7c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h>
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot/ {
10c66ec88fSEmmanuel Vadot	#address-cells = <1>;
11c66ec88fSEmmanuel Vadot	#size-cells = <1>;
12c66ec88fSEmmanuel Vadot	compatible = "img,boston";
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot	chosen {
15c66ec88fSEmmanuel Vadot		stdout-path = "uart0:115200";
16c66ec88fSEmmanuel Vadot	};
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot	aliases {
19c66ec88fSEmmanuel Vadot		uart0 = &uart0;
20c66ec88fSEmmanuel Vadot	};
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot	cpus {
23c66ec88fSEmmanuel Vadot		#address-cells = <1>;
24c66ec88fSEmmanuel Vadot		#size-cells = <0>;
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot		cpu@0 {
27c66ec88fSEmmanuel Vadot			device_type = "cpu";
28c66ec88fSEmmanuel Vadot			compatible = "img,mips";
29c66ec88fSEmmanuel Vadot			reg = <0>;
30c66ec88fSEmmanuel Vadot			clocks = <&clk_boston BOSTON_CLK_CPU>;
31c66ec88fSEmmanuel Vadot		};
32c66ec88fSEmmanuel Vadot	};
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot	memory@0 {
35c66ec88fSEmmanuel Vadot		device_type = "memory";
36c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x10000000>;
37c66ec88fSEmmanuel Vadot	};
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot	pci0: pci@10000000 {
40c66ec88fSEmmanuel Vadot		compatible = "xlnx,axi-pcie-host-1.00.a";
41c66ec88fSEmmanuel Vadot		device_type = "pci";
42c66ec88fSEmmanuel Vadot		reg = <0x10000000 0x2000000>;
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot		#address-cells = <3>;
45c66ec88fSEmmanuel Vadot		#size-cells = <2>;
46c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
49c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0x40000000
52c66ec88fSEmmanuel Vadot			  0x40000000 0 0x40000000>;
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
55c66ec88fSEmmanuel Vadot
56c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 7>;
57c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &pci0_intc 1>,
58c66ec88fSEmmanuel Vadot				<0 0 0 2 &pci0_intc 2>,
59c66ec88fSEmmanuel Vadot				<0 0 0 3 &pci0_intc 3>,
60c66ec88fSEmmanuel Vadot				<0 0 0 4 &pci0_intc 4>;
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot		pci0_intc: interrupt-controller {
63c66ec88fSEmmanuel Vadot			interrupt-controller;
64c66ec88fSEmmanuel Vadot			#address-cells = <0>;
65c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
66c66ec88fSEmmanuel Vadot		};
67c66ec88fSEmmanuel Vadot	};
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot	pci1: pci@12000000 {
70c66ec88fSEmmanuel Vadot		compatible = "xlnx,axi-pcie-host-1.00.a";
71c66ec88fSEmmanuel Vadot		device_type = "pci";
72c66ec88fSEmmanuel Vadot		reg = <0x12000000 0x2000000>;
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot		#address-cells = <3>;
75c66ec88fSEmmanuel Vadot		#size-cells = <2>;
76c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
77c66ec88fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
79c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0x20000000
82c66ec88fSEmmanuel Vadot			  0x20000000 0 0x20000000>;
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 7>;
87c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &pci1_intc 1>,
88c66ec88fSEmmanuel Vadot				<0 0 0 2 &pci1_intc 2>,
89c66ec88fSEmmanuel Vadot				<0 0 0 3 &pci1_intc 3>,
90c66ec88fSEmmanuel Vadot				<0 0 0 4 &pci1_intc 4>;
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadot		pci1_intc: interrupt-controller {
93c66ec88fSEmmanuel Vadot			interrupt-controller;
94c66ec88fSEmmanuel Vadot			#address-cells = <0>;
95c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
96c66ec88fSEmmanuel Vadot		};
97c66ec88fSEmmanuel Vadot	};
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot	pci2: pci@14000000 {
100c66ec88fSEmmanuel Vadot		compatible = "xlnx,axi-pcie-host-1.00.a";
101c66ec88fSEmmanuel Vadot		device_type = "pci";
102c66ec88fSEmmanuel Vadot		reg = <0x14000000 0x2000000>;
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot		#address-cells = <3>;
105c66ec88fSEmmanuel Vadot		#size-cells = <2>;
106c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
109c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>;
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0x16000000
112c66ec88fSEmmanuel Vadot			  0x16000000 0 0x100000>;
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
115c66ec88fSEmmanuel Vadot
116c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 7>;
117c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 1 &pci2_intc 1>,
118c66ec88fSEmmanuel Vadot				<0 0 0 2 &pci2_intc 2>,
119c66ec88fSEmmanuel Vadot				<0 0 0 3 &pci2_intc 3>,
120c66ec88fSEmmanuel Vadot				<0 0 0 4 &pci2_intc 4>;
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot		pci2_intc: interrupt-controller {
123c66ec88fSEmmanuel Vadot			interrupt-controller;
124c66ec88fSEmmanuel Vadot			#address-cells = <0>;
125c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
126c66ec88fSEmmanuel Vadot		};
127c66ec88fSEmmanuel Vadot
128*cb7aa33aSEmmanuel Vadot		pci2_root@0,0 {
129c66ec88fSEmmanuel Vadot			compatible = "pci10ee,7021";
130c66ec88fSEmmanuel Vadot			reg = <0x00000000 0 0 0 0>;
131c66ec88fSEmmanuel Vadot
132c66ec88fSEmmanuel Vadot			#address-cells = <3>;
133c66ec88fSEmmanuel Vadot			#size-cells = <2>;
134c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
135c66ec88fSEmmanuel Vadot
136c66ec88fSEmmanuel Vadot			eg20t_bridge@1,0,0 {
137c66ec88fSEmmanuel Vadot				compatible = "pci8086,8800";
138c66ec88fSEmmanuel Vadot				reg = <0x00010000 0 0 0 0>;
139c66ec88fSEmmanuel Vadot
140c66ec88fSEmmanuel Vadot				#address-cells = <3>;
141c66ec88fSEmmanuel Vadot				#size-cells = <2>;
142c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
143c66ec88fSEmmanuel Vadot
144c66ec88fSEmmanuel Vadot				eg20t_phub@2,0,0 {
145c66ec88fSEmmanuel Vadot					compatible = "pci8086,8801";
146c66ec88fSEmmanuel Vadot					reg = <0x00020000 0 0 0 0>;
147c66ec88fSEmmanuel Vadot					intel,eg20t-prefetch = <0>;
148c66ec88fSEmmanuel Vadot				};
149c66ec88fSEmmanuel Vadot
150c66ec88fSEmmanuel Vadot				eg20t_mac@2,0,1 {
151c66ec88fSEmmanuel Vadot					compatible = "pci8086,8802";
152c66ec88fSEmmanuel Vadot					reg = <0x00020100 0 0 0 0>;
153c66ec88fSEmmanuel Vadot					phy-reset-gpios = <&eg20t_gpio 6
154c66ec88fSEmmanuel Vadot							   GPIO_ACTIVE_LOW>;
155c66ec88fSEmmanuel Vadot				};
156c66ec88fSEmmanuel Vadot
157c66ec88fSEmmanuel Vadot				eg20t_gpio: eg20t_gpio@2,0,2 {
158c66ec88fSEmmanuel Vadot					compatible = "pci8086,8803";
159c66ec88fSEmmanuel Vadot					reg = <0x00020200 0 0 0 0>;
160c66ec88fSEmmanuel Vadot
161c66ec88fSEmmanuel Vadot					gpio-controller;
162c66ec88fSEmmanuel Vadot					#gpio-cells = <2>;
163c66ec88fSEmmanuel Vadot				};
164c66ec88fSEmmanuel Vadot
165c66ec88fSEmmanuel Vadot				eg20t_i2c@2,12,2 {
166c66ec88fSEmmanuel Vadot					compatible = "pci8086,8817";
167c66ec88fSEmmanuel Vadot					reg = <0x00026200 0 0 0 0>;
168c66ec88fSEmmanuel Vadot
169c66ec88fSEmmanuel Vadot					#address-cells = <1>;
170c66ec88fSEmmanuel Vadot					#size-cells = <0>;
171c66ec88fSEmmanuel Vadot
172c66ec88fSEmmanuel Vadot					rtc@68 {
173c66ec88fSEmmanuel Vadot						compatible = "st,m41t81s";
174c66ec88fSEmmanuel Vadot						reg = <0x68>;
175c66ec88fSEmmanuel Vadot					};
176c66ec88fSEmmanuel Vadot				};
177c66ec88fSEmmanuel Vadot			};
178c66ec88fSEmmanuel Vadot		};
179c66ec88fSEmmanuel Vadot	};
180c66ec88fSEmmanuel Vadot
181c66ec88fSEmmanuel Vadot	gic: interrupt-controller@16120000 {
182c66ec88fSEmmanuel Vadot		compatible = "mti,gic";
183c66ec88fSEmmanuel Vadot		reg = <0x16120000 0x20000>;
184c66ec88fSEmmanuel Vadot
185c66ec88fSEmmanuel Vadot		interrupt-controller;
186c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
187c66ec88fSEmmanuel Vadot
188c66ec88fSEmmanuel Vadot		timer {
189c66ec88fSEmmanuel Vadot			compatible = "mti,gic-timer";
190c66ec88fSEmmanuel Vadot			interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
191c66ec88fSEmmanuel Vadot			clocks = <&clk_boston BOSTON_CLK_CPU>;
192c66ec88fSEmmanuel Vadot		};
193c66ec88fSEmmanuel Vadot	};
194c66ec88fSEmmanuel Vadot
195c66ec88fSEmmanuel Vadot	cdmm@16140000 {
196c66ec88fSEmmanuel Vadot		compatible = "mti,mips-cdmm";
197c66ec88fSEmmanuel Vadot		reg = <0x16140000 0x8000>;
198c66ec88fSEmmanuel Vadot	};
199c66ec88fSEmmanuel Vadot
200c66ec88fSEmmanuel Vadot	cpc@16200000 {
201c66ec88fSEmmanuel Vadot		compatible = "mti,mips-cpc";
202c66ec88fSEmmanuel Vadot		reg = <0x16200000 0x8000>;
203c66ec88fSEmmanuel Vadot	};
204c66ec88fSEmmanuel Vadot
205c66ec88fSEmmanuel Vadot	plat_regs: system-controller@17ffd000 {
206c66ec88fSEmmanuel Vadot		compatible = "img,boston-platform-regs", "syscon";
207c66ec88fSEmmanuel Vadot		reg = <0x17ffd000 0x1000>;
208c66ec88fSEmmanuel Vadot
209c66ec88fSEmmanuel Vadot		clk_boston: clock {
210c66ec88fSEmmanuel Vadot			compatible = "img,boston-clock";
211c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
212c66ec88fSEmmanuel Vadot		};
213c66ec88fSEmmanuel Vadot	};
214c66ec88fSEmmanuel Vadot
215c66ec88fSEmmanuel Vadot	reboot: syscon-reboot {
216c66ec88fSEmmanuel Vadot		compatible = "syscon-reboot";
217c66ec88fSEmmanuel Vadot		regmap = <&plat_regs>;
218c66ec88fSEmmanuel Vadot		offset = <0x10>;
219c66ec88fSEmmanuel Vadot		mask = <0x10>;
220c66ec88fSEmmanuel Vadot	};
221c66ec88fSEmmanuel Vadot
222c66ec88fSEmmanuel Vadot	uart0: uart@17ffe000 {
223c66ec88fSEmmanuel Vadot		compatible = "ns16550a";
224c66ec88fSEmmanuel Vadot		reg = <0x17ffe000 0x1000>;
225c66ec88fSEmmanuel Vadot		reg-shift = <2>;
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
228c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
229c66ec88fSEmmanuel Vadot
230c66ec88fSEmmanuel Vadot		clocks = <&clk_boston BOSTON_CLK_SYS>;
231c66ec88fSEmmanuel Vadot	};
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot	lcd: lcd@17fff000 {
234c66ec88fSEmmanuel Vadot		compatible = "img,boston-lcd";
235c66ec88fSEmmanuel Vadot		reg = <0x17fff000 0x8>;
236c66ec88fSEmmanuel Vadot	};
237c66ec88fSEmmanuel Vadot};
238