qemu/hw/i2c
Bernhard Beschow 54e54e594b hw/i2c/imx: Always set interrupt status bit if interrupt condition occurs
According to the i.MX 8M Plus reference manual, the status flag
I2C_I2SR[IIF] continues to be set when an interrupt condition
occurs even when I2C interrupts are disabled (I2C_I2CR[IIEN] is
clear). However, the device model only sets the flag when I2C
interrupts are enabled which causes U-Boot to loop forever. Fix
the device model by always setting the flag and let I2C_I2CR[IIEN]
guard I2C interrupts only.

Also remove the comment in the code since it merely stated the
obvious and would be outdated now.

Cc: qemu-stable@nongnu.org
Fixes: 20d0f9cf6a ("i.MX: Add I2C controller emulator")
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Message-ID: <20250507124040.425773-1-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2025-05-08 14:26:37 +02:00
..
allwinner-i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_sbcon_i2c.c hw/i2c/versatile_i2c: Rename versatile_i2c -> arm_sbcon_i2c 2023-01-23 13:32:38 +00:00
aspeed_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bitbang_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
core.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
i2c_mux_pca954x.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx_i2c.c hw/i2c/imx: Always set interrupt status bit if interrupt condition occurs 2025-05-08 14:26:37 +02:00
Kconfig hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +00:00
meson.build hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +00:00
microbit_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mpc_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_smbus.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
omap_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pm_smbus.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
pmbus_device.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
ppc4xx_i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smbus_eeprom.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smbus_ich9.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
smbus_master.c hw/i2c: Introduce i2c_start_recv() and i2c_start_send() 2021-07-08 14:15:01 -05:00
smbus_slave.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
trace-events hw/i2c/imx_i2c: Convert DPRINTF() to trace events 2025-01-13 17:16:04 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00