⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pq2_devices.c

📁 底层驱动开发
💻 C
字号:
/* * arch/ppc/syslib/pq2_devices.c * * PQ2 Device descriptions * * Maintainer: Kumar Gala <kumar.gala@freescale.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/init.h>#include <linux/module.h>#include <linux/device.h>#include <linux/ioport.h>#include <asm/cpm2.h>#include <asm/irq.h>#include <asm/ppc_sys.h>struct platform_device ppc_sys_platform_devices[] = {	[MPC82xx_CPM_FCC1] = {		.name = "fsl-cpm-fcc",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "fcc_regs",				.start	= 0x11300,				.end	= 0x1131f,				.flags	= IORESOURCE_MEM,			},			{				.name	= "fcc_pram",				.start	= 0x8400,				.end	= 0x84ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_FCC1,				.end	= SIU_INT_FCC1,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_FCC2] = {		.name = "fsl-cpm-fcc",		.id	= 2,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "fcc_regs",				.start	= 0x11320,				.end	= 0x1133f,				.flags	= IORESOURCE_MEM,			},			{				.name	= "fcc_pram",				.start	= 0x8500,				.end	= 0x85ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_FCC2,				.end	= SIU_INT_FCC2,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_FCC3] = {		.name = "fsl-cpm-fcc",		.id	= 3,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "fcc_regs",				.start	= 0x11340,				.end	= 0x1135f,				.flags	= IORESOURCE_MEM,			},			{				.name	= "fcc_pram",				.start	= 0x8600,				.end	= 0x86ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_FCC3,				.end	= SIU_INT_FCC3,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_I2C] = {		.name = "fsl-cpm-i2c",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "i2c_mem",				.start	= 0x11860,				.end	= 0x118BF,				.flags	= IORESOURCE_MEM,			},			{				.name	= "i2c_pram",				.start 	= 0x8afc,				.end	= 0x8afd,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_I2C,				.end	= SIU_INT_I2C,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SCC1] = {		.name = "fsl-cpm-scc",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "scc_mem",				.start	= 0x11A00,				.end	= 0x11A1F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "scc_pram",				.start	= 0x8000,				.end	= 0x80ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SCC1,				.end	= SIU_INT_SCC1,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SCC2] = {		.name = "fsl-cpm-scc",		.id	= 2,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "scc_mem",				.start	= 0x11A20,				.end	= 0x11A3F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "scc_pram",				.start	= 0x8100,				.end	= 0x81ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SCC2,				.end	= SIU_INT_SCC2,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SCC3] = {		.name = "fsl-cpm-scc",		.id	= 3,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name 	= "scc_mem",				.start	= 0x11A40,				.end	= 0x11A5F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "scc_pram",				.start	= 0x8200,				.end	= 0x82ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SCC3,				.end	= SIU_INT_SCC3,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SCC4] = {		.name = "fsl-cpm-scc",		.id	= 4,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "scc_mem",				.start	= 0x11A60,				.end	= 0x11A7F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "scc_pram",				.start	= 0x8300,				.end	= 0x83ff,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SCC4,				.end	= SIU_INT_SCC4,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SPI] = {		.name = "fsl-cpm-spi",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "spi_mem",				.start	= 0x11AA0,				.end	= 0x11AFF,				.flags	= IORESOURCE_MEM,			},			{				.name	= "spi_pram",				.start	= 0x89fc,				.end	= 0x89fd,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SPI,				.end	= SIU_INT_SPI,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_MCC1] = {		.name = "fsl-cpm-mcc",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "mcc_mem",				.start	= 0x11B30,				.end	= 0x11B3F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "mcc_pram",				.start	= 0x8700,				.end	= 0x877f,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_MCC1,				.end	= SIU_INT_MCC1,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_MCC2] = {		.name = "fsl-cpm-mcc",		.id	= 2,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "mcc_mem",				.start	= 0x11B50,				.end	= 0x11B5F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "mcc_pram",				.start	= 0x8800,				.end	= 0x887f,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_MCC2,				.end	= SIU_INT_MCC2,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SMC1] = {		.name = "fsl-cpm-smc",		.id	= 1,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "smc_mem",				.start	= 0x11A80,				.end	= 0x11A8F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "smc_pram",				.start	= 0x87fc,				.end	= 0x87fd,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SMC1,				.end	= SIU_INT_SMC1,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_SMC2] = {		.name = "fsl-cpm-smc",		.id	= 2,		.num_resources	 = 3,		.resource = (struct resource[]) {			{				.name	= "smc_mem",				.start	= 0x11A90,				.end	= 0x11A9F,				.flags	= IORESOURCE_MEM,			},			{				.name	= "smc_pram",				.start	= 0x88fc,				.end	= 0x88fd,				.flags	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_SMC2,				.end	= SIU_INT_SMC2,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_CPM_USB] = {		.name = "fsl-cpm-usb",		.id	= 1,		.num_resources	= 3,		.resource = (struct resource[]) {			{				.name	= "usb_mem",				.start	= 0x11b60,				.end	= 0x11b78,				.flags	= IORESOURCE_MEM,			},			{				.name	= "usb_pram",				.start	= 0x8b00,				.end	= 0x8bff,				.flags 	= IORESOURCE_MEM,			},			{				.start	= SIU_INT_USB,				.end	= SIU_INT_USB,				.flags	= IORESOURCE_IRQ,			},		},	},	[MPC82xx_SEC1] = {		.name = "fsl-sec",		.id = 1,		.num_resources = 1,		.resource = (struct resource[]) {			{				.name	= "sec_mem",				.start	= 0x40000,				.end	= 0x52fff,				.flags	= IORESOURCE_MEM,			},		},	},};static int __init mach_mpc82xx_fixup(struct platform_device *pdev){	ppc_sys_fixup_mem_resource(pdev, CPM_MAP_ADDR);	return 0;}static int __init mach_mpc82xx_init(void){	if (ppc_md.progress)		ppc_md.progress("mach_mpc82xx_init:enter", 0);	ppc_sys_device_fixup = mach_mpc82xx_fixup;	return 0;}postcore_initcall(mach_mpc82xx_init);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -