summaryrefslogtreecommitdiff
path: root/scripts/extract-fwblobs
diff options
context:
space:
mode:
authorStefan Eichenberger <stefan.eichenberger@toradex.com>2024-12-16 18:16:40 +0300
committerAndi Shyti <andi.shyti@kernel.org>2024-12-26 01:45:04 +0300
commit768776dd4efc681cdca33a79e29bb508d6de9bc0 (patch)
tree96fa1944b98eb1c3f29794171b3a76e2d6f6da0c /scripts/extract-fwblobs
parent4bbf9020becbfd8fc2c3da790855b7042fad455b (diff)
downloadlinux-768776dd4efc681cdca33a79e29bb508d6de9bc0.tar.xz
i2c: imx: fix missing stop condition in single-master mode
A regression was introduced with the implementation of single-master mode, preventing proper stop conditions from being generated. Devices that require a valid stop condition, such as EEPROMs, fail to function correctly as a result. The issue only affects devices with the single-master property enabled. This commit resolves the issue by re-enabling I2C bus busy bit (IBB) polling for single-master mode when generating a stop condition. The fix further ensures that the i2c_imx->stopped flag is cleared at the start of each transfer, allowing the stop condition to be correctly generated in i2c_imx_stop(). According to the reference manual (IMX8MMRM, Rev. 2, 09/2019, page 5270), polling the IBB bit to determine if the bus is free is only necessary in multi-master mode. Consequently, the IBB bit is not polled for the start condition in single-master mode. Fixes: 6692694aca86 ("i2c: imx: do not poll for bus busy in single master mode") Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20241216151829.74056-1-eichest@gmail.com Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Diffstat (limited to 'scripts/extract-fwblobs')
0 files changed, 0 insertions, 0 deletions