diff options
author | Andy Green <andy@warmcat.com> | 2011-07-10 05:27:14 -0600 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2011-07-10 05:27:14 -0600 |
commit | d72fe7883f9f835011cb581aea13e91c6fa2e31d (patch) | |
tree | 9dfe09b593c8c721890a7b9f062bec802c89e6a6 | |
parent | 730027216079ef4ab9850a4367ef665554a6ef73 (diff) | |
download | linux-d72fe7883f9f835011cb581aea13e91c6fa2e31d.tar.gz linux-d72fe7883f9f835011cb581aea13e91c6fa2e31d.tar.bz2 linux-d72fe7883f9f835011cb581aea13e91c6fa2e31d.zip |
I2C: OMAP2+: Introduce I2C IP versioning constants
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>
-rw-r--r-- | arch/arm/plat-omap/include/plat/i2c.h | 1 | ||||
-rw-r--r-- | include/linux/i2c-omap.h | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h index 4c108f54c556..fd75dadfa89c 100644 --- a/arch/arm/plat-omap/include/plat/i2c.h +++ b/arch/arm/plat-omap/include/plat/i2c.h @@ -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, diff --git a/include/linux/i2c-omap.h b/include/linux/i2c-omap.h index 7472449cbb74..701886da76c7 100644 --- a/include/linux/i2c-omap.h +++ b/include/linux/i2c-omap.h @@ -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); |