ARM: OMAP: I2C: New read, write and probe functions
authorLubomir Popov <lpopov@mm-sol.com>
Sat, 1 Jun 2013 06:44:38 +0000 (06:44 +0000)
committerTom Rini <trini@ti.com>
Mon, 10 Jun 2013 12:43:26 +0000 (08:43 -0400)
commit960187ffa125b3938fec4b827bd9e8c04a204af8
tree88aa9ebc4eb88bcb3beaa28cfd33a36a997c2caa
parent7f5eef93af92ed9efed7867d24b03fd6056a7404
ARM: OMAP: I2C: New read, write and probe functions

New i2c_read, i2c_write and i2c_probe functions, tested on OMAP4
(4430/60/70), OMAP5 (5430) and AM335X (3359); should work on older
OMAPs and derivatives as well. The only anticipated exception would
be the OMAP2420, which shall require driver modification.
- Rewritten i2c_read to operate correctly with all types of chips
  (old function could not read consistent data from some I2C slaves).
- Optimised i2c_write.
- New i2c_probe, performs write access vs read. The old probe could
  hang the system under certain conditions (e.g. unconfigured pads).
- The read/write/probe functions try to identify unconfigured bus.
- Status functions now read irqstatus_raw as per TRM guidelines
  (except for OMAP243X and OMAP34XX).
- Driver now supports up to I2C5 (OMAP5).

Signed-off-by: Lubomir Popov <lpopov@mm-sol.com>
Tested-by: Heiko Schocher <hs@denx.de>
drivers/i2c/omap24xx_i2c.c