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 + -
显示快捷键?