/* * MPC8xx Device descriptions * * Maintainer: Kumar Gala * * Copyright 2005 MontaVista Software, Inc. by Vitaly Bordug * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ #include #include #include #include #include #include #include #include #include /* We use offsets for IORESOURCE_MEM to do not set dependences at compile time. * They will get fixed up by mach_mpc8xx_fixup */ struct platform_device ppc_sys_platform_devices[] = { [MPC8xx_CPM_FEC1] = { .name = "fsl-cpm-fec", .id = 1, .num_resources = 2, .resource = (struct resource[]) { { .name = "regs", .start = 0xe00, .end = 0xe88, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_FEC1, .end = MPC8xx_INT_FEC1, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_FEC2] = { .name = "fsl-cpm-fec", .id = 2, .num_resources = 2, .resource = (struct resource[]) { { .name = "regs", .start = 0x1e00, .end = 0x1e88, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_FEC2, .end = MPC8xx_INT_FEC2, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SCC1] = { .name = "fsl-cpm-scc", .id = 1, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa00, .end = 0xa18, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3c00, .end = 0x3c7f, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SCC1, .end = MPC8xx_INT_SCC1, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SCC2] = { .name = "fsl-cpm-scc", .id = 2, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa20, .end = 0xa38, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3d00, .end = 0x3d7f, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SCC2, .end = MPC8xx_INT_SCC2, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SCC3] = { .name = "fsl-cpm-scc", .id = 3, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa40, .end = 0xa58, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3e00, .end = 0x3e7f, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SCC3, .end = MPC8xx_INT_SCC3, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SCC4] = { .name = "fsl-cpm-scc", .id = 4, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa60, .end = 0xa78, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3f00, .end = 0x3f7f, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SCC4, .end = MPC8xx_INT_SCC4, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SMC1] = { .name = "fsl-cpm-smc", .id = 1, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa80, .end = 0xa8f, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3e80, .end = 0x3ebf, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SMC1, .end = MPC8xx_INT_SMC1, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_CPM_SMC2] = { .name = "fsl-cpm-smc", .id = 2, .num_resources = 3, .resource = (struct resource[]) { { .name = "regs", .start = 0xa90, .end = 0xa9f, .flags = IORESOURCE_MEM, }, { .name = "pram", .start = 0x3f80, .end = 0x3fbf, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SMC2, .end = MPC8xx_INT_SMC2, .flags = IORESOURCE_IRQ, }, }, }, [MPC8xx_MDIO_FEC] = { .name = "fsl-cpm-fec-mdio", .id = 0, .num_resources = 0, }, }; static int __init mach_mpc8xx_fixup(struct platform_device *pdev) { ppc_sys_fixup_mem_resource (pdev, IMAP_ADDR); return 0; } static int __init mach_mpc8xx_init(void) { ppc_sys_device_fixup = mach_mpc8xx_fixup; return 0; } postcore_initcall(mach_mpc8xx_init);