xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/sbc8548-post.dtsi (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * SBC8548 Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2007 Wind River Systems Inc.
6*c66ec88fSEmmanuel Vadot *
7*c66ec88fSEmmanuel Vadot * Paul Gortmaker (see MAINTAINERS for contact information)
8*c66ec88fSEmmanuel Vadot */
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot/{
11*c66ec88fSEmmanuel Vadot	soc8548@e0000000 {
12*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
13*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
14*c66ec88fSEmmanuel Vadot		device_type = "soc";
15*c66ec88fSEmmanuel Vadot		ranges = <0x00000000 0xe0000000 0x00100000>;
16*c66ec88fSEmmanuel Vadot		bus-frequency = <0>;
17*c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel Vadot		ecm-law@0 {
20*c66ec88fSEmmanuel Vadot			compatible = "fsl,ecm-law";
21*c66ec88fSEmmanuel Vadot			reg = <0x0 0x1000>;
22*c66ec88fSEmmanuel Vadot			fsl,num-laws = <10>;
23*c66ec88fSEmmanuel Vadot		};
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot		ecm@1000 {
26*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8548-ecm", "fsl,ecm";
27*c66ec88fSEmmanuel Vadot			reg = <0x1000 0x1000>;
28*c66ec88fSEmmanuel Vadot			interrupts = <17 2>;
29*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
30*c66ec88fSEmmanuel Vadot		};
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot		memory-controller@2000 {
33*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8548-memory-controller";
34*c66ec88fSEmmanuel Vadot			reg = <0x2000 0x1000>;
35*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
36*c66ec88fSEmmanuel Vadot			interrupts = <0x12 0x2>;
37*c66ec88fSEmmanuel Vadot		};
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot		L2: l2-cache-controller@20000 {
40*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8548-l2-cache-controller";
41*c66ec88fSEmmanuel Vadot			reg = <0x20000 0x1000>;
42*c66ec88fSEmmanuel Vadot			cache-line-size = <0x20>;	// 32 bytes
43*c66ec88fSEmmanuel Vadot			cache-size = <0x80000>;	// L2, 512K
44*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
45*c66ec88fSEmmanuel Vadot			interrupts = <0x10 0x2>;
46*c66ec88fSEmmanuel Vadot		};
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot		i2c@3000 {
49*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
50*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
51*c66ec88fSEmmanuel Vadot			cell-index = <0>;
52*c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
53*c66ec88fSEmmanuel Vadot			reg = <0x3000 0x100>;
54*c66ec88fSEmmanuel Vadot			interrupts = <0x2b 0x2>;
55*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
56*c66ec88fSEmmanuel Vadot			dfsrr;
57*c66ec88fSEmmanuel Vadot		};
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel Vadot		i2c@3100 {
60*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
61*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
62*c66ec88fSEmmanuel Vadot			cell-index = <1>;
63*c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
64*c66ec88fSEmmanuel Vadot			reg = <0x3100 0x100>;
65*c66ec88fSEmmanuel Vadot			interrupts = <0x2b 0x2>;
66*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
67*c66ec88fSEmmanuel Vadot			dfsrr;
68*c66ec88fSEmmanuel Vadot		};
69*c66ec88fSEmmanuel Vadot
70*c66ec88fSEmmanuel Vadot		dma@21300 {
71*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
72*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
73*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma";
74*c66ec88fSEmmanuel Vadot			reg = <0x21300 0x4>;
75*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x21100 0x200>;
76*c66ec88fSEmmanuel Vadot			cell-index = <0>;
77*c66ec88fSEmmanuel Vadot			dma-channel@0 {
78*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8548-dma-channel",
79*c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
80*c66ec88fSEmmanuel Vadot				reg = <0x0 0x80>;
81*c66ec88fSEmmanuel Vadot				cell-index = <0>;
82*c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
83*c66ec88fSEmmanuel Vadot				interrupts = <20 2>;
84*c66ec88fSEmmanuel Vadot			};
85*c66ec88fSEmmanuel Vadot			dma-channel@80 {
86*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8548-dma-channel",
87*c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
88*c66ec88fSEmmanuel Vadot				reg = <0x80 0x80>;
89*c66ec88fSEmmanuel Vadot				cell-index = <1>;
90*c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
91*c66ec88fSEmmanuel Vadot				interrupts = <21 2>;
92*c66ec88fSEmmanuel Vadot			};
93*c66ec88fSEmmanuel Vadot			dma-channel@100 {
94*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8548-dma-channel",
95*c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
96*c66ec88fSEmmanuel Vadot				reg = <0x100 0x80>;
97*c66ec88fSEmmanuel Vadot				cell-index = <2>;
98*c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
99*c66ec88fSEmmanuel Vadot				interrupts = <22 2>;
100*c66ec88fSEmmanuel Vadot			};
101*c66ec88fSEmmanuel Vadot			dma-channel@180 {
102*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8548-dma-channel",
103*c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
104*c66ec88fSEmmanuel Vadot				reg = <0x180 0x80>;
105*c66ec88fSEmmanuel Vadot				cell-index = <3>;
106*c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
107*c66ec88fSEmmanuel Vadot				interrupts = <23 2>;
108*c66ec88fSEmmanuel Vadot			};
109*c66ec88fSEmmanuel Vadot		};
110*c66ec88fSEmmanuel Vadot
111*c66ec88fSEmmanuel Vadot		enet0: ethernet@24000 {
112*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
113*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
114*c66ec88fSEmmanuel Vadot			cell-index = <0>;
115*c66ec88fSEmmanuel Vadot			device_type = "network";
116*c66ec88fSEmmanuel Vadot			model = "eTSEC";
117*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
118*c66ec88fSEmmanuel Vadot			reg = <0x24000 0x1000>;
119*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x24000 0x1000>;
120*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
121*c66ec88fSEmmanuel Vadot			interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
122*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
123*c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi0>;
124*c66ec88fSEmmanuel Vadot			phy-handle = <&phy0>;
125*c66ec88fSEmmanuel Vadot
126*c66ec88fSEmmanuel Vadot			mdio@520 {
127*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
128*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
129*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-mdio";
130*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
131*c66ec88fSEmmanuel Vadot
132*c66ec88fSEmmanuel Vadot				phy0: ethernet-phy@19 {
133*c66ec88fSEmmanuel Vadot					interrupt-parent = <&mpic>;
134*c66ec88fSEmmanuel Vadot					interrupts = <0x6 0x1>;
135*c66ec88fSEmmanuel Vadot					reg = <0x19>;
136*c66ec88fSEmmanuel Vadot				};
137*c66ec88fSEmmanuel Vadot				phy1: ethernet-phy@1a {
138*c66ec88fSEmmanuel Vadot					interrupt-parent = <&mpic>;
139*c66ec88fSEmmanuel Vadot					interrupts = <0x7 0x1>;
140*c66ec88fSEmmanuel Vadot					reg = <0x1a>;
141*c66ec88fSEmmanuel Vadot				};
142*c66ec88fSEmmanuel Vadot				tbi0: tbi-phy@11 {
143*c66ec88fSEmmanuel Vadot					reg = <0x11>;
144*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
145*c66ec88fSEmmanuel Vadot				};
146*c66ec88fSEmmanuel Vadot			};
147*c66ec88fSEmmanuel Vadot		};
148*c66ec88fSEmmanuel Vadot
149*c66ec88fSEmmanuel Vadot		enet1: ethernet@25000 {
150*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
151*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
152*c66ec88fSEmmanuel Vadot			cell-index = <1>;
153*c66ec88fSEmmanuel Vadot			device_type = "network";
154*c66ec88fSEmmanuel Vadot			model = "eTSEC";
155*c66ec88fSEmmanuel Vadot			compatible = "gianfar";
156*c66ec88fSEmmanuel Vadot			reg = <0x25000 0x1000>;
157*c66ec88fSEmmanuel Vadot			ranges = <0x0 0x25000 0x1000>;
158*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
159*c66ec88fSEmmanuel Vadot			interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
160*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
161*c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi1>;
162*c66ec88fSEmmanuel Vadot			phy-handle = <&phy1>;
163*c66ec88fSEmmanuel Vadot
164*c66ec88fSEmmanuel Vadot			mdio@520 {
165*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
166*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
167*c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-tbi";
168*c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
169*c66ec88fSEmmanuel Vadot
170*c66ec88fSEmmanuel Vadot				tbi1: tbi-phy@11 {
171*c66ec88fSEmmanuel Vadot					reg = <0x11>;
172*c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
173*c66ec88fSEmmanuel Vadot				};
174*c66ec88fSEmmanuel Vadot			};
175*c66ec88fSEmmanuel Vadot		};
176*c66ec88fSEmmanuel Vadot
177*c66ec88fSEmmanuel Vadot		serial0: serial@4500 {
178*c66ec88fSEmmanuel Vadot			cell-index = <0>;
179*c66ec88fSEmmanuel Vadot			device_type = "serial";
180*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
181*c66ec88fSEmmanuel Vadot			reg = <0x4500 0x100>;	// reg base, size
182*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;	// should we fill in in uboot?
183*c66ec88fSEmmanuel Vadot			interrupts = <0x2a 0x2>;
184*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
185*c66ec88fSEmmanuel Vadot		};
186*c66ec88fSEmmanuel Vadot
187*c66ec88fSEmmanuel Vadot		serial1: serial@4600 {
188*c66ec88fSEmmanuel Vadot			cell-index = <1>;
189*c66ec88fSEmmanuel Vadot			device_type = "serial";
190*c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
191*c66ec88fSEmmanuel Vadot			reg = <0x4600 0x100>;	// reg base, size
192*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;	// should we fill in in uboot?
193*c66ec88fSEmmanuel Vadot			interrupts = <0x2a 0x2>;
194*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
195*c66ec88fSEmmanuel Vadot		};
196*c66ec88fSEmmanuel Vadot
197*c66ec88fSEmmanuel Vadot		global-utilities@e0000 {	//global utilities reg
198*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8548-guts";
199*c66ec88fSEmmanuel Vadot			reg = <0xe0000 0x1000>;
200*c66ec88fSEmmanuel Vadot			fsl,has-rstcr;
201*c66ec88fSEmmanuel Vadot		};
202*c66ec88fSEmmanuel Vadot
203*c66ec88fSEmmanuel Vadot		crypto@30000 {
204*c66ec88fSEmmanuel Vadot			compatible = "fsl,sec2.1", "fsl,sec2.0";
205*c66ec88fSEmmanuel Vadot			reg = <0x30000 0x10000>;
206*c66ec88fSEmmanuel Vadot			interrupts = <45 2>;
207*c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
208*c66ec88fSEmmanuel Vadot			fsl,num-channels = <4>;
209*c66ec88fSEmmanuel Vadot			fsl,channel-fifo-len = <24>;
210*c66ec88fSEmmanuel Vadot			fsl,exec-units-mask = <0xfe>;
211*c66ec88fSEmmanuel Vadot			fsl,descriptor-types-mask = <0x12b0ebf>;
212*c66ec88fSEmmanuel Vadot		};
213*c66ec88fSEmmanuel Vadot
214*c66ec88fSEmmanuel Vadot		mpic: pic@40000 {
215*c66ec88fSEmmanuel Vadot			interrupt-controller;
216*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
217*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
218*c66ec88fSEmmanuel Vadot			reg = <0x40000 0x40000>;
219*c66ec88fSEmmanuel Vadot			compatible = "chrp,open-pic";
220*c66ec88fSEmmanuel Vadot			device_type = "open-pic";
221*c66ec88fSEmmanuel Vadot		};
222*c66ec88fSEmmanuel Vadot	};
223*c66ec88fSEmmanuel Vadot
224*c66ec88fSEmmanuel Vadot	pci0: pci@e0008000 {
225*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
226*c66ec88fSEmmanuel Vadot		interrupt-map = <
227*c66ec88fSEmmanuel Vadot			/* IDSEL 0x01 (PCI-X slot) @66MHz */
228*c66ec88fSEmmanuel Vadot			0x0800 0x0 0x0 0x1 &mpic 0x2 0x1
229*c66ec88fSEmmanuel Vadot			0x0800 0x0 0x0 0x2 &mpic 0x3 0x1
230*c66ec88fSEmmanuel Vadot			0x0800 0x0 0x0 0x3 &mpic 0x4 0x1
231*c66ec88fSEmmanuel Vadot			0x0800 0x0 0x0 0x4 &mpic 0x1 0x1
232*c66ec88fSEmmanuel Vadot
233*c66ec88fSEmmanuel Vadot			/* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */
234*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x1 &mpic 0x2 0x1
235*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x2 &mpic 0x3 0x1
236*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x3 &mpic 0x4 0x1
237*c66ec88fSEmmanuel Vadot			0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>;
238*c66ec88fSEmmanuel Vadot
239*c66ec88fSEmmanuel Vadot		interrupt-parent = <&mpic>;
240*c66ec88fSEmmanuel Vadot		interrupts = <0x18 0x2>;
241*c66ec88fSEmmanuel Vadot		bus-range = <0 0>;
242*c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
243*c66ec88fSEmmanuel Vadot			  0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>;
244*c66ec88fSEmmanuel Vadot		clock-frequency = <66000000>;
245*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
246*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
247*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
248*c66ec88fSEmmanuel Vadot		reg = <0xe0008000 0x1000>;
249*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
250*c66ec88fSEmmanuel Vadot		device_type = "pci";
251*c66ec88fSEmmanuel Vadot	};
252*c66ec88fSEmmanuel Vadot
253*c66ec88fSEmmanuel Vadot	pci1: pcie@e000a000 {
254*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
255*c66ec88fSEmmanuel Vadot		interrupt-map = <
256*c66ec88fSEmmanuel Vadot
257*c66ec88fSEmmanuel Vadot			/* IDSEL 0x0 (PEX) */
258*c66ec88fSEmmanuel Vadot			0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
259*c66ec88fSEmmanuel Vadot			0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
260*c66ec88fSEmmanuel Vadot			0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
261*c66ec88fSEmmanuel Vadot			0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>;
262*c66ec88fSEmmanuel Vadot
263*c66ec88fSEmmanuel Vadot		interrupt-parent = <&mpic>;
264*c66ec88fSEmmanuel Vadot		interrupts = <0x1a 0x2>;
265*c66ec88fSEmmanuel Vadot		bus-range = <0x0 0xff>;
266*c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
267*c66ec88fSEmmanuel Vadot			  0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>;
268*c66ec88fSEmmanuel Vadot		clock-frequency = <33000000>;
269*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
270*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
271*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
272*c66ec88fSEmmanuel Vadot		reg = <0xe000a000 0x1000>;
273*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8548-pcie";
274*c66ec88fSEmmanuel Vadot		device_type = "pci";
275*c66ec88fSEmmanuel Vadot		pcie@0 {
276*c66ec88fSEmmanuel Vadot			reg = <0x0 0x0 0x0 0x0 0x0>;
277*c66ec88fSEmmanuel Vadot			#size-cells = <2>;
278*c66ec88fSEmmanuel Vadot			#address-cells = <3>;
279*c66ec88fSEmmanuel Vadot			device_type = "pci";
280*c66ec88fSEmmanuel Vadot			ranges = <0x02000000 0x0 0xa0000000
281*c66ec88fSEmmanuel Vadot				  0x02000000 0x0 0xa0000000
282*c66ec88fSEmmanuel Vadot				  0x0 0x10000000
283*c66ec88fSEmmanuel Vadot
284*c66ec88fSEmmanuel Vadot				  0x01000000 0x0 0x00000000
285*c66ec88fSEmmanuel Vadot				  0x01000000 0x0 0x00000000
286*c66ec88fSEmmanuel Vadot				  0x0 0x00800000>;
287*c66ec88fSEmmanuel Vadot		};
288*c66ec88fSEmmanuel Vadot	};
289*c66ec88fSEmmanuel Vadot};
290