i2c: at91: implement i2c bus recovery
authorKamel Bouhara <kamel.bouhara@bootlin.com>
Wed, 15 Jan 2020 11:54:18 +0000 (13:54 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Wed, 26 Feb 2020 10:06:41 +0000 (11:06 +0100)
commitd3d3fdcc4c90fed42b400999721a5b535a310533
tree5d17f3686dea8f209b57b811984540f62d3c9d38
parent19e5cef058a0089af4148d79af4658245a6952d2
i2c: at91: implement i2c bus recovery

Implement i2c bus recovery when slaves devices might hold SDA low.
In this case re-assign SCL/SDA to gpios and issue 9 dummy clock pulses
until the slave release SDA.

Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-at91-master.c
drivers/i2c/busses/i2c-at91.h