Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 28636
b: refs/heads/master
c: 18f98b1
h: refs/heads/master
v: v3
  • Loading branch information
Peter Korsgaard authored and Greg Kroah-Hartman committed Jun 22, 2006
1 parent ac63d5a commit 0005478
Show file tree
Hide file tree
Showing 6 changed files with 426 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aee62305345863430a937af289b9bd080a100dac
refs/heads/master: 18f98b1e3147afdb51e545cc6ff2b016c7d088a7
51 changes: 51 additions & 0 deletions trunk/Documentation/i2c/busses/i2c-ocores
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
Kernel driver i2c-ocores

Supported adapters:
* OpenCores.org I2C controller by Richard Herveille (see datasheet link)
Datasheet: http://www.opencores.org/projects.cgi/web/i2c/overview

Author: Peter Korsgaard <jacmet@sunsite.dk>

Description
-----------

i2c-ocores is an i2c bus driver for the OpenCores.org I2C controller
IP core by Richard Herveille.

Usage
-----

i2c-ocores uses the platform bus, so you need to provide a struct
platform_device with the base address and interrupt number. The
dev.platform_data of the device should also point to a struct
ocores_i2c_platform_data (see linux/i2c-ocores.h) describing the
distance 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,
};
11 changes: 11 additions & 0 deletions trunk/drivers/i2c/busses/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,17 @@ config I2C_NFORCE2
This driver can also be built as a module. If so, the module
will be called i2c-nforce2.

config I2C_OCORES
tristate "OpenCores I2C Controller"
depends on I2C && EXPERIMENTAL
help
If you say yes to this option, support will be included for the
OpenCores I2C controller. For details see
http://www.opencores.org/projects.cgi/web/i2c/overview

This driver can also be built as a module. If so, the module
will be called i2c-ocores.

config I2C_PARPORT
tristate "Parallel port adapter"
depends on I2C && PARPORT
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/i2c/busses/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o
obj-$(CONFIG_I2C_MPC) += i2c-mpc.o
obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o
obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o
obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o
obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
Expand Down
Loading

0 comments on commit 0005478

Please sign in to comment.