📄 mpc8xx_devices.c
字号:
/* * arch/ppc/syslib/mpc8xx_devices.c * * MPC8xx Device descriptions * * Maintainer: Kumar Gala <galak@kernel.crashing.org> * * Copyright 2005 MontaVista Software, Inc. by Vitaly Bordug<vbordug@ru.mvista.com> * * 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 <linux/init.h>#include <linux/module.h>#include <linux/device.h>#include <linux/serial_8250.h>#include <linux/mii.h>#include <asm/commproc.h>#include <asm/mpc8xx.h>#include <asm/irq.h>#include <asm/ppc_sys.h>/* 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 = 0x3c80, .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 = 0x3d80, .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 = 0x3e80, .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 = 0x3f80, .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 = 2, .resource = (struct resource[]) { { .name = "regs", .start = 0xa82, .end = 0xa91, .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 = 2, .resource = (struct resource[]) { { .name = "regs", .start = 0xa92, .end = 0xaa1, .flags = IORESOURCE_MEM, }, { .name = "interrupt", .start = MPC8xx_INT_SMC2, .end = MPC8xx_INT_SMC2, .flags = IORESOURCE_IRQ, }, }, },};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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -