]> Pileus Git - ~andy/linux/commitdiff
I2C: OMAP2+: Introduce I2C IP versioning constants
authorAndy Green <andy@warmcat.com>
Sun, 10 Jul 2011 11:27:14 +0000 (05:27 -0600)
committerPaul Walmsley <paul@pwsan.com>
Sun, 10 Jul 2011 11:27:14 +0000 (05:27 -0600)
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>
arch/arm/plat-omap/include/plat/i2c.h
include/linux/i2c-omap.h

index 4c108f54c5562075ed9fa10a462cb1c7f66970e3..fd75dadfa89ca12c09c7aca20ff9551edcd22842 100644 (file)
@@ -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,
index 7472449cbb7416b7a23f964e542af373fda2411e..701886da76c7880b4ecaeaa8165b1114e9c264a8 100644 (file)
@@ -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);