2 * arch/ppc/syslib/pq2_devices.c
4 * PQ2 Device descriptions
6 * Maintainer: Kumar Gala <galak@kernel.crashing.org>
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);