Skip to content

Commit

Permalink
I2C: OMAP2+: Introduce I2C IP versioning constants
Browse files Browse the repository at this point in the history
These represent the two kinds of (incompatible) OMAP I2C
peripheral unit in use so far.

The constants are in linux/i2c-omap.h so the omap i2c driver can have
them too.

Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
  • Loading branch information
Andy Green authored and Paul Walmsley committed Jul 10, 2011
1 parent 7300272 commit d72fe78
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/plat-omap/include/plat/i2c.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#define __ASM__ARCH_OMAP_I2C_H

#include <linux/i2c.h>
#include <linux/i2c-omap.h>

#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
Expand Down
12 changes: 12 additions & 0 deletions include/linux/i2c-omap.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@

#include <linux/platform_device.h>

/*
* Version 2 of the I2C peripheral unit has a different register
* layout and extra registers. The ID register in the V2 peripheral
* unit on the OMAP4430 reports the same ID as the V1 peripheral
* unit on the OMAP3530, so we must inform the driver which IP
* version we know it is running on from platform / cpu-specific
* code using these constants in the hwmod class definition.
*/

#define OMAP_I2C_IP_VERSION_1 1
#define OMAP_I2C_IP_VERSION_2 2

struct omap_i2c_bus_platform_data {
u32 clkrate;
void (*set_mpu_wkup_lat)(struct device *dev, long set);
Expand Down

0 comments on commit d72fe78

Please sign in to comment.