diff options
author | Roy Zang <tie-fei.zang@freescale.com> | 2011-05-19 21:20:13 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-06-22 22:44:56 -0400 |
commit | 2602a21231645f0923595a6ae2757222f6802e3f (patch) | |
tree | 90d1765e1d8960d2baf61f20b77647653b271061 | |
parent | 1325a684b553d4b5c41ae0482f8991b43f945746 (diff) |
powerpc/85xx: Add basic P1023RDS board support
The P1023 processor is an e500v2 based SoC that utilizes the DPAA
networking architecture. This adds basic board support for non-DPAA
functionality (device tree, board file, etc).
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/boot/dts/p1023rds.dts | 546 | ||||
-rw-r--r-- | arch/powerpc/configs/85xx/p1023rds_defconfig | 173 | ||||
-rw-r--r-- | arch/powerpc/configs/mpc85xx_defconfig | 7 | ||||
-rw-r--r-- | arch/powerpc/configs/mpc85xx_smp_defconfig | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/Kconfig | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/p1023_rds.c | 162 |
7 files changed, 892 insertions, 9 deletions
diff --git a/arch/powerpc/boot/dts/p1023rds.dts b/arch/powerpc/boot/dts/p1023rds.dts new file mode 100644 index 00000000000..bfa96aa8f2c --- /dev/null +++ b/arch/powerpc/boot/dts/p1023rds.dts | |||
@@ -0,0 +1,546 @@ | |||
1 | /* | ||
2 | * P1023 RDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2010-2011 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Author: Roy Zang <tie-fei.zang@freescale.com> | ||
7 | * | ||
8 | * Redistribution and use in source and binary forms, with or without | ||
9 | * modification, are permitted provided that the following conditions are met: | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the distribution. | ||
15 | * * Neither the name of Freescale Semiconductor nor the | ||
16 | * names of its contributors may be used to endorse or promote products | ||
17 | * derived from this software without specific prior written permission. | ||
18 | * | ||
19 | * | ||
20 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
21 | * GNU General Public License ("GPL") as published by the Free Software | ||
22 | * Foundation, either version 2 of that License or (at your option) any | ||
23 | * later version. | ||
24 | * | ||
25 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY | ||
26 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
27 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
28 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
29 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
30 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
31 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
32 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
33 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
34 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
35 | */ | ||
36 | |||
37 | /dts-v1/; | ||
38 | |||
39 | / { | ||
40 | model = "fsl,P1023"; | ||
41 | compatible = "fsl,P1023RDS"; | ||
42 | #address-cells = <2>; | ||
43 | #size-cells = <2>; | ||
44 | |||
45 | aliases { | ||
46 | serial0 = &serial0; | ||
47 | serial1 = &serial1; | ||
48 | pci0 = &pci0; | ||
49 | pci1 = &pci1; | ||
50 | pci2 = &pci2; | ||
51 | |||
52 | crypto = &crypto; | ||
53 | sec_jr0 = &sec_jr0; | ||
54 | sec_jr1 = &sec_jr1; | ||
55 | sec_jr2 = &sec_jr2; | ||
56 | sec_jr3 = &sec_jr3; | ||
57 | rtic_a = &rtic_a; | ||
58 | rtic_b = &rtic_b; | ||
59 | rtic_c = &rtic_c; | ||
60 | rtic_d = &rtic_d; | ||
61 | }; | ||
62 | |||
63 | cpus { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <0>; | ||
66 | |||
67 | cpu0: PowerPC,P1023@0 { | ||
68 | device_type = "cpu"; | ||
69 | reg = <0x0>; | ||
70 | next-level-cache = <&L2>; | ||
71 | }; | ||
72 | |||
73 | cpu1: PowerPC,P1023@1 { | ||
74 | device_type = "cpu"; | ||
75 | reg = <0x1>; | ||
76 | next-level-cache = <&L2>; | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | memory { | ||
81 | device_type = "memory"; | ||
82 | }; | ||
83 | |||
84 | soc@ff600000 { | ||
85 | #address-cells = <1>; | ||
86 | #size-cells = <1>; | ||
87 | device_type = "soc"; | ||
88 | compatible = "fsl,p1023-immr", "simple-bus"; | ||
89 | ranges = <0x0 0x0 0xff600000 0x200000>; | ||
90 | bus-frequency = <0>; // Filled out by uboot. | ||
91 | |||
92 | ecm-law@0 { | ||
93 | compatible = "fsl,ecm-law"; | ||
94 | reg = <0x0 0x1000>; | ||
95 | fsl,num-laws = <12>; | ||
96 | }; | ||
97 | |||
98 | ecm@1000 { | ||
99 | compatible = "fsl,p1023-ecm", "fsl,ecm"; | ||
100 | reg = <0x1000 0x1000>; | ||
101 | interrupts = <16 2>; | ||
102 | interrupt-parent = <&mpic>; | ||
103 | }; | ||
104 | |||
105 | memory-controller@2000 { | ||
106 | compatible = "fsl,p1023-memory-controller"; | ||
107 | reg = <0x2000 0x1000>; | ||
108 | interrupt-parent = <&mpic>; | ||
109 | interrupts = <16 2>; | ||
110 | }; | ||
111 | |||
112 | i2c@3000 { | ||
113 | #address-cells = <1>; | ||
114 | #size-cells = <0>; | ||
115 | cell-index = <0>; | ||
116 | compatible = "fsl-i2c"; | ||
117 | reg = <0x3000 0x100>; | ||
118 | interrupts = <43 2>; | ||
119 | interrupt-parent = <&mpic>; | ||
120 | dfsrr; | ||
121 | rtc@68 { | ||
122 | compatible = "dallas,ds1374"; | ||
123 | reg = <0x68>; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | i2c@3100 { | ||
128 | #address-cells = <1>; | ||
129 | #size-cells = <0>; | ||
130 | cell-index = <1>; | ||
131 | compatible = "fsl-i2c"; | ||
132 | reg = <0x3100 0x100>; | ||
133 | interrupts = <43 2>; | ||
134 | interrupt-parent = <&mpic>; | ||
135 | dfsrr; | ||
136 | }; | ||
137 | |||
138 | serial0: serial@4500 { | ||
139 | cell-index = <0>; | ||
140 | device_type = "serial"; | ||
141 | compatible = "ns16550"; | ||
142 | reg = <0x4500 0x100>; | ||
143 | clock-frequency = <0>; | ||
144 | interrupts = <42 2>; | ||
145 | interrupt-parent = <&mpic>; | ||
146 | }; | ||
147 | |||
148 | serial1: serial@4600 { | ||
149 | cell-index = <1>; | ||
150 | device_type = "serial"; | ||
151 | compatible = "ns16550"; | ||
152 | reg = <0x4600 0x100>; | ||
153 | clock-frequency = <0>; | ||
154 | interrupts = <42 2>; | ||
155 | interrupt-parent = <&mpic>; | ||
156 | }; | ||
157 | |||
158 | spi@7000 { | ||
159 | cell-index = <0>; | ||
160 | #address-cells = <1>; | ||
161 | #size-cells = <0>; | ||
162 | compatible = "fsl,p1023-espi", "fsl,mpc8536-espi"; | ||
163 | reg = <0x7000 0x1000>; | ||
164 | interrupts = <59 0x2>; | ||
165 | interrupt-parent = <&mpic>; | ||
166 | fsl,espi-num-chipselects = <4>; | ||
167 | |||
168 | fsl_dataflash@0 { | ||
169 | #address-cells = <1>; | ||
170 | #size-cells = <1>; | ||
171 | compatible = "atmel,at45db081d"; | ||
172 | reg = <0>; | ||
173 | spi-max-frequency = <40000000>; /* input clock */ | ||
174 | partition@u-boot { | ||
175 | /* 512KB for u-boot Bootloader Image */ | ||
176 | label = "u-boot-spi"; | ||
177 | reg = <0x00000000 0x00080000>; | ||
178 | read-only; | ||
179 | }; | ||
180 | partition@dtb { | ||
181 | /* 512KB for DTB Image */ | ||
182 | label = "dtb-spi"; | ||
183 | reg = <0x00080000 0x00080000>; | ||
184 | read-only; | ||
185 | }; | ||
186 | }; | ||
187 | }; | ||
188 | |||
189 | gpio: gpio-controller@f000 { | ||
190 | #gpio-cells = <2>; | ||
191 | compatible = "fsl,qoriq-gpio"; | ||
192 | reg = <0xf000 0x100>; | ||
193 | interrupts = <47 0x2>; | ||
194 | interrupt-parent = <&mpic>; | ||
195 | gpio-controller; | ||
196 | }; | ||
197 | |||
198 | L2: l2-cache-controller@20000 { | ||
199 | compatible = "fsl,p1023-l2-cache-controller"; | ||
200 | reg = <0x20000 0x1000>; | ||
201 | cache-line-size = <32>; // 32 bytes | ||
202 | cache-size = <0x40000>; // L2,256K | ||
203 | interrupt-parent = <&mpic>; | ||
204 | interrupts = <16 2>; | ||
205 | }; | ||
206 | |||
207 | dma@21300 { | ||
208 | #address-cells = <1>; | ||
209 | #size-cells = <1>; | ||
210 | compatible = "fsl,eloplus-dma"; | ||
211 | reg = <0x21300 0x4>; | ||
212 | ranges = <0x0 0x21100 0x200>; | ||
213 | cell-index = <0>; | ||
214 | dma-channel@0 { | ||
215 | compatible = "fsl,eloplus-dma-channel"; | ||
216 | reg = <0x0 0x80>; | ||
217 | cell-index = <0>; | ||
218 | interrupt-parent = <&mpic>; | ||
219 | interrupts = <20 2>; | ||
220 | }; | ||
221 | dma-channel@80 { | ||
222 | compatible = "fsl,eloplus-dma-channel"; | ||
223 | reg = <0x80 0x80>; | ||
224 | cell-index = <1>; | ||
225 | interrupt-parent = <&mpic>; | ||
226 | interrupts = <21 2>; | ||
227 | }; | ||
228 | dma-channel@100 { | ||
229 | compatible = "fsl,eloplus-dma-channel"; | ||
230 | reg = <0x100 0x80>; | ||
231 | cell-index = <2>; | ||
232 | interrupt-parent = <&mpic>; | ||
233 | interrupts = <22 2>; | ||
234 | }; | ||
235 | dma-channel@180 { | ||
236 | compatible = "fsl,eloplus-dma-channel"; | ||
237 | reg = <0x180 0x80>; | ||
238 | cell-index = <3>; | ||
239 | interrupt-parent = <&mpic>; | ||
240 | interrupts = <23 2>; | ||
241 | }; | ||
242 | }; | ||
243 | |||
244 | usb@22000 { | ||
245 | #address-cells = <1>; | ||
246 | #size-cells = <0>; | ||
247 | compatible = "fsl-usb2-dr"; | ||
248 | reg = <0x22000 0x1000>; | ||
249 | interrupt-parent = <&mpic>; | ||
250 | interrupts = <28 0x2>; | ||
251 | dr_mode = "host"; | ||
252 | phy_type = "ulpi"; | ||
253 | }; | ||
254 | |||
255 | crypto: crypto@300000 { | ||
256 | compatible = "fsl,sec-v4.2", "fsl,sec-v4.0"; | ||
257 | #address-cells = <1>; | ||
258 | #size-cells = <1>; | ||
259 | reg = <0x30000 0x10000>; | ||
260 | ranges = <0 0x30000 0x10000>; | ||
261 | interrupt-parent = <&mpic>; | ||
262 | interrupts = <58 2>; | ||
263 | |||
264 | sec_jr0: jr@1000 { | ||
265 | compatible = "fsl,sec-v4.2-job-ring", | ||
266 | "fsl,sec-v4.0-job-ring"; | ||
267 | reg = <0x1000 0x1000>; | ||
268 | interrupts = <45 2>; | ||
269 | }; | ||
270 | |||
271 | sec_jr1: jr@2000 { | ||
272 | compatible = "fsl,sec-v4.2-job-ring", | ||
273 | "fsl,sec-v4.0-job-ring"; | ||
274 | reg = <0x2000 0x1000>; | ||
275 | interrupts = <45 2>; | ||
276 | }; | ||
277 | |||
278 | sec_jr2: jr@3000 { | ||
279 | compatible = "fsl,sec-v4.2-job-ring", | ||
280 | "fsl,sec-v4.0-job-ring"; | ||
281 | reg = <0x3000 0x1000>; | ||
282 | interrupts = <57 2>; | ||
283 | }; | ||
284 | |||
285 | sec_jr3: jr@4000 { | ||
286 | compatible = "fsl,sec-v4.2-job-ring", | ||
287 | "fsl,sec-v4.0-job-ring"; | ||
288 | reg = <0x4000 0x1000>; | ||
289 | interrupts = <57 2>; | ||
290 | }; | ||
291 | |||
292 | rtic@6000 { | ||
293 | compatible = "fsl,sec-v4.2-rtic", | ||
294 | "fsl,sec-v4.0-rtic"; | ||
295 | #address-cells = <1>; | ||
296 | #size-cells = <1>; | ||
297 | reg = <0x6000 0x100>; | ||
298 | ranges = <0x0 0x6100 0xe00>; | ||
299 | |||
300 | rtic_a: rtic-a@0 { | ||
301 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
302 | "fsl,sec-v4.0-rtic-memory"; | ||
303 | reg = <0x00 0x20 0x100 0x80>; | ||
304 | }; | ||
305 | |||
306 | rtic_b: rtic-b@20 { | ||
307 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
308 | "fsl,sec-v4.0-rtic-memory"; | ||
309 | reg = <0x20 0x20 0x200 0x80>; | ||
310 | }; | ||
311 | |||
312 | rtic_c: rtic-c@40 { | ||
313 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
314 | "fsl,sec-v4.0-rtic-memory"; | ||
315 | reg = <0x40 0x20 0x300 0x80>; | ||
316 | }; | ||
317 | |||
318 | rtic_d: rtic-d@60 { | ||
319 | compatible = "fsl,sec-v4.2-rtic-memory", | ||
320 | "fsl,sec-v4.0-rtic-memory"; | ||
321 | reg = <0x60 0x20 0x500 0x80>; | ||
322 | }; | ||
323 | }; | ||
324 | }; | ||
325 | |||
326 | power@e0070{ | ||
327 | compatible = "fsl,mpc8536-pmc", "fsl,mpc8548-pmc", | ||
328 | "fsl,p1022-pmc"; | ||
329 | reg = <0xe0070 0x20>; | ||
330 | etsec1_clk: soc-clk@B0{ | ||
331 | fsl,pmcdr-mask = <0x00000080>; | ||
332 | }; | ||
333 | etsec2_clk: soc-clk@B1{ | ||
334 | fsl,pmcdr-mask = <0x00000040>; | ||
335 | }; | ||
336 | etsec3_clk: soc-clk@B2{ | ||
337 | fsl,pmcdr-mask = <0x00000020>; | ||
338 | }; | ||
339 | }; | ||
340 | |||
341 | mpic: pic@40000 { | ||
342 | interrupt-controller; | ||
343 | #address-cells = <0>; | ||
344 | #interrupt-cells = <2>; | ||
345 | reg = <0x40000 0x40000>; | ||
346 | compatible = "chrp,open-pic"; | ||
347 | device_type = "open-pic"; | ||
348 | }; | ||
349 | |||
350 | msi@41600 { | ||
351 | compatible = "fsl,p1023-msi", "fsl,mpic-msi"; | ||
352 | reg = <0x41600 0x80>; | ||
353 | msi-available-ranges = <0 0x100>; | ||
354 | interrupts = < | ||
355 | 0xe0 0 | ||
356 | 0xe1 0 | ||
357 | 0xe2 0 | ||
358 | 0xe3 0 | ||
359 | 0xe4 0 | ||
360 | 0xe5 0 | ||
361 | 0xe6 0 | ||
362 | 0xe7 0>; | ||
363 | interrupt-parent = <&mpic>; | ||
364 | }; | ||
365 | |||
366 | global-utilities@e0000 { //global utilities block | ||
367 | compatible = "fsl,p1023-guts"; | ||
368 | reg = <0xe0000 0x1000>; | ||
369 | fsl,has-rstcr; | ||
370 | }; | ||
371 | }; | ||
372 | |||
373 | localbus@ff605000 { | ||
374 | #address-cells = <2>; | ||
375 | #size-cells = <1>; | ||
376 | compatible = "fsl,p1023-elbc", "fsl,elbc", "simple-bus"; | ||
377 | reg = <0 0xff605000 0 0x1000>; | ||
378 | interrupts = <19 2>; | ||
379 | interrupt-parent = <&mpic>; | ||
380 | |||
381 | /* NOR Flash, BCSR */ | ||
382 | ranges = <0x0 0x0 0x0 0xee000000 0x02000000 | ||
383 | 0x1 0x0 0x0 0xe0000000 0x00008000>; | ||
384 | |||
385 | nor@0,0 { | ||
386 | #address-cells = <1>; | ||
387 | #size-cells = <1>; | ||
388 | compatible = "cfi-flash"; | ||
389 | reg = <0x0 0x0 0x02000000>; | ||
390 | bank-width = <1>; | ||
391 | device-width = <1>; | ||
392 | partition@0 { | ||
393 | label = "ramdisk"; | ||
394 | reg = <0x00000000 0x01c00000>; | ||
395 | }; | ||
396 | partition@1c00000 { | ||
397 | label = "kernel"; | ||
398 | reg = <0x01c00000 0x002e0000>; | ||
399 | }; | ||
400 | partiton@1ee0000 { | ||
401 | label = "dtb"; | ||
402 | reg = <0x01ee0000 0x00020000>; | ||
403 | }; | ||
404 | partition@1f00000 { | ||
405 | label = "firmware"; | ||
406 | reg = <0x01f00000 0x00080000>; | ||
407 | read-only; | ||
408 | }; | ||
409 | partition@1f80000 { | ||
410 | label = "u-boot"; | ||
411 | reg = <0x01f80000 0x00080000>; | ||
412 | read-only; | ||
413 | }; | ||
414 | }; | ||
415 | |||
416 | fpga@1,0 { | ||
417 | #address-cells = <1>; | ||
418 | #size-cells = <1>; | ||
419 | compatible = "fsl,p1023rds-fpga"; | ||
420 | reg = <1 0 0x8000>; | ||
421 | ranges = <0 1 0 0x8000>; | ||
422 | |||
423 | bcsr@20 { | ||
424 | compatible = "fsl,p1023rds-bcsr"; | ||
425 | reg = <0x20 0x20>; | ||
426 | }; | ||
427 | }; | ||
428 | }; | ||
429 | |||
430 | pci0: pcie@ff60a000 { | ||
431 | compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2"; | ||
432 | cell-index = <1>; | ||
433 | device_type = "pci"; | ||
434 | #size-cells = <2>; | ||
435 | #address-cells = <3>; | ||
436 | reg = <0 0xff60a000 0 0x1000>; | ||
437 | bus-range = <0 255>; | ||
438 | ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 | ||
439 | 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; | ||
440 | clock-frequency = <33333333>; | ||
441 | interrupt-parent = <&mpic>; | ||
442 | interrupts = <16 2>; | ||
443 | pcie@0 { | ||
444 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
445 | #interrupt-cells = <1>; | ||
446 | #size-cells = <2>; | ||
447 | #address-cells = <3>; | ||
448 | device_type = "pci"; | ||
449 | interrupt-parent = <&mpic>; | ||
450 | interrupts = <16 2>; | ||
451 | interrupt-map-mask = <0xf800 0 0 7>; | ||
452 | interrupt-map = < | ||
453 | /* IDSEL 0x0 */ | ||
454 | 0000 0 0 1 &mpic 0 1 | ||
455 | 0000 0 0 2 &mpic 1 1 | ||
456 | 0000 0 0 3 &mpic 2 1 | ||
457 | 0000 0 0 4 &mpic 3 1 | ||
458 | >; | ||
459 | ranges = <0x2000000 0x0 0xc0000000 | ||
460 | 0x2000000 0x0 0xc0000000 | ||
461 | 0x0 0x20000000 | ||
462 | |||
463 | 0x1000000 0x0 0x0 | ||
464 | 0x1000000 0x0 0x0 | ||
465 | 0x0 0x100000>; | ||
466 | }; | ||
467 | }; | ||
468 | |||
469 | pci1: pcie@ff609000 { | ||
470 | compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2"; | ||
471 | cell-index = <2>; | ||
472 | device_type = "pci"; | ||
473 | #size-cells = <2>; | ||
474 | #address-cells = <3>; | ||
475 | reg = <0 0xff609000 0 0x1000>; | ||
476 | bus-range = <0 255>; | ||
477 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | ||
478 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; | ||
479 | clock-frequency = <33333333>; | ||
480 | interrupt-parent = <&mpic>; | ||
481 | interrupts = <16 2>; | ||
482 | pcie@0 { | ||
483 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
484 | #interrupt-cells = <1>; | ||
485 | #size-cells = <2>; | ||
486 | #address-cells = <3>; | ||
487 | device_type = "pci"; | ||
488 | interrupt-parent = <&mpic>; | ||
489 | interrupts = <16 2>; | ||
490 | interrupt-map-mask = <0xf800 0 0 7>; | ||
491 | interrupt-map = < | ||
492 | /* IDSEL 0x0 */ | ||
493 | 0000 0 0 1 &mpic 4 1 | ||
494 | 0000 0 0 2 &mpic 5 1 | ||
495 | 0000 0 0 3 &mpic 6 1 | ||
496 | 0000 0 0 4 &mpic 7 1 | ||
497 | >; | ||
498 | ranges = <0x2000000 0x0 0xa0000000 | ||
499 | 0x2000000 0x0 0xa0000000 | ||
500 | 0x0 0x20000000 | ||
501 | |||
502 | 0x1000000 0x0 0x0 | ||
503 | 0x1000000 0x0 0x0 | ||
504 | 0x0 0x100000>; | ||
505 | }; | ||
506 | }; | ||
507 | |||
508 | pci2: pcie@ff60b000 { | ||
509 | cell-index = <3>; | ||
510 | compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2"; | ||
511 | device_type = "pci"; | ||
512 | #size-cells = <2>; | ||
513 | #address-cells = <3>; | ||
514 | reg = <0 0xff60b000 0 0x1000>; | ||
515 | bus-range = <0 255>; | ||
516 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 | ||
517 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; | ||
518 | clock-frequency = <33333333>; | ||
519 | interrupt-parent = <&mpic>; | ||
520 | interrupts = <16 2>; | ||
521 | pcie@0 { | ||
522 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
523 | #interrupt-cells = <1>; | ||
524 | #size-cells = <2>; | ||
525 | #address-cells = <3>; | ||
526 | device_type = "pci"; | ||
527 | interrupt-parent = <&mpic>; | ||
528 | interrupts = <16 2>; | ||
529 | interrupt-map-mask = <0xf800 0 0 7>; | ||
530 | interrupt-map = < | ||
531 | /* IDSEL 0x0 */ | ||
532 | 0000 0 0 1 &mpic 8 1 | ||
533 | 0000 0 0 2 &mpic 9 1 | ||
534 | 0000 0 0 3 &mpic 10 1 | ||
535 | 0000 0 0 4 &mpic 11 1 | ||
536 | >; | ||
537 | ranges = <0x2000000 0x0 0x80000000 | ||
538 | 0x2000000 0x0 0x80000000 | ||
539 | 0x0 0x20000000 | ||
540 | |||
541 | 0x1000000 0x0 0x0 | ||
542 | 0x1000000 0x0 0x0 | ||
543 | 0x0 0x100000>; | ||
544 | }; | ||
545 | }; | ||
546 | }; | ||
diff --git a/arch/powerpc/configs/85xx/p1023rds_defconfig b/arch/powerpc/configs/85xx/p1023rds_defconfig new file mode 100644 index 00000000000..980ff8f61fd --- /dev/null +++ b/arch/powerpc/configs/85xx/p1023rds_defconfig | |||
@@ -0,0 +1,173 @@ | |||
1 | CONFIG_PPC_85xx=y | ||
2 | CONFIG_SMP=y | ||
3 | CONFIG_NR_CPUS=2 | ||
4 | CONFIG_EXPERIMENTAL=y | ||
5 | CONFIG_SYSVIPC=y | ||
6 | CONFIG_POSIX_MQUEUE=y | ||
7 | CONFIG_BSD_PROCESS_ACCT=y | ||
8 | CONFIG_AUDIT=y | ||
9 | CONFIG_SPARSE_IRQ=y | ||
10 | CONFIG_IKCONFIG=y | ||
11 | CONFIG_IKCONFIG_PROC=y | ||
12 | CONFIG_LOG_BUF_SHIFT=14 | ||
13 | CONFIG_BLK_DEV_INITRD=y | ||
14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
15 | CONFIG_KALLSYMS_ALL=y | ||
16 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
17 | CONFIG_EMBEDDED=y | ||
18 | CONFIG_MODULES=y | ||
19 | CONFIG_MODULE_UNLOAD=y | ||
20 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
21 | CONFIG_MODVERSIONS=y | ||
22 | # CONFIG_BLK_DEV_BSG is not set | ||
23 | CONFIG_P1023_RDS=y | ||
24 | CONFIG_QUICC_ENGINE=y | ||
25 | CONFIG_QE_GPIO=y | ||
26 | CONFIG_CPM2=y | ||
27 | CONFIG_MPC8xxx_GPIO=y | ||
28 | CONFIG_HIGHMEM=y | ||
29 | CONFIG_NO_HZ=y | ||
30 | CONFIG_HIGH_RES_TIMERS=y | ||
31 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
32 | CONFIG_BINFMT_MISC=m | ||
33 | CONFIG_MATH_EMULATION=y | ||
34 | CONFIG_SWIOTLB=y | ||
35 | CONFIG_PCI=y | ||
36 | CONFIG_PCIEPORTBUS=y | ||
37 | # CONFIG_PCIEAER is not set | ||
38 | # CONFIG_PCIEASPM is not set | ||
39 | CONFIG_PCI_MSI=y | ||
40 | CONFIG_NET=y | ||
41 | CONFIG_PACKET=y | ||
42 | CONFIG_UNIX=y | ||
43 | CONFIG_XFRM_USER=y | ||
44 | CONFIG_NET_KEY=y | ||
45 | CONFIG_INET=y | ||
46 | CONFIG_IP_MULTICAST=y | ||
47 | CONFIG_IP_ADVANCED_ROUTER=y | ||
48 | CONFIG_IP_MULTIPLE_TABLES=y | ||
49 | CONFIG_IP_ROUTE_MULTIPATH=y | ||
50 | CONFIG_IP_ROUTE_VERBOSE=y | ||
51 | CONFIG_IP_PNP=y | ||
52 | CONFIG_IP_PNP_DHCP=y | ||
53 | CONFIG_IP_PNP_BOOTP=y | ||
54 | CONFIG_IP_PNP_RARP=y | ||
55 | CONFIG_NET_IPIP=y | ||
56 | CONFIG_IP_MROUTE=y | ||
57 | CONFIG_IP_PIMSM_V1=y | ||
58 | CONFIG_IP_PIMSM_V2=y | ||
59 | CONFIG_ARPD=y | ||
60 | CONFIG_INET_ESP=y | ||
61 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
62 | # CONFIG_INET_LRO is not set | ||
63 | CONFIG_IPV6=y | ||
64 | CONFIG_IP_SCTP=m | ||
65 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
66 | CONFIG_PROC_DEVICETREE=y | ||
67 | CONFIG_BLK_DEV_LOOP=y | ||
68 | CONFIG_BLK_DEV_RAM=y | ||
69 | CONFIG_BLK_DEV_RAM_SIZE=131072 | ||
70 | CONFIG_MISC_DEVICES=y | ||
71 | CONFIG_EEPROM_LEGACY=y | ||
72 | CONFIG_BLK_DEV_SD=y | ||
73 | CONFIG_CHR_DEV_ST=y | ||
74 | CONFIG_BLK_DEV_SR=y | ||
75 | CONFIG_CHR_DEV_SG=y | ||
76 | CONFIG_SCSI_MULTI_LUN=y | ||
77 | CONFIG_SCSI_LOGGING=y | ||
78 | CONFIG_ATA=y | ||
79 | CONFIG_SATA_FSL=y | ||
80 | CONFIG_SATA_SIL24=y | ||
81 | CONFIG_NETDEVICES=y | ||
82 | CONFIG_DUMMY=y | ||
83 | CONFIG_MARVELL_PHY=y | ||
84 | CONFIG_DAVICOM_PHY=y | ||
85 | CONFIG_CICADA_PHY=y | ||
86 | CONFIG_VITESSE_PHY=y | ||
87 | CONFIG_FIXED_PHY=y | ||
88 | CONFIG_NET_ETHERNET=y | ||
89 | CONFIG_FS_ENET=y | ||
90 | CONFIG_E1000E=y | ||
91 | CONFIG_FSL_PQ_MDIO=y | ||
92 | CONFIG_INPUT_FF_MEMLESS=m | ||
93 | # CONFIG_INPUT_MOUSEDEV is not set | ||
94 | # CONFIG_INPUT_KEYBOARD is not set | ||
95 | # CONFIG_INPUT_MOUSE is not set | ||
96 | CONFIG_SERIO_LIBPS2=y | ||
97 | CONFIG_SERIAL_8250=y | ||
98 | CONFIG_SERIAL_8250_CONSOLE=y | ||
99 | CONFIG_SERIAL_8250_NR_UARTS=2 | ||
100 | CONFIG_SERIAL_8250_RUNTIME_UARTS=2 | ||
101 | CONFIG_SERIAL_8250_EXTENDED=y | ||
102 | CONFIG_SERIAL_8250_MANY_PORTS=y | ||
103 | CONFIG_SERIAL_8250_DETECT_IRQ=y | ||
104 | CONFIG_SERIAL_8250_RSA=y | ||
105 | CONFIG_SERIAL_QE=m | ||
106 | CONFIG_HW_RANDOM=y | ||
107 | CONFIG_NVRAM=y | ||
108 | CONFIG_I2C=y | ||
109 | CONFIG_I2C_CPM=m | ||
110 | CONFIG_I2C_MPC=y | ||
111 | # CONFIG_HWMON is not set | ||
112 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
113 | CONFIG_SOUND=y | ||
114 | CONFIG_SND=y | ||
115 | CONFIG_SND_MIXER_OSS=y | ||
116 | CONFIG_SND_PCM_OSS=y | ||
117 | # CONFIG_SND_SUPPORT_OLD_API is not set | ||
118 | CONFIG_EDAC=y | ||
119 | CONFIG_EDAC_MM_EDAC=y | ||
120 | CONFIG_RTC_CLASS=y | ||
121 | CONFIG_RTC_DRV_CMOS=y | ||
122 | CONFIG_DMADEVICES=y | ||
123 | CONFIG_FSL_DMA=y | ||
124 | # CONFIG_NET_DMA is not set | ||
125 | CONFIG_STAGING=y | ||
126 | # CONFIG_STAGING_EXCLUDE_BUILD is not set | ||
127 | CONFIG_EXT2_FS=y | ||
128 | CONFIG_EXT3_FS=y | ||
129 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
130 | CONFIG_ISO9660_FS=m | ||
131 | CONFIG_JOLIET=y | ||
132 | CONFIG_ZISOFS=y | ||
133 | CONFIG_UDF_FS=m | ||
134 | CONFIG_MSDOS_FS=m | ||
135 | CONFIG_VFAT_FS=y | ||
136 | CONFIG_NTFS_FS=y | ||
137 | CONFIG_PROC_KCORE=y | ||
138 | CONFIG_TMPFS=y | ||
139 | CONFIG_ADFS_FS=m | ||
140 | CONFIG_AFFS_FS=m | ||
141 | CONFIG_HFS_FS=m | ||
142 | CONFIG_HFSPLUS_FS=m | ||
143 | CONFIG_BEFS_FS=m | ||
144 | CONFIG_BFS_FS=m | ||
145 | CONFIG_EFS_FS=m | ||
146 | CONFIG_CRAMFS=y | ||
147 | CONFIG_VXFS_FS=m | ||
148 | CONFIG_HPFS_FS=m | ||
149 | CONFIG_QNX4FS_FS=m | ||
150 | CONFIG_SYSV_FS=m | ||
151 | CONFIG_UFS_FS=m | ||
152 | CONFIG_NFS_FS=y | ||
153 | CONFIG_NFS_V3=y | ||
154 | CONFIG_NFS_V4=y | ||
155 | CONFIG_ROOT_NFS=y | ||
156 | CONFIG_NFSD=y | ||
157 | CONFIG_PARTITION_ADVANCED=y | ||
158 | CONFIG_MAC_PARTITION=y | ||
159 | CONFIG_CRC_T10DIF=y | ||
160 | CONFIG_FRAME_WARN=8092 | ||
161 | CONFIG_DEBUG_FS=y | ||
162 | CONFIG_DEBUG_KERNEL=y | ||
163 | CONFIG_DETECT_HUNG_TASK=y | ||
164 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
165 | CONFIG_DEBUG_INFO=y | ||
166 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
167 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
168 | CONFIG_VIRQ_DEBUG=y | ||
169 | CONFIG_CRYPTO_PCBC=m | ||
170 | CONFIG_CRYPTO_SHA256=y | ||
171 | CONFIG_CRYPTO_SHA512=y | ||
172 | CONFIG_CRYPTO_AES=y | ||
173 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig index 96b89df7752..1ac5198d019 100644 --- a/arch/powerpc/configs/mpc85xx_defconfig +++ b/arch/powerpc/configs/mpc85xx_defconfig | |||
@@ -5,6 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_POSIX_MQUEUE=y | 5 | CONFIG_POSIX_MQUEUE=y |
6 | CONFIG_BSD_PROCESS_ACCT=y | 6 | CONFIG_BSD_PROCESS_ACCT=y |
7 | CONFIG_AUDIT=y | 7 | CONFIG_AUDIT=y |
8 | CONFIG_SPARSE_IRQ=y | ||
8 | CONFIG_IKCONFIG=y | 9 | CONFIG_IKCONFIG=y |
9 | CONFIG_IKCONFIG_PROC=y | 10 | CONFIG_IKCONFIG_PROC=y |
10 | CONFIG_LOG_BUF_SHIFT=14 | 11 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -26,6 +27,7 @@ CONFIG_MPC8536_DS=y | |||
26 | CONFIG_MPC85xx_DS=y | 27 | CONFIG_MPC85xx_DS=y |
27 | CONFIG_MPC85xx_RDB=y | 28 | CONFIG_MPC85xx_RDB=y |
28 | CONFIG_P1022_DS=y | 29 | CONFIG_P1022_DS=y |
30 | CONFIG_P1023_RDS=y | ||
29 | CONFIG_SOCRATES=y | 31 | CONFIG_SOCRATES=y |
30 | CONFIG_KSI8560=y | 32 | CONFIG_KSI8560=y |
31 | CONFIG_XES_MPC85xx=y | 33 | CONFIG_XES_MPC85xx=y |
@@ -44,7 +46,6 @@ CONFIG_NO_HZ=y | |||
44 | CONFIG_HIGH_RES_TIMERS=y | 46 | CONFIG_HIGH_RES_TIMERS=y |
45 | CONFIG_BINFMT_MISC=m | 47 | CONFIG_BINFMT_MISC=m |
46 | CONFIG_MATH_EMULATION=y | 48 | CONFIG_MATH_EMULATION=y |
47 | CONFIG_SPARSE_IRQ=y | ||
48 | CONFIG_FORCE_MAX_ZONEORDER=12 | 49 | CONFIG_FORCE_MAX_ZONEORDER=12 |
49 | CONFIG_PCI=y | 50 | CONFIG_PCI=y |
50 | CONFIG_PCI_MSI=y | 51 | CONFIG_PCI_MSI=y |
@@ -65,8 +66,6 @@ CONFIG_IP_PNP_DHCP=y | |||
65 | CONFIG_IP_PNP_BOOTP=y | 66 | CONFIG_IP_PNP_BOOTP=y |
66 | CONFIG_IP_PNP_RARP=y | 67 | CONFIG_IP_PNP_RARP=y |
67 | CONFIG_NET_IPIP=y | 68 | CONFIG_NET_IPIP=y |
68 | CONFIG_NET_IPGRE=y | ||
69 | CONFIG_NET_IPGRE_BROADCAST=y | ||
70 | CONFIG_IP_MROUTE=y | 69 | CONFIG_IP_MROUTE=y |
71 | CONFIG_IP_PIMSM_V1=y | 70 | CONFIG_IP_PIMSM_V1=y |
72 | CONFIG_IP_PIMSM_V2=y | 71 | CONFIG_IP_PIMSM_V2=y |
@@ -170,7 +169,6 @@ CONFIG_FSL_DMA=y | |||
170 | CONFIG_EXT2_FS=y | 169 | CONFIG_EXT2_FS=y |
171 | CONFIG_EXT3_FS=y | 170 | CONFIG_EXT3_FS=y |
172 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | 171 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set |
173 | CONFIG_INOTIFY=y | ||
174 | CONFIG_ISO9660_FS=m | 172 | CONFIG_ISO9660_FS=m |
175 | CONFIG_JOLIET=y | 173 | CONFIG_JOLIET=y |
176 | CONFIG_ZISOFS=y | 174 | CONFIG_ZISOFS=y |
@@ -205,7 +203,6 @@ CONFIG_DEBUG_FS=y | |||
205 | CONFIG_DEBUG_KERNEL=y | 203 | CONFIG_DEBUG_KERNEL=y |
206 | CONFIG_DETECT_HUNG_TASK=y | 204 | CONFIG_DETECT_HUNG_TASK=y |
207 | CONFIG_DEBUG_INFO=y | 205 | CONFIG_DEBUG_INFO=y |
208 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
209 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 206 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
210 | CONFIG_VIRQ_DEBUG=y | 207 | CONFIG_VIRQ_DEBUG=y |
211 | CONFIG_CRYPTO_PCBC=m | 208 | CONFIG_CRYPTO_PCBC=m |
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_smp_defconfig index de65841aa04..f77edddc81e 100644 --- a/arch/powerpc/configs/mpc85xx_smp_defconfig +++ b/arch/powerpc/configs/mpc85xx_smp_defconfig | |||
@@ -7,6 +7,7 @@ CONFIG_SYSVIPC=y | |||
7 | CONFIG_POSIX_MQUEUE=y | 7 | CONFIG_POSIX_MQUEUE=y |
8 | CONFIG_BSD_PROCESS_ACCT=y | 8 | CONFIG_BSD_PROCESS_ACCT=y |
9 | CONFIG_AUDIT=y | 9 | CONFIG_AUDIT=y |
10 | CONFIG_SPARSE_IRQ=y | ||
10 | CONFIG_IKCONFIG=y | 11 | CONFIG_IKCONFIG=y |
11 | CONFIG_IKCONFIG_PROC=y | 12 | CONFIG_IKCONFIG_PROC=y |
12 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -28,6 +29,7 @@ CONFIG_MPC8536_DS=y | |||
28 | CONFIG_MPC85xx_DS=y | 29 | CONFIG_MPC85xx_DS=y |
29 | CONFIG_MPC85xx_RDB=y | 30 | CONFIG_MPC85xx_RDB=y |
30 | CONFIG_P1022_DS=y | 31 | CONFIG_P1022_DS=y |
32 | CONFIG_P1023_RDS=y | ||
31 | CONFIG_SOCRATES=y | 33 | CONFIG_SOCRATES=y |
32 | CONFIG_KSI8560=y | 34 | CONFIG_KSI8560=y |
33 | CONFIG_XES_MPC85xx=y | 35 | CONFIG_XES_MPC85xx=y |
@@ -46,7 +48,6 @@ CONFIG_NO_HZ=y | |||
46 | CONFIG_HIGH_RES_TIMERS=y | 48 | CONFIG_HIGH_RES_TIMERS=y |
47 | CONFIG_BINFMT_MISC=m | 49 | CONFIG_BINFMT_MISC=m |
48 | CONFIG_MATH_EMULATION=y | 50 | CONFIG_MATH_EMULATION=y |
49 | CONFIG_SPARSE_IRQ=y | ||
50 | CONFIG_FORCE_MAX_ZONEORDER=12 | 51 | CONFIG_FORCE_MAX_ZONEORDER=12 |
51 | CONFIG_PCI=y | 52 | CONFIG_PCI=y |
52 | CONFIG_PCI_MSI=y | 53 | CONFIG_PCI_MSI=y |
@@ -67,8 +68,6 @@ CONFIG_IP_PNP_DHCP=y | |||
67 | CONFIG_IP_PNP_BOOTP=y | 68 | CONFIG_IP_PNP_BOOTP=y |
68 | CONFIG_IP_PNP_RARP=y | 69 | CONFIG_IP_PNP_RARP=y |
69 | CONFIG_NET_IPIP=y | 70 | CONFIG_NET_IPIP=y |
70 | CONFIG_NET_IPGRE=y | ||
71 | CONFIG_NET_IPGRE_BROADCAST=y | ||
72 | CONFIG_IP_MROUTE=y | 71 | CONFIG_IP_MROUTE=y |
73 | CONFIG_IP_PIMSM_V1=y | 72 | CONFIG_IP_PIMSM_V1=y |
74 | CONFIG_IP_PIMSM_V2=y | 73 | CONFIG_IP_PIMSM_V2=y |
@@ -172,7 +171,6 @@ CONFIG_FSL_DMA=y | |||
172 | CONFIG_EXT2_FS=y | 171 | CONFIG_EXT2_FS=y |
173 | CONFIG_EXT3_FS=y | 172 | CONFIG_EXT3_FS=y |
174 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | 173 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set |
175 | CONFIG_INOTIFY=y | ||
176 | CONFIG_ISO9660_FS=m | 174 | CONFIG_ISO9660_FS=m |
177 | CONFIG_JOLIET=y | 175 | CONFIG_JOLIET=y |
178 | CONFIG_ZISOFS=y | 176 | CONFIG_ZISOFS=y |
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index b6976e1726e..6db02756196 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig | |||
@@ -75,6 +75,12 @@ config P1022_DS | |||
75 | help | 75 | help |
76 | This option enables support for the Freescale P1022DS reference board. | 76 | This option enables support for the Freescale P1022DS reference board. |
77 | 77 | ||
78 | config P1023_RDS | ||
79 | bool "Freescale P1023 RDS" | ||
80 | select DEFAULT_UIMAGE | ||
81 | help | ||
82 | This option enables support for the P1023 RDS board | ||
83 | |||
78 | config SOCRATES | 84 | config SOCRATES |
79 | bool "Socrates" | 85 | bool "Socrates" |
80 | select DEFAULT_UIMAGE | 86 | select DEFAULT_UIMAGE |
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile index dd70db77d63..5c08be5b602 100644 --- a/arch/powerpc/platforms/85xx/Makefile +++ b/arch/powerpc/platforms/85xx/Makefile | |||
@@ -11,6 +11,7 @@ obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o | |||
11 | obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o | 11 | obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o |
12 | obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o | 12 | obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o |
13 | obj-$(CONFIG_P1022_DS) += p1022_ds.o | 13 | obj-$(CONFIG_P1022_DS) += p1022_ds.o |
14 | obj-$(CONFIG_P1023_RDS) += p1023_rds.o | ||
14 | obj-$(CONFIG_P3041_DS) += p3041_ds.o corenet_ds.o | 15 | obj-$(CONFIG_P3041_DS) += p3041_ds.o corenet_ds.o |
15 | obj-$(CONFIG_P4080_DS) += p4080_ds.o corenet_ds.o | 16 | obj-$(CONFIG_P4080_DS) += p4080_ds.o corenet_ds.o |
16 | obj-$(CONFIG_P5020_DS) += p5020_ds.o corenet_ds.o | 17 | obj-$(CONFIG_P5020_DS) += p5020_ds.o corenet_ds.o |
diff --git a/arch/powerpc/platforms/85xx/p1023_rds.c b/arch/powerpc/platforms/85xx/p1023_rds.c new file mode 100644 index 00000000000..835e0b335bf --- /dev/null +++ b/arch/powerpc/platforms/85xx/p1023_rds.c | |||
@@ -0,0 +1,162 @@ | |||
1 | /* | ||
2 | * Copyright 2010-2011 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * Author: Roy Zang <tie-fei.zang@freescale.com> | ||
5 | * | ||
6 | * Description: | ||
7 | * P1023 RDS Board Setup | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | */ | ||
14 | |||
15 | #include <linux/kernel.h> | ||
16 | #include <linux/init.h> | ||
17 | #include <linux/errno.h> | ||
18 | #include <linux/pci.h> | ||
19 | #include <linux/delay.h> | ||
20 | #include <linux/module.h> | ||
21 | #include <linux/fsl_devices.h> | ||
22 | #include <linux/of_platform.h> | ||
23 | #include <linux/of_device.h> | ||
24 | |||
25 | #include <asm/system.h> | ||
26 | #include <asm/time.h> | ||
27 | #include <asm/machdep.h> | ||
28 | #include <asm/pci-bridge.h> | ||
29 | #include <mm/mmu_decl.h> | ||
30 | #include <asm/prom.h> | ||
31 | #include <asm/udbg.h> | ||
32 | #include <asm/mpic.h> | ||
33 | |||
34 | #include <sysdev/fsl_soc.h> | ||
35 | #include <sysdev/fsl_pci.h> | ||
36 | |||
37 | /* ************************************************************************ | ||
38 | * | ||
39 | * Setup the architecture | ||
40 | * | ||
41 | */ | ||
42 | #ifdef CONFIG_SMP | ||
43 | void __init mpc85xx_smp_init(void); | ||
44 | #endif | ||
45 | |||
46 | static void __init mpc85xx_rds_setup_arch(void) | ||
47 | { | ||
48 | struct device_node *np; | ||
49 | |||
50 | if (ppc_md.progress) | ||
51 | ppc_md.progress("p1023_rds_setup_arch()", 0); | ||
52 | |||
53 | /* Map BCSR area */ | ||
54 | np = of_find_node_by_name(NULL, "bcsr"); | ||
55 | if (np != NULL) { | ||
56 | static u8 __iomem *bcsr_regs; | ||
57 | |||
58 | bcsr_regs = of_iomap(np, 0); | ||
59 | of_node_put(np); | ||
60 | |||
61 | if (!bcsr_regs) { | ||
62 | printk(KERN_ERR | ||
63 | "BCSR: Failed to map bcsr register space\n"); | ||
64 | return; | ||
65 | } else { | ||
66 | #define BCSR15_I2C_BUS0_SEG_CLR 0x07 | ||
67 | #define BCSR15_I2C_BUS0_SEG2 0x02 | ||
68 | /* | ||
69 | * Note: Accessing exclusively i2c devices. | ||
70 | * | ||
71 | * The i2c controller selects initially ID EEPROM in the u-boot; | ||
72 | * but if menu configuration selects RTC support in the kernel, | ||
73 | * the i2c controller switches to select RTC chip in the kernel. | ||
74 | */ | ||
75 | #ifdef CONFIG_RTC_CLASS | ||
76 | /* Enable RTC chip on the segment #2 of i2c */ | ||
77 | clrbits8(&bcsr_regs[15], BCSR15_I2C_BUS0_SEG_CLR); | ||
78 | setbits8(&bcsr_regs[15], BCSR15_I2C_BUS0_SEG2); | ||
79 | #endif | ||
80 | |||
81 | iounmap(bcsr_regs); | ||
82 | } | ||
83 | } | ||
84 | |||
85 | #ifdef CONFIG_PCI | ||
86 | for_each_compatible_node(np, "pci", "fsl,p1023-pcie") | ||
87 | fsl_add_bridge(np, 0); | ||
88 | #endif | ||
89 | |||
90 | #ifdef CONFIG_SMP | ||
91 | mpc85xx_smp_init(); | ||
92 | #endif | ||
93 | } | ||
94 | |||
95 | static struct of_device_id p1023_ids[] = { | ||
96 | { .type = "soc", }, | ||
97 | { .compatible = "soc", }, | ||
98 | { .compatible = "simple-bus", }, | ||
99 | {}, | ||
100 | }; | ||
101 | |||
102 | |||
103 | static int __init p1023_publish_devices(void) | ||
104 | { | ||
105 | of_platform_bus_probe(NULL, p1023_ids, NULL); | ||
106 | |||
107 | return 0; | ||
108 | } | ||
109 | |||
110 | machine_device_initcall(p1023_rds, p1023_publish_devices); | ||
111 | |||
112 | static void __init mpc85xx_rds_pic_init(void) | ||
113 | { | ||
114 | struct mpic *mpic; | ||
115 | struct resource r; | ||
116 | struct device_node *np = NULL; | ||
117 | |||
118 | np = of_find_node_by_type(NULL, "open-pic"); | ||
119 | if (!np) { | ||
120 | printk(KERN_ERR "Could not find open-pic node\n"); | ||
121 | return; | ||
122 | } | ||
123 | |||
124 | if (of_address_to_resource(np, 0, &r)) { | ||
125 | printk(KERN_ERR "Failed to map mpic register space\n"); | ||
126 | of_node_put(np); | ||
127 | return; | ||
128 | } | ||
129 | |||
130 | mpic = mpic_alloc(np, r.start, | ||
131 | MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN | | ||
132 | MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU, | ||
133 | 0, 256, " OpenPIC "); | ||
134 | |||
135 | BUG_ON(mpic == NULL); | ||
136 | of_node_put(np); | ||
137 | |||
138 | mpic_init(mpic); | ||
139 | } | ||
140 | |||
141 | static int __init p1023_rds_probe(void) | ||
142 | { | ||
143 | unsigned long root = of_get_flat_dt_root(); | ||
144 | |||
145 | return of_flat_dt_is_compatible(root, "fsl,P1023RDS"); | ||
146 | |||
147 | } | ||
148 | |||
149 | define_machine(p1023_rds) { | ||
150 | .name = "P1023 RDS", | ||
151 | .probe = p1023_rds_probe, | ||
152 | .setup_arch = mpc85xx_rds_setup_arch, | ||
153 | .init_IRQ = mpc85xx_rds_pic_init, | ||
154 | .get_irq = mpic_get_irq, | ||
155 | .restart = fsl_rstcr_restart, | ||
156 | .calibrate_decr = generic_calibrate_decr, | ||
157 | .progress = udbg_progress, | ||
158 | #ifdef CONFIG_PCI | ||
159 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, | ||
160 | #endif | ||
161 | }; | ||
162 | |||