📄 mpc52xx_devices.c
字号:
/* * arch/ppc/syslib/mpc52xx_devices.c * * Freescale MPC52xx device descriptions * * * Maintainer : Sylvain Munaut <tnt@246tNt.com> * * Copyright (C) 2005 Sylvain Munaut <tnt@246tNt.com> * * This file is licensed under the terms of the GNU General Public License * version 2. This program is licensed "as is" without any warranty of any * kind, whether express or implied. */#include <linux/fsl_devices.h>#include <linux/resource.h>#include <linux/platform_device.h>#include <asm/mpc52xx.h>#include <asm/ppc_sys.h>static u64 mpc52xx_dma_mask = 0xffffffffULL;static struct fsl_i2c_platform_data mpc52xx_fsl_i2c_pdata = { .device_flags = FSL_I2C_DEV_CLOCK_5200,};/* We use relative offsets for IORESOURCE_MEM to be independent from the * MBAR location at compile time *//* TODO Add the BestComm initiator channel to the device definitions, possibly using IORESOURCE_DMA. But that's when BestComm is ready ... */struct platform_device ppc_sys_platform_devices[] = { [MPC52xx_MSCAN1] = { .name = "mpc52xx-mscan", .id = 0, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x0900, .end = 0x097f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_MSCAN1_IRQ, .end = MPC52xx_MSCAN1_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_MSCAN2] = { .name = "mpc52xx-mscan", .id = 1, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x0980, .end = 0x09ff, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_MSCAN2_IRQ, .end = MPC52xx_MSCAN2_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_SPI] = { .name = "mpc52xx-spi", .id = -1, .num_resources = 3, .resource = (struct resource[]) { { .start = 0x0f00, .end = 0x0f1f, .flags = IORESOURCE_MEM, }, { .name = "modf", .start = MPC52xx_SPI_MODF_IRQ, .end = MPC52xx_SPI_MODF_IRQ, .flags = IORESOURCE_IRQ, }, { .name = "spif", .start = MPC52xx_SPI_SPIF_IRQ, .end = MPC52xx_SPI_SPIF_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_USB] = { .name = "ppc-soc-ohci", .id = -1, .num_resources = 2, .dev.dma_mask = &mpc52xx_dma_mask, .dev.coherent_dma_mask = 0xffffffffULL, .resource = (struct resource[]) { { .start = 0x1000, .end = 0x10ff, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_USB_IRQ, .end = MPC52xx_USB_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_BDLC] = { .name = "mpc52xx-bdlc", .id = -1, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x1300, .end = 0x130f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_BDLC_IRQ, .end = MPC52xx_BDLC_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC1] = { .name = "mpc52xx-psc", .id = 0, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2000, .end = 0x209f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC1_IRQ, .end = MPC52xx_PSC1_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC2] = { .name = "mpc52xx-psc", .id = 1, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2200, .end = 0x229f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC2_IRQ, .end = MPC52xx_PSC2_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC3] = { .name = "mpc52xx-psc", .id = 2, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2400, .end = 0x249f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC3_IRQ, .end = MPC52xx_PSC3_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC4] = { .name = "mpc52xx-psc", .id = 3, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2600, .end = 0x269f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC4_IRQ, .end = MPC52xx_PSC4_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC5] = { .name = "mpc52xx-psc", .id = 4, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2800, .end = 0x289f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC5_IRQ, .end = MPC52xx_PSC5_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_PSC6] = { .name = "mpc52xx-psc", .id = 5, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x2c00, .end = 0x2c9f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_PSC6_IRQ, .end = MPC52xx_PSC6_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_FEC] = { .name = "mpc52xx-fec", .id = -1, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x3000, .end = 0x33ff, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_FEC_IRQ, .end = MPC52xx_FEC_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_ATA] = { .name = "mpc52xx-ata", .id = -1, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x3a00, .end = 0x3aff, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_ATA_IRQ, .end = MPC52xx_ATA_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_I2C1] = { .name = "fsl-i2c", .id = 0, .dev.platform_data = &mpc52xx_fsl_i2c_pdata, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x3d00, .end = 0x3d1f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_I2C1_IRQ, .end = MPC52xx_I2C1_IRQ, .flags = IORESOURCE_IRQ, }, }, }, [MPC52xx_I2C2] = { .name = "fsl-i2c", .id = 1, .dev.platform_data = &mpc52xx_fsl_i2c_pdata, .num_resources = 2, .resource = (struct resource[]) { { .start = 0x3d40, .end = 0x3d5f, .flags = IORESOURCE_MEM, }, { .start = MPC52xx_I2C2_IRQ, .end = MPC52xx_I2C2_IRQ, .flags = IORESOURCE_IRQ, }, }, },};static int __init mach_mpc52xx_fixup(struct platform_device *pdev){ ppc_sys_fixup_mem_resource(pdev, MPC52xx_MBAR); return 0;}static int __init mach_mpc52xx_init(void){ ppc_sys_device_fixup = mach_mpc52xx_fixup; return 0;}postcore_initcall(mach_mpc52xx_init);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -