xref: /qemu/pc-bios/bamboo.dts (revision 31a44434)
1/*
2 * Device Tree Source for AMCC Bamboo
3 *
4 * Copyright (c) 2006, 2007 IBM Corp.
5 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2.  This program is licensed "as is" without
9 * any warranty of any kind, whether express or implied.
10 */
11
12/ {
13	#address-cells = <2>;
14	#size-cells = <1>;
15	model = "amcc,bamboo";
16	compatible = "amcc,bamboo";
17	dcr-parent = <&/cpus/cpu@0>;
18
19	aliases {
20		serial0 = &UART0;
21		serial1 = &UART1;
22	};
23
24	cpus {
25		#address-cells = <1>;
26		#size-cells = <0>;
27
28		cpu@0 {
29			device_type = "cpu";
30			model = "PowerPC,440EP";
31			reg = <0>;
32			clock-frequency = <1fca0550>;
33			timebase-frequency = <017d7840>;
34			i-cache-line-size = <20>;
35			d-cache-line-size = <20>;
36			i-cache-size = <8000>;
37			d-cache-size = <8000>;
38			dcr-controller;
39			dcr-access-method = "native";
40		};
41	};
42
43	memory {
44		device_type = "memory";
45		reg = <0 0 9000000>;
46	};
47
48	UIC0: interrupt-controller0 {
49		compatible = "ibm,uic-440ep","ibm,uic";
50		interrupt-controller;
51		cell-index = <0>;
52		dcr-reg = <0c0 009>;
53		#address-cells = <0>;
54		#size-cells = <0>;
55		#interrupt-cells = <2>;
56	};
57/*
58	UIC1: interrupt-controller1 {
59		compatible = "ibm,uic-440ep","ibm,uic";
60		interrupt-controller;
61		cell-index = <1>;
62		dcr-reg = <0d0 009>;
63		#address-cells = <0>;
64		#size-cells = <0>;
65		#interrupt-cells = <2>;
66		interrupts = <1e 4 1f 4>;
67		interrupt-parent = <&UIC0>;
68	};
69*/
70
71	SDR0: sdr {
72		compatible = "ibm,sdr-440ep";
73		dcr-reg = <00e 002>;
74	};
75
76	CPR0: cpr {
77		compatible = "ibm,cpr-440ep";
78		dcr-reg = <00c 002>;
79	};
80
81	plb {
82		compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
83		#address-cells = <2>;
84		#size-cells = <1>;
85		ranges;
86		clock-frequency = <07f28154>;
87
88		SDRAM0: sdram {
89			compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
90			dcr-reg = <010 2>;
91		};
92
93		DMA0: dma {
94			compatible = "ibm,dma-440ep", "ibm,dma-440gp";
95			dcr-reg = <100 027>;
96		};
97
98		POB0: opb {
99			compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
100			#address-cells = <1>;
101			#size-cells = <1>;
102			/* Bamboo is oddball in the 44x world and doesn't use the ERPN
103			 * bits.
104			 */
105			ranges = <00000000 0 00000000 80000000
106			          80000000 0 80000000 80000000>;
107			/* interrupt-parent = <&UIC1>; */
108			interrupts = <7 4>;
109			clock-frequency = <03f940aa>;
110
111			EBC0: ebc {
112				compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
113				dcr-reg = <012 2>;
114				#address-cells = <2>;
115				#size-cells = <1>;
116				clock-frequency = <03f940aa>;
117				interrupts = <5 1>;
118			/* interrupt-parent = <&UIC1>; */
119			};
120
121			UART0: serial@ef600300 {
122				device_type = "serial";
123				compatible = "ns16550";
124				reg = <ef600300 8>;
125				virtual-reg = <ef600300>;
126				clock-frequency = <00a8c000>;
127				current-speed = <1c200>;
128				interrupt-parent = <&UIC0>;
129				interrupts = <0 4>;
130			};
131
132			UART1: serial@ef600400 {
133				device_type = "serial";
134				compatible = "ns16550";
135				reg = <ef600400 8>;
136				virtual-reg = <ef600400>;
137				clock-frequency = <00a8c000>;
138				current-speed = <0>;
139				interrupt-parent = <&UIC0>;
140				interrupts = <1 4>;
141			};
142/*
143			UART2: serial@ef600500 {
144				device_type = "serial";
145				compatible = "ns16550";
146				reg = <ef600500 8>;
147				virtual-reg = <ef600500>;
148				clock-frequency = <0>;
149				current-speed = <0>;
150				interrupt-parent = <&UIC0>;
151				interrupts = <3 4>;
152			};
153
154			UART3: serial@ef600600 {
155				device_type = "serial";
156				compatible = "ns16550";
157				reg = <ef600600 8>;
158				virtual-reg = <ef600600>;
159				clock-frequency = <0>;
160				current-speed = <0>;
161				interrupt-parent = <&UIC0>;
162				interrupts = <4 4>;
163			};
164
165*/
166			IIC0: i2c@ef600700 {
167				device_type = "i2c";
168				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
169				reg = <ef600700 14>;
170				interrupt-parent = <&UIC0>;
171				interrupts = <2 4>;
172			};
173
174			IIC1: i2c@ef600800 {
175				device_type = "i2c";
176				compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
177				reg = <ef600800 14>;
178				interrupt-parent = <&UIC0>;
179				interrupts = <7 4>;
180			};
181
182			ZMII0: emac-zmii@ef600d00 {
183				device_type = "zmii-interface";
184				compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
185				reg = <ef600d00 c>;
186			};
187
188		};
189
190		PCI0: pci@ec000000 {
191			device_type = "pci";
192			#interrupt-cells = <1>;
193			#size-cells = <2>;
194			#address-cells = <3>;
195			compatible = "ibm,plb440ep-pci", "ibm,plb-pci";
196			primary;
197			reg = <0 eec00000 8     /* Config space access */
198			       0 eed00000 4     /* IACK */
199			       0 eed00000 4     /* Special cycle */
200			       0 ef400000 40>;  /* Internal registers */
201
202			/* Outbound ranges, one memory and one IO,
203			 * later cannot be changed. Chip supports a second
204			 * IO range but we don't use it for now
205			 */
206			ranges = <02000000 0 a0000000 0 a0000000 0 20000000
207				  01000000 0 00000000 0 e8000000 0 00010000>;
208
209			/* Inbound 2GB range starting at 0 */
210			dma-ranges = <42000000 0 0 0 0 0 80000000>;
211
212			/* Bamboo has all 4 IRQ pins tied together per slot */
213			interrupt-map-mask = <f800 0 0 0>;
214			interrupt-map = <
215				/* IDSEL 1 */
216				0800 0 0 0 &UIC0 1c 8
217
218				/* IDSEL 2 */
219				1000 0 0 0 &UIC0 1b 8
220
221				/* IDSEL 3 */
222				1800 0 0 0 &UIC0 1a 8
223
224				/* IDSEL 4 */
225				2000 0 0 0 &UIC0 19 8
226			>;
227		};
228
229	};
230
231	chosen {
232		linux,stdout-path = "/plb/opb/serial@ef600300";
233	};
234};
235