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);