2 * arch/ppc/syslib/mpc8xx_devices.c
4 * MPC8xx Device descriptions
6 * Maintainer: Kumar Gala <kumar.gala@freescale.com>
8 * Copyright 2005 MontaVista Software, Inc. by Vitaly Bordug<vbordug@ru.mvista.com>
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
16 #include <linux/init.h>
17 #include <linux/module.h>
18 #include <linux/device.h>
19 #include <linux/serial_8250.h>
20 #include <linux/mii.h>
21 #include <asm/commproc.h>
22 #include <asm/mpc8xx.h>
24 #include <asm/ppc_sys.h>
26 /* We use offsets for IORESOURCE_MEM to do not set dependences at compile time.
27 * They will get fixed up by mach_mpc8xx_fixup
30 struct platform_device ppc_sys_platform_devices
[] = {
32 .name
= "fsl-cpm-fec",
35 .resource
= (struct resource
[]) {
40 .flags
= IORESOURCE_MEM
,
44 .start
= MPC8xx_INT_FEC1
,
45 .end
= MPC8xx_INT_FEC1
,
46 .flags
= IORESOURCE_IRQ
,
51 .name
= "fsl-cpm-fec",
54 .resource
= (struct resource
[]) {
59 .flags
= IORESOURCE_MEM
,
63 .start
= MPC8xx_INT_FEC2
,
64 .end
= MPC8xx_INT_FEC2
,
65 .flags
= IORESOURCE_IRQ
,
70 .name
= "fsl-cpm-scc",
73 .resource
= (struct resource
[]) {
78 .flags
= IORESOURCE_MEM
,
84 .flags
= IORESOURCE_MEM
,
88 .start
= MPC8xx_INT_SCC1
,
89 .end
= MPC8xx_INT_SCC1
,
90 .flags
= IORESOURCE_IRQ
,
95 .name
= "fsl-cpm-scc",
98 .resource
= (struct resource
[]) {
103 .flags
= IORESOURCE_MEM
,
109 .flags
= IORESOURCE_MEM
,
114 .start
= MPC8xx_INT_SCC2
,
115 .end
= MPC8xx_INT_SCC2
,
116 .flags
= IORESOURCE_IRQ
,
120 [MPC8xx_CPM_SCC3
] = {
121 .name
= "fsl-cpm-scc",
124 .resource
= (struct resource
[]) {
129 .flags
= IORESOURCE_MEM
,
135 .flags
= IORESOURCE_MEM
,
140 .start
= MPC8xx_INT_SCC3
,
141 .end
= MPC8xx_INT_SCC3
,
142 .flags
= IORESOURCE_IRQ
,
146 [MPC8xx_CPM_SCC4
] = {
147 .name
= "fsl-cpm-scc",
150 .resource
= (struct resource
[]) {
155 .flags
= IORESOURCE_MEM
,
161 .flags
= IORESOURCE_MEM
,
166 .start
= MPC8xx_INT_SCC4
,
167 .end
= MPC8xx_INT_SCC4
,
168 .flags
= IORESOURCE_IRQ
,
172 [MPC8xx_CPM_SMC1
] = {
173 .name
= "fsl-cpm-smc",
176 .resource
= (struct resource
[]) {
181 .flags
= IORESOURCE_MEM
,
185 .start
= MPC8xx_INT_SMC1
,
186 .end
= MPC8xx_INT_SMC1
,
187 .flags
= IORESOURCE_IRQ
,
191 [MPC8xx_CPM_SMC2
] = {
192 .name
= "fsl-cpm-smc",
195 .resource
= (struct resource
[]) {
200 .flags
= IORESOURCE_MEM
,
204 .start
= MPC8xx_INT_SMC2
,
205 .end
= MPC8xx_INT_SMC2
,
206 .flags
= IORESOURCE_IRQ
,
212 static int __init
mach_mpc8xx_fixup(struct platform_device
*pdev
)
214 ppc_sys_fixup_mem_resource (pdev
, IMAP_ADDR
);
218 static int __init
mach_mpc8xx_init(void)
220 ppc_sys_device_fixup
= mach_mpc8xx_fixup
;
224 postcore_initcall(mach_mpc8xx_init
);