diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2018-02-27 08:19:00 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2018-02-27 13:47:28 +0100 |
commit | 939c5a46e5cac7524b327d43ae826fd6941fa2aa (patch) | |
tree | 706ab3e1949cb7a35f9ebf098e3afa7db309536f /crypto/lrw.c | |
parent | 41b1d4de96323e84c0a902e7e4b2c0f367e77f92 (diff) | |
download | op-kernel-dev-939c5a46e5cac7524b327d43ae826fd6941fa2aa.zip op-kernel-dev-939c5a46e5cac7524b327d43ae826fd6941fa2aa.tar.gz |
i2c: exynos5: rework HSI2C_MASTER_ST_LOSE state handling
HSI2C_MASTER_ST_LOSE state is not documented properly, extensive tests
show that hardware is usually able to recover from this state without
interrupting the transfer. Moreover documentation says that
such state can be caused by slave clock stretching, and should not be
treated as an error during transaction. The only place it indicates
an error is just before starting transaction. In such case bus recovery
procedure should be performed - master should pulse SCL line nine times
and then send STOP condition, it can be repeated until SDA goes high.
The procedure can be performed using manual commands HSI2C_CMD_READ_DATA
and HSI2C_CMD_SEND_STOP.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'crypto/lrw.c')
0 files changed, 0 insertions, 0 deletions