]> 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)
commit4491587937195642672c52f4abed660b4337d15d
tree34e8ef30c493874ed7705a463f99e79dc9ec627d
parentcd24f18c440e3dcbc490ac921767a2a632b7ea2d
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