]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: rcar: implement STOP and REP_START according to docs
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 8 Aug 2018 07:59:28 +0000 (09:59 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 20 Aug 2018 12:49:41 +0000 (14:49 +0200)
commit2cf851420c06883750674504439bd5f2d07179c2
tree34e8ef30c493874ed7705a463f99e79dc9ec627d
parente0f89ffc63b919406fb84484b77be1e9354d3133
i2c: rcar: implement STOP and REP_START according to docs

When doing a REP_START after a read message, the driver used to trigger
a STOP first which would then be overwritten by REP_START. This was the
only stable method found when doing the last refactoring. However, this
was not in accordance with the documentation.

After research from our BSP team and myself, we now can implement a
version which works and is according to the documentation. The new
approach ensures the ICMCR register is only changed when really needed.

Tested on a R-Car Gen2 (H2) and Gen3 with DMA (M3N).

Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Ulrich Hecht <uli+renesas@fpond.eu>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-rcar.c