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