Hello Tom, Heiko,
On 06/03/25 11:15, Heiko Schocher wrote:
Hello Tom, Aniket,
On 05.03.25 16:50, Tom Rini wrote:
On Wed, Mar 05, 2025 at 03:34:08AM +0530, Aniket Limaye wrote:
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 additional debug prints):
https://gist.github.com/aniket-l/8c64c5bc81246751a02836a96510df14
Requesting reviews/testing on specifically the CONFIG_I2C_REPEATED_START
addition:
- Is the Kconfig needed or should we simply always default to not
sending Stop bit? Drivers can use i2c_msg.flags to request Stop bit
for each msg, same as in the Linux Kernel i2c-omap driver[0].
Yes, a Kconfig is needed as this driver works (as implied by the name)
on so much old and differently buggy IP.
- If yes, Should we re-use CONFIG_I2C_REPEATED_START from the legacy
implementation of the driver or define a new config
Lets pick a new option, under the SYS_I2C_OMAP24XX namespace (and remove
the legacy and unused variant).
I will update the patch with the proper namespace for this config.
The legacy one (CONFIG_I2C_REPEATED_START) was never added to Kconfig at
all... So will just leave it be ( unless you meant remove support for it
from the legacy driver code as well and use this new one instead? )
- Default enable it for K3 devices?
I'm fine with that.
Yep, fully aggree, we need the Kconfig symbol for backward compatibility.
Thanks!
bye,
Heiko
Thanks for your reviews!
Regards,
Aniket