i2c-ocores

来自「linux 内核源代码」· 代码 · 共 52 行

TXT
52
字号
Kernel driver i2c-ocoresSupported adapters:  * OpenCores.org I2C controller by Richard Herveille (see datasheet link)    Datasheet: http://www.opencores.org/projects.cgi/web/i2c/overviewAuthor: Peter Korsgaard <jacmet@sunsite.dk>Description-----------i2c-ocores is an i2c bus driver for the OpenCores.org I2C controllerIP core by Richard Herveille.Usage-----i2c-ocores uses the platform bus, so you need to provide a structplatform_device with the base address and interrupt number. Thedev.platform_data of the device should also point to a structocores_i2c_platform_data (see linux/i2c-ocores.h) describing thedistance between registers and the input clock speed.E.G. something like:static struct resource ocores_resources[] = {	[0] = {		.start	= MYI2C_BASEADDR,		.end	= MYI2C_BASEADDR + 8,		.flags	= IORESOURCE_MEM,	},	[1] = {		.start	= MYI2C_IRQ,		.end	= MYI2C_IRQ,		.flags	= IORESOURCE_IRQ,	},};static struct ocores_i2c_platform_data myi2c_data = {	.regstep	= 2,		/* two bytes between registers */	.clock_khz	= 50000,	/* input clock of 50MHz */};static struct platform_device myi2c = {	.name			= "ocores-i2c",	.dev = {		.platform_data	= &myi2c_data,	},	.num_resources		= ARRAY_SIZE(ocores_resources),	.resource		= ocores_resources,};

⌨️ 快捷键说明

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