u-boot/drivers/i2c
Conor Dooley 6d133b3158 i2c: microchip: fix erroneous late ack send
A late ack is currently being sent at the end of a transfer due to
incorrect logic in mchp_corei2c_empty_rx(). Currently the Assert Ack
bit is being written to the controller's control reg after the last
byte has been received, causing it to sent another byte with the ack.
Instead, the AA flag should be written to the control register when
the penultimate byte is read so it is sent out for the last byte.

Reported-by: Andreas Buerkler <andreas.buerkler@enclustra.com>
Fixes: 0dc0d1e094 ("i2c: Add Microchip PolarFire SoC I2C driver")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Padmarao Begari <padmarao.begari@microchip.com>
Reviewed-by: Heiko Schocher <hs@denx.de>

Removed Tag by hs: Fixes: 0190d48488 ("i2c: microchip: fix ack sending logic")
2022-11-14 07:21:58 +01:00
..
muxes spl: Ensure all SPL symbols in Kconfig have some SPL dependency 2022-07-07 09:29:08 -04:00
acpi_i2c.c
acpi_i2c.h
ast_i2c.c i2c: ast_i2c: Remove SCL direct drive mode 2022-07-19 13:46:28 +02:00
ast_i2c.h
at91_i2c.c i2c: at91: add compatible with microchip,sam9x60-i2c 2022-01-13 11:44:07 +02:00
at91_i2c.h
cros_ec_ldo.c
cros_ec_tunnel.c
davinci_i2c.c i2c: Remove non-DM_I2C support from davinci_i2c.c 2022-07-08 17:57:34 -04:00
davinci_i2c.h
designware_i2c.c stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
designware_i2c.h stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
designware_i2c_pci.c stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
exynos_hs_i2c.c arm: samsung: Migrate a number of symbols to Kconfig 2022-06-28 17:04:37 -04:00
fsl_i2c.c Convert CONFIG_SYS_I2C_INIT_BOARD to Kconfig 2022-11-10 09:45:53 -05:00
i2c-cdns.c i2c: i2c-cdns: Prevent early termination of write 2022-03-09 12:36:37 +01:00
i2c-cortina.c
i2c-cortina.h
i2c-emul-uclass.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
i2c-gpio.c i2c: i2c-gpio: Support the named GPIO binding 2021-08-22 11:03:55 +02:00
i2c-microchip.c i2c: microchip: fix erroneous late ack send 2022-11-14 07:21:58 +01:00
i2c-uclass.c i2c: avoid dynamic stack use in dm_i2c_write 2022-07-19 13:46:28 +02:00
i2c-uniphier-f.c
i2c-uniphier.c
i2c-versatile.c
i2c_core.c Convert CONFIG_SYS_I2C_EARLY_INIT to Kconfig 2021-08-30 14:10:07 -04:00
ihs_i2c.c i2c: ihs: intel: Fix typo in comments (actual) 2022-05-10 06:47:13 +02:00
imx_lpi2c.c
intel_i2c.c i2c: ihs: intel: Fix typo in comments (actual) 2022-05-10 06:47:13 +02:00
iproc_i2c.c
iproc_i2c.h
Kconfig i2c: add support for MediaTek I2C interface 2022-09-23 15:09:15 -04:00
kona_i2c.c
lpc32xx_i2c.c lpc32xx: i2c: finish DM/OF code 2021-07-06 14:12:15 -04:00
Makefile i2c: add support for MediaTek I2C interface 2022-09-23 15:09:15 -04:00
meson_i2c.c
mtk_i2c.c i2c: add support for MediaTek I2C interface 2022-09-23 15:09:15 -04:00
mv_i2c.c Convert CONFIG_SYS_I2C_INIT_BOARD to Kconfig 2022-11-10 09:45:53 -05:00
mv_i2c.h
mvtwsi.c i2c: mvtwsi: Add compatible string for allwinner, sun4i-a10-i2c 2022-01-30 01:03:37 +00:00
mxc_i2c.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
npcm-i2c.c i2c: nuvoton: Add NPCM7xx i2c driver 2022-07-19 13:46:28 +02:00
nx_i2c.c
ocores_i2c.c i2c: ocores: Fix -Wint-to-pointer-cast warning 2021-10-20 10:59:09 +08:00
octeon_i2c.c pci: Add mask parameter to dm_pci_map_bar() 2022-05-03 18:33:29 -04:00
omap24xx_i2c.c ti: i2c: fix probe_chip() return value 2022-02-21 08:39:52 -05:00
omap24xx_i2c.h
rcar_i2c.c i2c: rcar_i2c: Enable configuring SCL rise and fall times 2021-09-28 06:34:14 +02:00
rcar_iic.c
rk_i2c.c
s3c24x0_i2c.c arm: samsung: Migrate a number of symbols to Kconfig 2022-06-28 17:04:37 -04:00
s3c24x0_i2c.h
sandbox_i2c.c
sh_i2c.c rcar: i2c: Migrate SYS_I2C_SH to Kconfig 2021-08-30 14:10:07 -04:00
soft_i2c.c i2c: Remove unused additional legacy soft i2c bus support 2021-08-30 14:10:06 -04:00
stm32f7_i2c.c i2c: stm32: fix usage of rise/fall device tree properties 2022-09-15 14:59:29 +02:00
sun6i_p2wi.c i2c: sun6i_p2wi: Add support for DM clocks and resets 2022-04-04 23:24:17 +01:00
sun8i_rsb.c i2c: sun8i_rsb: Add support for DM clocks and resets 2022-04-04 23:24:17 +01:00
synquacer_i2c.c i2c: synquacer: SNI Synquacer I2C controller 2021-07-06 14:07:37 -04:00
tegra186_bpmp_i2c.c
tegra_i2c.c arm: tegra: Update some DT compatibles 2022-06-13 15:31:10 -07:00
xilinx_xiic.c