summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/i2c.c
diff options
context:
space:
mode:
authorAndy Green2011-05-30 16:43:09 +0200
committerBen Dooks2011-10-29 10:37:08 +0200
commit8e286f5a2156f71dd304ce9ad1cd6b07231aaae6 (patch)
tree2f74cce5c442f2019913dcfcc1d2cf7cb22f1b99 /arch/arm/plat-omap/i2c.c
parentI2C: OMAP2+: Pass flags up to omap i2c platform_data as well (diff)
downloadkernel-qcow2-linux-8e286f5a2156f71dd304ce9ad1cd6b07231aaae6.tar.gz
kernel-qcow2-linux-8e286f5a2156f71dd304ce9ad1cd6b07231aaae6.tar.xz
kernel-qcow2-linux-8e286f5a2156f71dd304ce9ad1cd6b07231aaae6.zip
I2C: OMAP1: set i2c unit feature implementation flags in platform data
Most of the OMAP1 implementation flags are set statically, with the exception that omap7xx has its data bus wired up differently. Cc: patches@linaro.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> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/plat-omap/i2c.c')
-rw-r--r--arch/arm/plat-omap/i2c.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 90986690aa9c..2388b8eebaaa 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -111,6 +111,19 @@ static inline int omap1_i2c_add_bus(int bus_id)
/* all OMAP1 have IP version 1 register set */
pdata->rev = OMAP_I2C_IP_VERSION_1;
+ /* all OMAP1 I2C are implemented like this */
+ pdata->flags = OMAP_I2C_FLAG_NO_FIFO |
+ OMAP_I2C_FLAG_SIMPLE_CLOCK |
+ OMAP_I2C_FLAG_16BIT_DATA_REG |
+ OMAP_I2C_FLAG_ALWAYS_ARMXOR_CLK;
+
+ /* how the cpu bus is wired up differs for 7xx only */
+
+ if (cpu_is_omap7xx())
+ pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_1;
+ else
+ pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_2;
+
return platform_device_register(pdev);
}