]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/powerpc/boot/dts/mpc8641_hpcn.dts
[POWERPC] Use for_each_ matching routinues for pci PHBs
[mirror_ubuntu-eoan-kernel.git] / arch / powerpc / boot / dts / mpc8641_hpcn.dts
CommitLineData
707ba16f
JL
1/*
2 * MPC8641 HPCN Device Tree Source
3 *
4 * Copyright 2006 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12
13/ {
14 model = "MPC8641HPCN";
15 compatible = "mpc86xx";
16 #address-cells = <1>;
17 #size-cells = <1>;
18
19 cpus {
707ba16f
JL
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 PowerPC,8641@0 {
24 device_type = "cpu";
25 reg = <0>;
26 d-cache-line-size = <20>; // 32 bytes
27 i-cache-line-size = <20>; // 32 bytes
28 d-cache-size = <8000>; // L1, 32K
29 i-cache-size = <8000>; // L1, 32K
30 timebase-frequency = <0>; // 33 MHz, from uboot
31 bus-frequency = <0>; // From uboot
32 clock-frequency = <0>; // From uboot
707ba16f
JL
33 };
34 PowerPC,8641@1 {
35 device_type = "cpu";
36 reg = <1>;
37 d-cache-line-size = <20>; // 32 bytes
38 i-cache-line-size = <20>; // 32 bytes
39 d-cache-size = <8000>; // L1, 32K
40 i-cache-size = <8000>; // L1, 32K
41 timebase-frequency = <0>; // 33 MHz, from uboot
42 bus-frequency = <0>; // From uboot
43 clock-frequency = <0>; // From uboot
707ba16f
JL
44 };
45 };
46
47 memory {
48 device_type = "memory";
49 reg = <00000000 40000000>; // 1G at 0x0
50 };
51
52 soc8641@f8000000 {
53 #address-cells = <1>;
54 #size-cells = <1>;
707ba16f 55 device_type = "soc";
1b3c5cda 56 ranges = <00000000 f8000000 00100000>;
dfac6faf 57 reg = <f8000000 00001000>; // CCSRBAR
707ba16f
JL
58 bus-frequency = <0>;
59
60 i2c@3000 {
61 device_type = "i2c";
62 compatible = "fsl-i2c";
63 reg = <3000 100>;
64 interrupts = <2b 2>;
6d9065d8 65 interrupt-parent = <&mpic>;
707ba16f
JL
66 dfsrr;
67 };
68
69 i2c@3100 {
70 device_type = "i2c";
71 compatible = "fsl-i2c";
72 reg = <3100 100>;
73 interrupts = <2b 2>;
6d9065d8 74 interrupt-parent = <&mpic>;
707ba16f
JL
75 dfsrr;
76 };
77
78 mdio@24520 {
79 #address-cells = <1>;
80 #size-cells = <0>;
81 device_type = "mdio";
82 compatible = "gianfar";
83 reg = <24520 20>;
6d9065d8
KG
84 phy0: ethernet-phy@0 {
85 interrupt-parent = <&mpic>;
b533f8ae 86 interrupts = <a 1>;
707ba16f
JL
87 reg = <0>;
88 device_type = "ethernet-phy";
89 };
6d9065d8
KG
90 phy1: ethernet-phy@1 {
91 interrupt-parent = <&mpic>;
b533f8ae 92 interrupts = <a 1>;
707ba16f
JL
93 reg = <1>;
94 device_type = "ethernet-phy";
95 };
6d9065d8
KG
96 phy2: ethernet-phy@2 {
97 interrupt-parent = <&mpic>;
b533f8ae 98 interrupts = <a 1>;
707ba16f
JL
99 reg = <2>;
100 device_type = "ethernet-phy";
101 };
6d9065d8
KG
102 phy3: ethernet-phy@3 {
103 interrupt-parent = <&mpic>;
b533f8ae 104 interrupts = <a 1>;
707ba16f
JL
105 reg = <3>;
106 device_type = "ethernet-phy";
107 };
108 };
109
110 ethernet@24000 {
111 #address-cells = <1>;
112 #size-cells = <0>;
113 device_type = "network";
114 model = "TSEC";
115 compatible = "gianfar";
116 reg = <24000 1000>;
eae98266
TT
117 /*
118 * mac-address is deprecated and will be removed
119 * in 2.6.25. Only recent versions of
120 * U-Boot support local-mac-address, however.
121 */
122 mac-address = [ 00 00 00 00 00 00 ];
123 local-mac-address = [ 00 00 00 00 00 00 ];
707ba16f 124 interrupts = <1d 2 1e 2 22 2>;
6d9065d8
KG
125 interrupt-parent = <&mpic>;
126 phy-handle = <&phy0>;
cc65185d 127 phy-connection-type = "rgmii-id";
707ba16f
JL
128 };
129
130 ethernet@25000 {
131 #address-cells = <1>;
132 #size-cells = <0>;
133 device_type = "network";
134 model = "TSEC";
135 compatible = "gianfar";
136 reg = <25000 1000>;
eae98266
TT
137 /*
138 * mac-address is deprecated and will be removed
139 * in 2.6.25. Only recent versions of
140 * U-Boot support local-mac-address, however.
141 */
142 mac-address = [ 00 00 00 00 00 00 ];
143 local-mac-address = [ 00 00 00 00 00 00 ];
707ba16f 144 interrupts = <23 2 24 2 28 2>;
6d9065d8
KG
145 interrupt-parent = <&mpic>;
146 phy-handle = <&phy1>;
cc65185d 147 phy-connection-type = "rgmii-id";
707ba16f
JL
148 };
149
150 ethernet@26000 {
151 #address-cells = <1>;
152 #size-cells = <0>;
153 device_type = "network";
154 model = "TSEC";
155 compatible = "gianfar";
156 reg = <26000 1000>;
eae98266
TT
157 /*
158 * mac-address is deprecated and will be removed
159 * in 2.6.25. Only recent versions of
160 * U-Boot support local-mac-address, however.
161 */
162 mac-address = [ 00 00 00 00 00 00 ];
163 local-mac-address = [ 00 00 00 00 00 00 ];
707ba16f 164 interrupts = <1F 2 20 2 21 2>;
6d9065d8
KG
165 interrupt-parent = <&mpic>;
166 phy-handle = <&phy2>;
cc65185d 167 phy-connection-type = "rgmii-id";
707ba16f
JL
168 };
169
170 ethernet@27000 {
171 #address-cells = <1>;
172 #size-cells = <0>;
173 device_type = "network";
174 model = "TSEC";
175 compatible = "gianfar";
176 reg = <27000 1000>;
eae98266
TT
177 /*
178 * mac-address is deprecated and will be removed
179 * in 2.6.25. Only recent versions of
180 * U-Boot support local-mac-address, however.
181 */
182 mac-address = [ 00 00 00 00 00 00 ];
183 local-mac-address = [ 00 00 00 00 00 00 ];
707ba16f 184 interrupts = <25 2 26 2 27 2>;
6d9065d8
KG
185 interrupt-parent = <&mpic>;
186 phy-handle = <&phy3>;
cc65185d 187 phy-connection-type = "rgmii-id";
707ba16f
JL
188 };
189 serial@4500 {
190 device_type = "serial";
191 compatible = "ns16550";
192 reg = <4500 100>;
193 clock-frequency = <0>;
194 interrupts = <2a 2>;
6d9065d8 195 interrupt-parent = <&mpic>;
707ba16f
JL
196 };
197
198 serial@4600 {
199 device_type = "serial";
200 compatible = "ns16550";
201 reg = <4600 100>;
202 clock-frequency = <0>;
203 interrupts = <1c 2>;
6d9065d8 204 interrupt-parent = <&mpic>;
707ba16f
JL
205 };
206
1b3c5cda
KG
207 mpic: pic@40000 {
208 clock-frequency = <0>;
209 interrupt-controller;
210 #address-cells = <0>;
211 #interrupt-cells = <2>;
212 reg = <40000 40000>;
213 compatible = "chrp,open-pic";
214 device_type = "open-pic";
215 big-endian;
216 };
217 };
707ba16f 218
1b3c5cda
KG
219 pcie@f8008000 {
220 compatible = "fsl,mpc8641-pcie";
221 device_type = "pci";
222 #interrupt-cells = <1>;
223 #size-cells = <2>;
224 #address-cells = <3>;
225 reg = <f8008000 1000>;
226 bus-range = <0 ff>;
227 ranges = <02000000 0 80000000 80000000 0 20000000
228 01000000 0 00000000 e2000000 0 00100000>;
229 clock-frequency = <1fca055>;
230 interrupt-parent = <&mpic>;
231 interrupts = <18 2>;
232 interrupt-map-mask = <fb00 0 0 0>;
233 interrupt-map = <
234 /* IDSEL 0x11 */
235 8800 0 0 1 &i8259 9 2
236 8800 0 0 2 &i8259 a 2
237 8800 0 0 3 &i8259 b 2
238 8800 0 0 4 &i8259 c 2
707ba16f 239
1b3c5cda
KG
240 /* IDSEL 0x12 */
241 9000 0 0 1 &i8259 a 2
242 9000 0 0 2 &i8259 b 2
243 9000 0 0 3 &i8259 c 2
244 9000 0 0 4 &i8259 9 2
707ba16f 245
1b3c5cda
KG
246 // IDSEL 0x1c USB
247 e000 0 0 0 &i8259 c 2
248 e100 0 0 0 &i8259 9 2
249 e200 0 0 0 &i8259 a 2
250 e300 0 0 0 &i8259 b 2
707ba16f 251
1b3c5cda
KG
252 // IDSEL 0x1d Audio
253 e800 0 0 0 &i8259 6 2
707ba16f 254
1b3c5cda
KG
255 // IDSEL 0x1e Legacy
256 f000 0 0 0 &i8259 7 2
257 f100 0 0 0 &i8259 7 2
258
259 // IDSEL 0x1f IDE/SATA
260 f800 0 0 0 &i8259 e 2
261 f900 0 0 0 &i8259 5 2
262 >;
263
264 pcie@0 {
265 reg = <0 0 0 0 0>;
266 #size-cells = <2>;
267 #address-cells = <3>;
268 device_type = "pci";
269 ranges = <02000000 0 80000000
270 02000000 0 80000000
271 0 20000000
272
273 01000000 0 00000000
274 01000000 0 00000000
275 0 00100000>;
dfac6faf
WF
276 uli1575@0 {
277 reg = <0 0 0 0 0>;
278 #size-cells = <2>;
279 #address-cells = <3>;
280 ranges = <02000000 0 80000000
281 02000000 0 80000000
282 0 20000000
283 01000000 0 00000000
284 01000000 0 00000000
285 0 00100000>;
1b3c5cda
KG
286 isa@1e {
287 device_type = "isa";
288 #interrupt-cells = <2>;
289 #size-cells = <1>;
290 #address-cells = <2>;
291 reg = <f000 0 0 0 0>;
292 ranges = <1 0 01000000 0 0
293 00001000>;
294 interrupt-parent = <&i8259>;
dfac6faf 295
1b3c5cda
KG
296 i8259: interrupt-controller@20 {
297 reg = <1 20 2
298 1 a0 2
299 1 4d0 2>;
300 interrupt-controller;
301 device_type = "interrupt-controller";
302 #address-cells = <0>;
dfac6faf 303 #interrupt-cells = <2>;
1b3c5cda
KG
304 compatible = "chrp,iic";
305 interrupts = <9 2>;
306 interrupt-parent = <&mpic>;
307 };
dfac6faf 308
1b3c5cda
KG
309 i8042@60 {
310 #size-cells = <0>;
311 #address-cells = <1>;
312 reg = <1 60 1 1 64 1>;
313 interrupts = <1 3 c 3>;
314 interrupt-parent =
315 <&i8259>;
dfac6faf 316
1b3c5cda
KG
317 keyboard@0 {
318 reg = <0>;
319 compatible = "pnpPNP,303";
dfac6faf
WF
320 };
321
1b3c5cda
KG
322 mouse@1 {
323 reg = <1>;
324 compatible = "pnpPNP,f03";
dfac6faf 325 };
1b3c5cda 326 };
dfac6faf 327
1b3c5cda
KG
328 rtc@70 {
329 compatible =
330 "pnpPNP,b00";
331 reg = <1 70 2>;
332 };
333
334 gpio@400 {
335 reg = <1 400 80>;
dfac6faf
WF
336 };
337 };
707ba16f 338 };
707ba16f 339 };
e0e3c8d4 340
1b3c5cda
KG
341 };
342
343 pcie@f8009000 {
344 compatible = "fsl,mpc8641-pcie";
345 device_type = "pci";
346 #interrupt-cells = <1>;
347 #size-cells = <2>;
348 #address-cells = <3>;
349 reg = <f8009000 1000>;
350 bus-range = <0 ff>;
351 ranges = <02000000 0 a0000000 a0000000 0 20000000
352 01000000 0 00000000 e3000000 0 00100000>;
353 clock-frequency = <1fca055>;
354 interrupt-parent = <&mpic>;
355 interrupts = <19 2>;
356 interrupt-map-mask = <f800 0 0 7>;
357 interrupt-map = <
358 /* IDSEL 0x0 */
359 0000 0 0 1 &mpic 4 1
360 0000 0 0 2 &mpic 5 1
361 0000 0 0 3 &mpic 6 1
362 0000 0 0 4 &mpic 7 1
363 >;
364 pcie@0 {
365 reg = <0 0 0 0 0>;
e0e3c8d4
ZW
366 #size-cells = <2>;
367 #address-cells = <3>;
1b3c5cda
KG
368 device_type = "pci";
369 ranges = <02000000 0 a0000000
370 02000000 0 a0000000
371 0 20000000
e0e3c8d4 372
1b3c5cda
KG
373 01000000 0 00000000
374 01000000 0 00000000
375 0 00100000>;
707ba16f
JL
376 };
377 };
378};