Commit | Line | Data |
---|---|---|
142b58ee JB |
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 | * FIXME: Draft only! | |
8 | * | |
9 | * This file is licensed under the terms of the GNU General Public | |
10 | * License version 2. This program is licensed "as is" without | |
11 | * any warranty of any kind, whether express or implied. | |
12 | */ | |
13 | ||
14 | / { | |
15 | #address-cells = <2>; | |
16 | #size-cells = <1>; | |
17 | model = "amcc,bamboo"; | |
18 | compatible = "amcc,bamboo"; | |
72fda114 | 19 | dcr-parent = <&/cpus/cpu@0>; |
142b58ee | 20 | |
8aaed98c SR |
21 | aliases { |
22 | ethernet0 = &EMAC0; | |
23 | ethernet1 = &EMAC1; | |
24 | serial0 = &UART0; | |
25 | serial1 = &UART1; | |
26 | serial2 = &UART2; | |
27 | serial3 = &UART3; | |
28 | }; | |
29 | ||
142b58ee JB |
30 | cpus { |
31 | #address-cells = <1>; | |
32 | #size-cells = <0>; | |
33 | ||
72fda114 | 34 | cpu@0 { |
142b58ee | 35 | device_type = "cpu"; |
72fda114 | 36 | model = "PowerPC,440EP"; |
142b58ee JB |
37 | reg = <0>; |
38 | clock-frequency = <0>; /* Filled in by zImage */ | |
39 | timebase-frequency = <0>; /* Filled in by zImage */ | |
40 | i-cache-line-size = <20>; | |
41 | d-cache-line-size = <20>; | |
42 | i-cache-size = <8000>; | |
43 | d-cache-size = <8000>; | |
44 | dcr-controller; | |
45 | dcr-access-method = "native"; | |
46 | }; | |
47 | }; | |
48 | ||
49 | memory { | |
50 | device_type = "memory"; | |
51 | reg = <0 0 0>; /* Filled in by zImage */ | |
52 | }; | |
53 | ||
54 | UIC0: interrupt-controller0 { | |
55 | compatible = "ibm,uic-440ep","ibm,uic"; | |
56 | interrupt-controller; | |
57 | cell-index = <0>; | |
58 | dcr-reg = <0c0 009>; | |
59 | #address-cells = <0>; | |
60 | #size-cells = <0>; | |
61 | #interrupt-cells = <2>; | |
62 | }; | |
63 | ||
64 | UIC1: interrupt-controller1 { | |
65 | compatible = "ibm,uic-440ep","ibm,uic"; | |
66 | interrupt-controller; | |
67 | cell-index = <1>; | |
68 | dcr-reg = <0d0 009>; | |
69 | #address-cells = <0>; | |
70 | #size-cells = <0>; | |
71 | #interrupt-cells = <2>; | |
72 | interrupts = <1e 4 1f 4>; /* cascade */ | |
73 | interrupt-parent = <&UIC0>; | |
74 | }; | |
75 | ||
76 | SDR0: sdr { | |
77 | compatible = "ibm,sdr-440ep"; | |
78 | dcr-reg = <00e 002>; | |
79 | }; | |
80 | ||
81 | CPR0: cpr { | |
82 | compatible = "ibm,cpr-440ep"; | |
83 | dcr-reg = <00c 002>; | |
84 | }; | |
85 | ||
86 | plb { | |
87 | compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; | |
88 | #address-cells = <2>; | |
89 | #size-cells = <1>; | |
90 | ranges; | |
91 | clock-frequency = <0>; /* Filled in by zImage */ | |
92 | ||
93 | SDRAM0: sdram { | |
94 | compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; | |
95 | dcr-reg = <010 2>; | |
96 | }; | |
97 | ||
98 | DMA0: dma { | |
99 | compatible = "ibm,dma-440ep", "ibm,dma-440gp"; | |
100 | dcr-reg = <100 027>; | |
101 | }; | |
102 | ||
103 | MAL0: mcmal { | |
104 | compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; | |
105 | dcr-reg = <180 62>; | |
106 | num-tx-chans = <4>; | |
e52f5677 | 107 | num-rx-chans = <2>; |
142b58ee JB |
108 | interrupt-parent = <&MAL0>; |
109 | interrupts = <0 1 2 3 4>; | |
110 | #interrupt-cells = <1>; | |
73925376 JB |
111 | #address-cells = <0>; |
112 | #size-cells = <0>; | |
142b58ee JB |
113 | interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 |
114 | /*RXEOB*/ 1 &UIC0 b 4 | |
115 | /*SERR*/ 2 &UIC1 0 4 | |
116 | /*TXDE*/ 3 &UIC1 1 4 | |
73925376 | 117 | /*RXDE*/ 4 &UIC1 2 4>; |
142b58ee JB |
118 | }; |
119 | ||
120 | POB0: opb { | |
121 | compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; | |
122 | #address-cells = <1>; | |
123 | #size-cells = <1>; | |
124 | /* Bamboo is oddball in the 44x world and doesn't use the ERPN | |
125 | * bits. | |
126 | */ | |
127 | ranges = <00000000 0 00000000 80000000 | |
128 | 80000000 0 80000000 80000000>; | |
129 | interrupt-parent = <&UIC1>; | |
130 | interrupts = <7 4>; | |
131 | clock-frequency = <0>; /* Filled in by zImage */ | |
132 | ||
133 | EBC0: ebc { | |
134 | compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; | |
135 | dcr-reg = <012 2>; | |
136 | #address-cells = <2>; | |
137 | #size-cells = <1>; | |
138 | clock-frequency = <0>; /* Filled in by zImage */ | |
142b58ee JB |
139 | interrupts = <5 1>; |
140 | interrupt-parent = <&UIC1>; | |
141 | }; | |
142 | ||
143 | UART0: serial@ef600300 { | |
144 | device_type = "serial"; | |
145 | compatible = "ns16550"; | |
146 | reg = <ef600300 8>; | |
147 | virtual-reg = <ef600300>; | |
148 | clock-frequency = <0>; /* Filled in by zImage */ | |
149 | current-speed = <1c200>; | |
150 | interrupt-parent = <&UIC0>; | |
151 | interrupts = <0 4>; | |
152 | }; | |
153 | ||
154 | UART1: serial@ef600400 { | |
155 | device_type = "serial"; | |
156 | compatible = "ns16550"; | |
157 | reg = <ef600400 8>; | |
158 | virtual-reg = <ef600400>; | |
159 | clock-frequency = <0>; | |
160 | current-speed = <0>; | |
161 | interrupt-parent = <&UIC0>; | |
162 | interrupts = <1 4>; | |
163 | }; | |
164 | ||
165 | UART2: serial@ef600500 { | |
166 | device_type = "serial"; | |
167 | compatible = "ns16550"; | |
168 | reg = <ef600500 8>; | |
169 | virtual-reg = <ef600500>; | |
170 | clock-frequency = <0>; | |
171 | current-speed = <0>; | |
172 | interrupt-parent = <&UIC0>; | |
173 | interrupts = <3 4>; | |
174 | }; | |
175 | ||
176 | UART3: serial@ef600600 { | |
177 | device_type = "serial"; | |
178 | compatible = "ns16550"; | |
179 | reg = <ef600600 8>; | |
180 | virtual-reg = <ef600600>; | |
181 | clock-frequency = <0>; | |
182 | current-speed = <0>; | |
183 | interrupt-parent = <&UIC0>; | |
184 | interrupts = <4 4>; | |
185 | }; | |
186 | ||
187 | IIC0: i2c@ef600700 { | |
142b58ee JB |
188 | compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; |
189 | reg = <ef600700 14>; | |
190 | interrupt-parent = <&UIC0>; | |
191 | interrupts = <2 4>; | |
192 | }; | |
193 | ||
194 | IIC1: i2c@ef600800 { | |
142b58ee JB |
195 | compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; |
196 | reg = <ef600800 14>; | |
197 | interrupt-parent = <&UIC0>; | |
198 | interrupts = <7 4>; | |
199 | }; | |
200 | ||
201 | ZMII0: emac-zmii@ef600d00 { | |
142b58ee JB |
202 | compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; |
203 | reg = <ef600d00 c>; | |
204 | }; | |
205 | ||
206 | EMAC0: ethernet@ef600e00 { | |
73925376 | 207 | linux,network-index = <0>; |
142b58ee JB |
208 | device_type = "network"; |
209 | compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; | |
210 | interrupt-parent = <&UIC1>; | |
211 | interrupts = <1c 4 1d 4>; | |
212 | reg = <ef600e00 70>; | |
213 | local-mac-address = [000000000000]; | |
214 | mal-device = <&MAL0>; | |
215 | mal-tx-channel = <0 1>; | |
216 | mal-rx-channel = <0>; | |
217 | cell-index = <0>; | |
218 | max-frame-size = <5dc>; | |
219 | rx-fifo-size = <1000>; | |
220 | tx-fifo-size = <800>; | |
221 | phy-mode = "rmii"; | |
73925376 | 222 | phy-map = <00000000>; |
142b58ee JB |
223 | zmii-device = <&ZMII0>; |
224 | zmii-channel = <0>; | |
225 | }; | |
226 | ||
227 | EMAC1: ethernet@ef600f00 { | |
73925376 | 228 | linux,network-index = <1>; |
142b58ee JB |
229 | device_type = "network"; |
230 | compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; | |
231 | interrupt-parent = <&UIC1>; | |
232 | interrupts = <1e 4 1f 4>; | |
233 | reg = <ef600f00 70>; | |
234 | local-mac-address = [000000000000]; | |
235 | mal-device = <&MAL0>; | |
236 | mal-tx-channel = <2 3>; | |
237 | mal-rx-channel = <1>; | |
238 | cell-index = <1>; | |
239 | max-frame-size = <5dc>; | |
240 | rx-fifo-size = <1000>; | |
241 | tx-fifo-size = <800>; | |
242 | phy-mode = "rmii"; | |
73925376 | 243 | phy-map = <00000000>; |
142b58ee JB |
244 | zmii-device = <&ZMII0>; |
245 | zmii-channel = <1>; | |
246 | }; | |
007b6aa8 BH |
247 | |
248 | usb@ef601000 { | |
249 | compatible = "ohci-be"; | |
250 | reg = <ef601000 80>; | |
251 | interrupts = <8 1 9 1>; | |
252 | interrupt-parent = < &UIC1 >; | |
253 | }; | |
142b58ee | 254 | }; |
c3fc2de0 BH |
255 | |
256 | PCI0: pci@ec000000 { | |
257 | device_type = "pci"; | |
258 | #interrupt-cells = <1>; | |
259 | #size-cells = <2>; | |
260 | #address-cells = <3>; | |
261 | compatible = "ibm,plb440ep-pci", "ibm,plb-pci"; | |
262 | primary; | |
263 | reg = <0 eec00000 8 /* Config space access */ | |
264 | 0 eed00000 4 /* IACK */ | |
265 | 0 eed00000 4 /* Special cycle */ | |
266 | 0 ef400000 40>; /* Internal registers */ | |
267 | ||
268 | /* Outbound ranges, one memory and one IO, | |
269 | * later cannot be changed. Chip supports a second | |
270 | * IO range but we don't use it for now | |
271 | */ | |
272 | ranges = <02000000 0 a0000000 0 a0000000 0 20000000 | |
273 | 01000000 0 00000000 0 e8000000 0 00010000>; | |
274 | ||
275 | /* Inbound 2GB range starting at 0 */ | |
276 | dma-ranges = <42000000 0 0 0 0 0 80000000>; | |
277 | ||
278 | /* Bamboo has all 4 IRQ pins tied together per slot */ | |
279 | interrupt-map-mask = <f800 0 0 0>; | |
280 | interrupt-map = < | |
281 | /* IDSEL 1 */ | |
282 | 0800 0 0 0 &UIC0 1c 8 | |
283 | ||
284 | /* IDSEL 2 */ | |
285 | 1000 0 0 0 &UIC0 1b 8 | |
286 | ||
287 | /* IDSEL 3 */ | |
288 | 1800 0 0 0 &UIC0 1a 8 | |
289 | ||
290 | /* IDSEL 4 */ | |
291 | 2000 0 0 0 &UIC0 19 8 | |
292 | >; | |
293 | }; | |
142b58ee JB |
294 | }; |
295 | ||
296 | chosen { | |
297 | linux,stdout-path = "/plb/opb/serial@ef600300"; | |
142b58ee JB |
298 | }; |
299 | }; |