mirror of https://gitee.com/openkylin/linux.git
i2c: omap: Correct I2C revision for OMAP3
The OMAP3530 is based upon the same silicon as the OMAP3430 and so the I2C revision is the same for 3430 and 3530. However, the OMAP3630 device has the same I2C revision as OMAP4. Correct the revision definition to reflect this. This patch is based on work done by Jon Hunter <jon-hunter@ti.com> Changes from his patch - Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530 Reviewed-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Jon Hunter <jon-hunter@ti.com> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
parent
0e33bbb254
commit
f518b482c8
|
@ -49,8 +49,8 @@
|
||||||
|
|
||||||
/* I2C controller revisions present on specific hardware */
|
/* I2C controller revisions present on specific hardware */
|
||||||
#define OMAP_I2C_REV_ON_2430 0x36
|
#define OMAP_I2C_REV_ON_2430 0x36
|
||||||
#define OMAP_I2C_REV_ON_3430 0x3C
|
#define OMAP_I2C_REV_ON_3430_3530 0x3C
|
||||||
#define OMAP_I2C_REV_ON_3530_4430 0x40
|
#define OMAP_I2C_REV_ON_3630_4430 0x40
|
||||||
|
|
||||||
/* timeout waiting for the controller to respond */
|
/* timeout waiting for the controller to respond */
|
||||||
#define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
|
#define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
|
||||||
|
@ -305,7 +305,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
|
||||||
omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG,
|
omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG,
|
||||||
SYSC_AUTOIDLE_MASK);
|
SYSC_AUTOIDLE_MASK);
|
||||||
|
|
||||||
} else if (dev->rev >= OMAP_I2C_REV_ON_3430) {
|
} else if (dev->rev >= OMAP_I2C_REV_ON_3430_3530) {
|
||||||
dev->syscstate = SYSC_AUTOIDLE_MASK;
|
dev->syscstate = SYSC_AUTOIDLE_MASK;
|
||||||
dev->syscstate |= SYSC_ENAWAKEUP_MASK;
|
dev->syscstate |= SYSC_ENAWAKEUP_MASK;
|
||||||
dev->syscstate |= (SYSC_IDLEMODE_SMART <<
|
dev->syscstate |= (SYSC_IDLEMODE_SMART <<
|
||||||
|
@ -1020,7 +1020,7 @@ omap_i2c_probe(struct platform_device *pdev)
|
||||||
if (dev->flags & OMAP_I2C_FLAG_APPLY_ERRATA_I207)
|
if (dev->flags & OMAP_I2C_FLAG_APPLY_ERRATA_I207)
|
||||||
dev->errata |= I2C_OMAP_ERRATA_I207;
|
dev->errata |= I2C_OMAP_ERRATA_I207;
|
||||||
|
|
||||||
if (dev->rev <= OMAP_I2C_REV_ON_3430)
|
if (dev->rev <= OMAP_I2C_REV_ON_3430_3530)
|
||||||
dev->errata |= I2C_OMAP_ERRATA_I462;
|
dev->errata |= I2C_OMAP_ERRATA_I462;
|
||||||
|
|
||||||
if (!(dev->flags & OMAP_I2C_FLAG_NO_FIFO)) {
|
if (!(dev->flags & OMAP_I2C_FLAG_NO_FIFO)) {
|
||||||
|
@ -1038,7 +1038,7 @@ omap_i2c_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
dev->fifo_size = (dev->fifo_size / 2);
|
dev->fifo_size = (dev->fifo_size / 2);
|
||||||
|
|
||||||
if (dev->rev >= OMAP_I2C_REV_ON_3530_4430)
|
if (dev->rev >= OMAP_I2C_REV_ON_3630_4430)
|
||||||
dev->b_hw = 0; /* Disable hardware fixes */
|
dev->b_hw = 0; /* Disable hardware fixes */
|
||||||
else
|
else
|
||||||
dev->b_hw = 1; /* Enable hardware fixes */
|
dev->b_hw = 1; /* Enable hardware fixes */
|
||||||
|
|
Loading…
Reference in New Issue