summaryrefslogtreecommitdiff
path: root/include/linux/stringify.h
diff options
context:
space:
mode:
authorNikita Kiryanov <[email protected]>2013-11-28 18:04:42 +0200
committerHeiko Schocher <[email protected]>2013-12-05 12:25:02 +0100
commit92c23c9226a23548c875e4ba0e493a0aac172e25 (patch)
treee7ee9e8152ac355fc1e6d7b989a371c176a1082b /include/linux/stringify.h
parent6ca6d080d6c75a88709e8ba8d1e6d776bc01b68d (diff)
arm: omap: i2c: don't zero cnt in i2c_write
Writing zero into I2Ci.I2C_CNT register causes random I2C failures in OMAP3 based devices. This seems to be related to the following advisory which apears in multiple erratas for OMAP3 SoCs (OMAP35xx, DM37xx), as well as OMAP4430 TRM: Advisory: I2C Module Does Not Allow 0-Byte Data Requests Details: When configured as the master, the I2C module does not allow 0-byte data transfers. Note: Programming I2Ci.I2C_CNT[15:0]: DCOUNT = 0 will cause undefined behavior. Workaround(s): No workaround. Do not use 0-byte data requests. The writes in question are unnecessary from a functional point of view. Most of them are done after I/O has finished, and the only one that preceds I/O (in i2c_probe()) is also unnecessary because a stop bit is sent before actual data transmission takes place. Therefore, remove all writes that zero the cnt register. Cc: Heiko Schocher <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Tom Rini <[email protected]> Cc: Lubomir Popov <[email protected]> Cc: Enric Balletbo Serra <[email protected]> Signed-off-by: Nikita Kiryanov <[email protected]> Tested-by: Thomas Petazzoni <[email protected]> Tested-by: Lubomir Popov <[email protected]>
Diffstat (limited to 'include/linux/stringify.h')
0 files changed, 0 insertions, 0 deletions