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 AM68-SK with DEBUG enabled): https://gist.github.com/aniket-l/e6d78d52c172ebb475552929b71736a9 Boot logs on k3: https://gist.github.com/aniket-l/110ee4f950ef05027a12bafa96431936 --- 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.48.1