i2c: mv64xxx: Add bus error recovery
authorMark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Wed, 26 Aug 2020 22:35:16 +0000 (10:35 +1200)
committerWolfram Sang <wsa@kernel.org>
Wed, 2 Dec 2020 20:29:30 +0000 (21:29 +0100)
commit9c7cae2427715502227f823364a6a77828fdf3ea
tree9b48fab235b6c6792f50ae4ce207dfa9f99d92fb
parent5df324b5f4baa3a51990f078fa445800197dfba3
i2c: mv64xxx: Add bus error recovery

This adds i2c bus recovery to the mv64xxx driver.

Implement bus recovery to recover from SCL/SDA stuck low.

This uses the generic recovery function, setting the clock/data lines as
GPIO pins, and sending 9 clocks to try and recover the bus.

Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
[wsa: added some curly braces]
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-mv64xxx.c