i2c: imx: Add timer for handling the stop condition
authorCorey Minyard <minyard@acm.org>
Fri, 12 Nov 2021 13:39:55 +0000 (07:39 -0600)
committerWolfram Sang <wsa@kernel.org>
Tue, 23 Nov 2021 10:16:56 +0000 (11:16 +0100)
commitf89bf95632b41695402996d96476c44c641d23d7
tree6922a23a4d494bfb1aecc62c229c2b9ab01aa8fd
parent77e0164630364ebd738f8cc1858f41e655acf38c
i2c: imx: Add timer for handling the stop condition

Most IMX I2C interfaces don't generate an interrupt on a stop condition,
so it won't generate a timely stop event on a slave mode transfer.
Some users, like IPMB, need a timely stop event to work properly.

So, add a timer and add the proper handling to generate a stop event in
slave mode if the interface goes idle.

Signed-off-by: Corey Minyard <minyard@acm.org>
Tested-by: Andrew Manley <andrew.manley@sealingtech.com>
Reviewed-by: Andrew Manley <andrew.manley@sealingtech.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-imx.c