xref: /OK3568_Linux_fs/kernel/arch/powerpc/boot/dts/fsl/gef_sbc310.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * GE SBC310 Device Tree Source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun * Based on: SBS CM6 Device Tree Source
8*4882a593Smuzhiyun * Copyright 2007 SBS Technologies GmbH & Co. KG
9*4882a593Smuzhiyun * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
10*4882a593Smuzhiyun * Copyright 2006 Freescale Semiconductor Inc.
11*4882a593Smuzhiyun */
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/*
14*4882a593Smuzhiyun * Compiled with dtc -I dts -O dtb -o gef_sbc310.dtb gef_sbc310.dts
15*4882a593Smuzhiyun */
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun/include/ "mpc8641si-pre.dtsi"
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun/ {
20*4882a593Smuzhiyun	model = "GEF_SBC310";
21*4882a593Smuzhiyun	compatible = "gef,sbc310";
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	memory {
24*4882a593Smuzhiyun		device_type = "memory";
25*4882a593Smuzhiyun		reg = <0x0 0x40000000>;	// set by uboot
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	lbc: localbus@fef05000 {
29*4882a593Smuzhiyun		reg = <0xfef05000 0x1000>;
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun		ranges = <0 0 0xff000000 0x01000000	// 16MB Boot flash
32*4882a593Smuzhiyun			  1 0 0xe0000000 0x08000000	// Paged Flash 0
33*4882a593Smuzhiyun			  2 0 0xe8000000 0x08000000	// Paged Flash 1
34*4882a593Smuzhiyun			  3 0 0xfc100000 0x00020000	// NVRAM
35*4882a593Smuzhiyun			  4 0 0xfc000000 0x00010000>;	// FPGA
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun		/* flash@0,0 is a mirror of part of the memory in flash@1,0
38*4882a593Smuzhiyun		flash@0,0 {
39*4882a593Smuzhiyun			compatible = "gef,sbc310-firmware-mirror", "cfi-flash";
40*4882a593Smuzhiyun			reg = <0x0 0x0 0x01000000>;
41*4882a593Smuzhiyun			bank-width = <2>;
42*4882a593Smuzhiyun			device-width = <2>;
43*4882a593Smuzhiyun			#address-cells = <1>;
44*4882a593Smuzhiyun			#size-cells = <1>;
45*4882a593Smuzhiyun			partition@0 {
46*4882a593Smuzhiyun				label = "firmware";
47*4882a593Smuzhiyun				reg = <0x0 0x01000000>;
48*4882a593Smuzhiyun				read-only;
49*4882a593Smuzhiyun			};
50*4882a593Smuzhiyun		};
51*4882a593Smuzhiyun		*/
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun		flash@1,0 {
54*4882a593Smuzhiyun			compatible = "gef,sbc310-paged-flash", "cfi-flash";
55*4882a593Smuzhiyun			reg = <0x1 0x0 0x8000000>;
56*4882a593Smuzhiyun			bank-width = <2>;
57*4882a593Smuzhiyun			device-width = <2>;
58*4882a593Smuzhiyun			#address-cells = <1>;
59*4882a593Smuzhiyun			#size-cells = <1>;
60*4882a593Smuzhiyun			partition@0 {
61*4882a593Smuzhiyun				label = "user";
62*4882a593Smuzhiyun				reg = <0x0 0x7800000>;
63*4882a593Smuzhiyun			};
64*4882a593Smuzhiyun			partition@7800000 {
65*4882a593Smuzhiyun				label = "firmware";
66*4882a593Smuzhiyun				reg = <0x7800000 0x800000>;
67*4882a593Smuzhiyun				read-only;
68*4882a593Smuzhiyun			};
69*4882a593Smuzhiyun		};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun		nvram@3,0 {
72*4882a593Smuzhiyun			device_type = "nvram";
73*4882a593Smuzhiyun			compatible = "simtek,stk14ca8";
74*4882a593Smuzhiyun			reg = <0x3 0x0 0x20000>;
75*4882a593Smuzhiyun		};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun		fpga@4,0 {
78*4882a593Smuzhiyun			compatible = "gef,fpga-regs";
79*4882a593Smuzhiyun			reg = <0x4 0x0 0x40>;
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun		wdt@4,2000 {
83*4882a593Smuzhiyun			compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
84*4882a593Smuzhiyun				"gef,fpga-wdt";
85*4882a593Smuzhiyun			reg = <0x4 0x2000 0x8>;
86*4882a593Smuzhiyun			interrupts = <0x1a 0x4>;
87*4882a593Smuzhiyun			interrupt-parent = <&gef_pic>;
88*4882a593Smuzhiyun		};
89*4882a593Smuzhiyun/*
90*4882a593Smuzhiyun		wdt@4,2010 {
91*4882a593Smuzhiyun			compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
92*4882a593Smuzhiyun				"gef,fpga-wdt";
93*4882a593Smuzhiyun			reg = <0x4 0x2010 0x8>;
94*4882a593Smuzhiyun			interrupts = <0x1b 0x4>;
95*4882a593Smuzhiyun			interrupt-parent = <&gef_pic>;
96*4882a593Smuzhiyun		};
97*4882a593Smuzhiyun*/
98*4882a593Smuzhiyun		gef_pic: pic@4,4000 {
99*4882a593Smuzhiyun			#interrupt-cells = <1>;
100*4882a593Smuzhiyun			interrupt-controller;
101*4882a593Smuzhiyun			compatible = "gef,sbc310-fpga-pic", "gef,fpga-pic";
102*4882a593Smuzhiyun			reg = <0x4 0x4000 0x20>;
103*4882a593Smuzhiyun			interrupts = <0x8 0x9 0 0>;
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		};
106*4882a593Smuzhiyun		gef_gpio: gpio@4,8000 {
107*4882a593Smuzhiyun			#gpio-cells = <2>;
108*4882a593Smuzhiyun			compatible = "gef,sbc310-gpio";
109*4882a593Smuzhiyun			reg = <0x4 0x8000 0x24>;
110*4882a593Smuzhiyun			gpio-controller;
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun	};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun	soc: soc@fef00000 {
115*4882a593Smuzhiyun		ranges = <0x0 0xfef00000 0x00100000>;
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun		i2c@3000 {
118*4882a593Smuzhiyun			rtc@51 {
119*4882a593Smuzhiyun				compatible = "epson,rx8581";
120*4882a593Smuzhiyun				reg = <0x00000051>;
121*4882a593Smuzhiyun			};
122*4882a593Smuzhiyun		};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun		i2c@3100 {
125*4882a593Smuzhiyun			hwmon@48 {
126*4882a593Smuzhiyun				compatible = "national,lm92";
127*4882a593Smuzhiyun				reg = <0x48>;
128*4882a593Smuzhiyun			};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun			hwmon@4c {
131*4882a593Smuzhiyun				compatible = "adi,adt7461";
132*4882a593Smuzhiyun				reg = <0x4c>;
133*4882a593Smuzhiyun			};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun			eti@6b {
136*4882a593Smuzhiyun				compatible = "dallas,ds1682";
137*4882a593Smuzhiyun				reg = <0x6b>;
138*4882a593Smuzhiyun			};
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		enet0: ethernet@24000 {
142*4882a593Smuzhiyun			tbi-handle = <&tbi0>;
143*4882a593Smuzhiyun			phy-handle = <&phy0>;
144*4882a593Smuzhiyun			phy-connection-type = "gmii";
145*4882a593Smuzhiyun		};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun		mdio@24520 {
148*4882a593Smuzhiyun			phy0: ethernet-phy@0 {
149*4882a593Smuzhiyun				interrupt-parent = <&gef_pic>;
150*4882a593Smuzhiyun				interrupts = <0x9 0x4>;
151*4882a593Smuzhiyun				reg = <1>;
152*4882a593Smuzhiyun			};
153*4882a593Smuzhiyun			phy2: ethernet-phy@2 {
154*4882a593Smuzhiyun				interrupt-parent = <&gef_pic>;
155*4882a593Smuzhiyun				interrupts = <0x8 0x4>;
156*4882a593Smuzhiyun				reg = <3>;
157*4882a593Smuzhiyun			};
158*4882a593Smuzhiyun			tbi0: tbi-phy@11 {
159*4882a593Smuzhiyun				reg = <0x11>;
160*4882a593Smuzhiyun				device_type = "tbi-phy";
161*4882a593Smuzhiyun			};
162*4882a593Smuzhiyun		};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun		enet1: ethernet@26000 {
165*4882a593Smuzhiyun			tbi-handle = <&tbi2>;
166*4882a593Smuzhiyun			phy-handle = <&phy2>;
167*4882a593Smuzhiyun			phy-connection-type = "gmii";
168*4882a593Smuzhiyun		};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun		mdio@26520 {
171*4882a593Smuzhiyun			tbi2: tbi-phy@11 {
172*4882a593Smuzhiyun				reg = <0x11>;
173*4882a593Smuzhiyun				device_type = "tbi-phy";
174*4882a593Smuzhiyun			};
175*4882a593Smuzhiyun		};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun		enet2: ethernet@25000 {
178*4882a593Smuzhiyun			status = "disabled";
179*4882a593Smuzhiyun		};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun		mdio@25520 {
182*4882a593Smuzhiyun			status = "disabled";
183*4882a593Smuzhiyun		};
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun		enet3: ethernet@27000 {
186*4882a593Smuzhiyun			status = "disabled";
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun		mdio@27520 {
190*4882a593Smuzhiyun			status = "disabled";
191*4882a593Smuzhiyun		};
192*4882a593Smuzhiyun	};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	pci0: pcie@fef08000 {
195*4882a593Smuzhiyun		reg = <0xfef08000 0x1000>;
196*4882a593Smuzhiyun		ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
197*4882a593Smuzhiyun			  0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
198*4882a593Smuzhiyun		interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
199*4882a593Smuzhiyun		interrupt-map = <
200*4882a593Smuzhiyun			0x0000 0x0 0x0 0x1 &mpic 0x0 0x2
201*4882a593Smuzhiyun			0x0000 0x0 0x0 0x2 &mpic 0x1 0x2
202*4882a593Smuzhiyun			0x0000 0x0 0x0 0x3 &mpic 0x2 0x2
203*4882a593Smuzhiyun			0x0000 0x0 0x0 0x4 &mpic 0x3 0x2
204*4882a593Smuzhiyun		>;
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun		pcie@0 {
207*4882a593Smuzhiyun			ranges = <0x02000000 0x0 0x80000000
208*4882a593Smuzhiyun				  0x02000000 0x0 0x80000000
209*4882a593Smuzhiyun				  0x0 0x40000000
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun				  0x01000000 0x0 0x00000000
212*4882a593Smuzhiyun				  0x01000000 0x0 0x00000000
213*4882a593Smuzhiyun				  0x0 0x00400000>;
214*4882a593Smuzhiyun		};
215*4882a593Smuzhiyun	};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun	pci1: pcie@fef09000 {
218*4882a593Smuzhiyun		reg = <0xfef09000 0x1000>;
219*4882a593Smuzhiyun		ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000
220*4882a593Smuzhiyun			  0x01000000 0x0 0x00000000 0xfe400000 0x0 0x00400000>;
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun		pcie@0 {
223*4882a593Smuzhiyun			ranges = <0x02000000 0x0 0xc0000000
224*4882a593Smuzhiyun				  0x02000000 0x0 0xc0000000
225*4882a593Smuzhiyun				  0x0 0x20000000
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun				  0x01000000 0x0 0x00000000
228*4882a593Smuzhiyun				  0x01000000 0x0 0x00000000
229*4882a593Smuzhiyun				  0x0 0x00400000>;
230*4882a593Smuzhiyun		};
231*4882a593Smuzhiyun	};
232*4882a593Smuzhiyun};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun/include/ "mpc8641si-post.dtsi"
235