i2c: bcm2835: Avoid clock stretching timeouts
authorEric Anholt <eric@anholt.net>
Fri, 23 Feb 2018 21:42:31 +0000 (22:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Mar 2022 18:12:29 +0000 (19:12 +0100)
commit2ed390555dbc58d96680e990fb722e142ae87c42
tree55af54dc4b6329164575855bf6aa85c2c4aece1b
parente03ad1915ccccc5c908645c78c9dd4de25ecd1b6
i2c: bcm2835: Avoid clock stretching timeouts

[ Upstream commit 9495b9b31abe525ebd93da58de2c88b9f66d3a0e ]

The CLKT register contains at poweron 0x40, which at our typical 100kHz
bus rate means .64ms. But there is no specified limit to how long devices
should be able to stretch the clocks, so just disable the timeout. We
still have a timeout wrapping the entire transfer.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
BugLink: https://github.com/raspberrypi/linux/issues/3064
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-bcm2835.c