diff options
author | Alexander Kochetkov <al.kochet@gmail.com> | 2014-11-22 14:47:14 -0500 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-11-23 11:27:49 -0500 |
commit | 4f734a3a0434ef2bb668716ff28ba677fa0dc929 (patch) | |
tree | 758dbed765be45031ae39a589462cb4fa4d1654d /drivers/i2c | |
parent | b76911d2fe1462e1fc7c449e3e6aef76331e816e (diff) |
i2c: omap: add notes related to i2c multimaster mode
No functional changes.
Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index b70270d8efdc..9f5b57a50c54 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c | |||
@@ -300,6 +300,12 @@ static void __omap_i2c_init(struct omap_i2c_dev *dev) | |||
300 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN); | 300 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN); |
301 | 301 | ||
302 | /* | 302 | /* |
303 | * NOTE: right after setting CON_EN, STAT_BB could be 0 while the | ||
304 | * bus is busy. It will be changed to 1 on the next IP FCLK clock. | ||
305 | * udelay(1) will be enough to fix that. | ||
306 | */ | ||
307 | |||
308 | /* | ||
303 | * Don't write to this register if the IE state is 0 as it can | 309 | * Don't write to this register if the IE state is 0 as it can |
304 | * cause deadlock. | 310 | * cause deadlock. |
305 | */ | 311 | */ |
@@ -660,7 +666,11 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap, | |||
660 | 666 | ||
661 | if (!dev->b_hw && stop) | 667 | if (!dev->b_hw && stop) |
662 | w |= OMAP_I2C_CON_STP; | 668 | w |= OMAP_I2C_CON_STP; |
663 | 669 | /* | |
670 | * NOTE: STAT_BB bit could became 1 here if another master occupy | ||
671 | * the bus. IP successfully complete transfer when the bus will be | ||
672 | * free again (BB reset to 0). | ||
673 | */ | ||
664 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, w); | 674 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, w); |
665 | 675 | ||
666 | /* | 676 | /* |