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

Reply via email to