This series implements Repeated Start functionality for the DM_I2C xfer API (omap_i2c_xfer())
First, split out the actual implementation for each individual i2c msg transfer into a new function __omap24_i2c_xfer_msg() and use this to implement omap_i2c_xfer(). Then, add support for the Repeated Start condition in omap_i2c_xfer() through the CONFIG_I2C_REPEATED_START option. Also add this config to Kconfig and enable it for ARCH_K3 platforms by default. Test logs (On J7200 EVM with DEBUG enabled): https://gist.github.com/aniket-l/9124c65a85a093a5bdc4517e0f813259 --- v3: - Fixup [PATCH 2/4] to avoid unused function __omap24_i2c_xfer_msg() compile time warnings... Move this behind DM_I2C ifdef - Link to v2: https://lore.kernel.org/all/20250310103702.1464782-1-a-lim...@ti.com/ v2: - Add another patch to remove unused CONFIG_I2C_REPEATED_START - use new CONFIG_SYS_I2C_OMAP24XX_REPEATED_START - Return right error codes and update debug prints to be driver specific - patch formatting updates - Link to v1: https://lore.kernel.org/u-boot/20250304220546.866602-1-a-lim...@ti.com/ Aniket Limaye (4): i2c: omap24xx_i2c: Remove unused CONFIG_I2C_REPEATED_START i2c: omap24xx_i2c: Use new function __omap24_i2c_xfer_msg() i2c: omap24xx_i2c: support CONFIG for repeated start in DM_I2C xfer drivers: i2c: Kconfig: Add CONFIG_SYS_I2C_OMAP24XX_REPEATED_START drivers/i2c/Kconfig | 9 ++ drivers/i2c/omap24xx_i2c.c | 165 ++++++++++++++++++++++++++++++------- 2 files changed, 144 insertions(+), 30 deletions(-) -- 2.49.0