2 * arch/ppc/syslib/pq2_devices.c
4 * PQ2 Device descriptions
6 * Maintainer: Kumar Gala <kumar.gala@freescale.com>
8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any
10 * kind, whether express or implied.
14 #include <linux/init.h>
15 #include <linux/module.h>
16 #include <linux/platform_device.h>
17 #include <linux/ioport.h>
20 #include <asm/ppc_sys.h>
21 #include <asm/machdep.h>
23 struct platform_device ppc_sys_platform_devices
[] = {
24 [MPC82xx_CPM_FCC1
] = {
25 .name
= "fsl-cpm-fcc",
28 .resource
= (struct resource
[]) {
33 .flags
= IORESOURCE_MEM
,
39 .flags
= IORESOURCE_MEM
,
42 .start
= SIU_INT_FCC1
,
44 .flags
= IORESOURCE_IRQ
,
48 [MPC82xx_CPM_FCC2
] = {
49 .name
= "fsl-cpm-fcc",
52 .resource
= (struct resource
[]) {
57 .flags
= IORESOURCE_MEM
,
63 .flags
= IORESOURCE_MEM
,
66 .start
= SIU_INT_FCC2
,
68 .flags
= IORESOURCE_IRQ
,
72 [MPC82xx_CPM_FCC3
] = {
73 .name
= "fsl-cpm-fcc",
76 .resource
= (struct resource
[]) {
81 .flags
= IORESOURCE_MEM
,
87 .flags
= IORESOURCE_MEM
,
90 .start
= SIU_INT_FCC3
,
92 .flags
= IORESOURCE_IRQ
,
97 .name
= "fsl-cpm-i2c",
100 .resource
= (struct resource
[]) {
105 .flags
= IORESOURCE_MEM
,
111 .flags
= IORESOURCE_MEM
,
114 .start
= SIU_INT_I2C
,
116 .flags
= IORESOURCE_IRQ
,
120 [MPC82xx_CPM_SCC1
] = {
121 .name
= "fsl-cpm-scc",
124 .resource
= (struct resource
[]) {
129 .flags
= IORESOURCE_MEM
,
135 .flags
= IORESOURCE_MEM
,
138 .start
= SIU_INT_SCC1
,
140 .flags
= IORESOURCE_IRQ
,
144 [MPC82xx_CPM_SCC2
] = {
145 .name
= "fsl-cpm-scc",
148 .resource
= (struct resource
[]) {
153 .flags
= IORESOURCE_MEM
,
159 .flags
= IORESOURCE_MEM
,
162 .start
= SIU_INT_SCC2
,
164 .flags
= IORESOURCE_IRQ
,
168 [MPC82xx_CPM_SCC3
] = {
169 .name
= "fsl-cpm-scc",
172 .resource
= (struct resource
[]) {
177 .flags
= IORESOURCE_MEM
,
183 .flags
= IORESOURCE_MEM
,
186 .start
= SIU_INT_SCC3
,
188 .flags
= IORESOURCE_IRQ
,
192 [MPC82xx_CPM_SCC4
] = {
193 .name
= "fsl-cpm-scc",
196 .resource
= (struct resource
[]) {
201 .flags
= IORESOURCE_MEM
,
207 .flags
= IORESOURCE_MEM
,
210 .start
= SIU_INT_SCC4
,
212 .flags
= IORESOURCE_IRQ
,
216 [MPC82xx_CPM_SPI
] = {
217 .name
= "fsl-cpm-spi",
220 .resource
= (struct resource
[]) {
225 .flags
= IORESOURCE_MEM
,
231 .flags
= IORESOURCE_MEM
,
234 .start
= SIU_INT_SPI
,
236 .flags
= IORESOURCE_IRQ
,
240 [MPC82xx_CPM_MCC1
] = {
241 .name
= "fsl-cpm-mcc",
244 .resource
= (struct resource
[]) {
249 .flags
= IORESOURCE_MEM
,
255 .flags
= IORESOURCE_MEM
,
258 .start
= SIU_INT_MCC1
,
260 .flags
= IORESOURCE_IRQ
,
264 [MPC82xx_CPM_MCC2
] = {
265 .name
= "fsl-cpm-mcc",
268 .resource
= (struct resource
[]) {
273 .flags
= IORESOURCE_MEM
,
279 .flags
= IORESOURCE_MEM
,
282 .start
= SIU_INT_MCC2
,
284 .flags
= IORESOURCE_IRQ
,
288 [MPC82xx_CPM_SMC1
] = {
289 .name
= "fsl-cpm-smc",
292 .resource
= (struct resource
[]) {
297 .flags
= IORESOURCE_MEM
,
303 .flags
= IORESOURCE_MEM
,
306 .start
= SIU_INT_SMC1
,
308 .flags
= IORESOURCE_IRQ
,
312 [MPC82xx_CPM_SMC2
] = {
313 .name
= "fsl-cpm-smc",
316 .resource
= (struct resource
[]) {
321 .flags
= IORESOURCE_MEM
,
327 .flags
= IORESOURCE_MEM
,
330 .start
= SIU_INT_SMC2
,
332 .flags
= IORESOURCE_IRQ
,
336 [MPC82xx_CPM_USB
] = {
337 .name
= "fsl-cpm-usb",
340 .resource
= (struct resource
[]) {
345 .flags
= IORESOURCE_MEM
,
351 .flags
= IORESOURCE_MEM
,
354 .start
= SIU_INT_USB
,
356 .flags
= IORESOURCE_IRQ
,
365 .resource
= (struct resource
[]) {
370 .flags
= IORESOURCE_MEM
,
376 static int __init
mach_mpc82xx_fixup(struct platform_device
*pdev
)
378 ppc_sys_fixup_mem_resource(pdev
, CPM_MAP_ADDR
);
382 static int __init
mach_mpc82xx_init(void)
385 ppc_md
.progress("mach_mpc82xx_init:enter", 0);
386 ppc_sys_device_fixup
= mach_mpc82xx_fixup
;
390 postcore_initcall(mach_mpc82xx_init
);