* [PATCH RFC 0/2] Add i2c ignore NAK support
@ 2026-10-26 7:16 Swamil Jain
2026-10-26 7:16 ` [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses Swamil Jain
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Swamil Jain @ 2026-10-26 7:16 UTC (permalink / raw)
To: u-boot; +Cc: Heiko Schocher, Tom Rini, Swamil Jain
Some i2c peripherals do not require or wait for i2c ACK, so the series
adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
(NAK).
Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
the bridge doesn't send ACK (mentioned in programmer's guide[2], pg 22).
[1]: https://www.digikey.in/en/products/detail/lattice-semiconductor-corporation/SII9022ACNU/6596625
[2]: https://www.scribd.com/document/808632235/SiI9022A-SiI9024A%E7%BC%96%E7%A8%8B%E6%8E%A5%E5%8F%A3
PATCH 01/02: Add flag to support ignoring NAK
PATCH 02/02: suppress warnings if i2c chip does not require ACK
Need feedback for the series. Please suggest if we can have a better
approach.
Signed-off-by: Swamil Jain <s-jain1@ti.com>
---
Swamil Jain (2):
i2c: add flag to support ignoring NAK responses
i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set
drivers/i2c/i2c-uclass.c | 3 +++
drivers/i2c/omap24xx_i2c.c | 16 ++++++++++------
include/i2c.h | 1 +
3 files changed, 14 insertions(+), 6 deletions(-)
---
base-commit: ed869863c7e2aca50d57a05d843830dd843138c4
change-id: 20261026-rfc_i2c_nak_suppress-d99cc3ca3ec3
Best regards,
--
Swamil Jain <s-jain1@ti.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses
2026-10-26 7:16 [PATCH RFC 0/2] Add i2c ignore NAK support Swamil Jain
@ 2026-10-26 7:16 ` Swamil Jain
2026-10-26 16:10 ` Simon Glass
2026-10-26 7:16 ` [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set Swamil Jain
2026-10-26 16:10 ` [PATCH RFC 0/2] Add i2c ignore NAK support Simon Glass
2 siblings, 1 reply; 10+ messages in thread
From: Swamil Jain @ 2026-10-26 7:16 UTC (permalink / raw)
To: u-boot; +Cc: Heiko Schocher, Tom Rini, Swamil Jain
Add generic support for the DM_I2C_CHIP_IGNORE_NAK flag and
I2C_M_IGNORE_NAK message flag. This allows I2C transactions to treat a
NACK (negative acknowledgment) from a device as success, which is needed
for certain devices that respond with NACK in normal operation.
Signed-off-by: Swamil Jain <s-jain1@ti.com>
---
drivers/i2c/i2c-uclass.c | 3 +++
include/i2c.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
index bb32ebd9981..f64ea4835c4 100644
--- a/drivers/i2c/i2c-uclass.c
+++ b/drivers/i2c/i2c-uclass.c
@@ -65,6 +65,7 @@ static int i2c_setup_offset(struct dm_i2c_chip *chip, uint offset,
msg->addr |= (offset >> (8 * offset_len)) &
chip->chip_addr_offset_mask;
msg->flags = chip->flags & DM_I2C_CHIP_10BIT ? I2C_M_TEN : 0;
+ msg->flags |= chip->flags & DM_I2C_CHIP_IGNORE_NAK ? I2C_M_IGNORE_NAK : 0;
msg->len = chip->offset_len;
msg->buf = offset_buf;
if (!offset_len)
@@ -150,6 +151,7 @@ int dm_i2c_read(struct udevice *dev, uint offset, uint8_t *buffer, int len)
if (len) {
ptr->addr = msg->addr;
ptr->flags = chip->flags & DM_I2C_CHIP_10BIT ? I2C_M_TEN : 0;
+ ptr->flags |= chip->flags & DM_I2C_CHIP_IGNORE_NAK ? I2C_M_IGNORE_NAK : 0;
ptr->flags |= I2C_M_RD;
ptr->len = len;
ptr->buf = buffer;
@@ -283,6 +285,7 @@ static int i2c_probe_chip(struct udevice *bus, uint chip_addr,
/* Probe with a zero-length message */
msg->addr = chip_addr;
msg->flags = chip_flags & DM_I2C_CHIP_10BIT ? I2C_M_TEN : 0;
+ msg->flags |= chip_flags & DM_I2C_CHIP_IGNORE_NAK ? I2C_M_IGNORE_NAK : 0;
msg->len = 0;
msg->buf = NULL;
diff --git a/include/i2c.h b/include/i2c.h
index b2572076236..69f19ae9eeb 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -30,6 +30,7 @@ enum dm_i2c_chip_flags {
DM_I2C_CHIP_10BIT = 1 << 0, /* Use 10-bit addressing */
DM_I2C_CHIP_RD_ADDRESS = 1 << 1, /* Send address for each read byte */
DM_I2C_CHIP_WR_ADDRESS = 1 << 2, /* Send address for each write byte */
+ DM_I2C_CHIP_IGNORE_NAK = 1 << 3, /* Treat a NAK from this chip as success */
};
/** enum i2c_speed_mode - standard I2C speed modes */
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set
2026-10-26 7:16 [PATCH RFC 0/2] Add i2c ignore NAK support Swamil Jain
2026-10-26 7:16 ` [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses Swamil Jain
@ 2026-10-26 7:16 ` Swamil Jain
2026-10-26 16:10 ` Simon Glass
2026-10-26 16:10 ` [PATCH RFC 0/2] Add i2c ignore NAK support Simon Glass
2 siblings, 1 reply; 10+ messages in thread
From: Swamil Jain @ 2026-10-26 7:16 UTC (permalink / raw)
To: u-boot; +Cc: Heiko Schocher, Tom Rini, Swamil Jain
Some I2C transfers expect a NACK as a normal outcome. Add an ignore_nak
parameter to __omap24_i2c_xfer_msg() so the "error waiting for ACK"
message is only printed when the caller did not request
I2C_M_IGNORE_NAK, avoiding noisy error output during expected NACK
conditions.
Signed-off-by: Swamil Jain <s-jain1@ti.com>
---
drivers/i2c/omap24xx_i2c.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index 2c6f8ea5901..666620ad30a 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -963,7 +963,8 @@ U_BOOT_I2C_ADAP_COMPLETE(omap24_4, omap24_i2c_init, omap24_i2c_probe,
#else /* CONFIG_DM_I2C */
static int __omap24_i2c_xfer_msg(void __iomem *i2c_base, int ip_rev, int waitdelay,
- uchar chip, uchar *buffer, int len, u16 i2c_con_reg)
+ uchar chip, uchar *buffer, int len, u16 i2c_con_reg,
+ bool ignore_nak)
{
int i;
u16 status;
@@ -1009,10 +1010,12 @@ static int __omap24_i2c_xfer_msg(void __iomem *i2c_base, int ip_rev, int waitdel
goto xfer_exit;
}
if (status == 0 || (status & I2C_STAT_NACK)) {
- i2c_error = -EREMOTEIO;
- printf("%s: error waiting for ACK (status=0x%x)\n",
- __func__, status);
- goto xfer_exit;
+ if (!(ignore_nak && (status & I2C_STAT_NACK))) {
+ i2c_error = -EREMOTEIO;
+ printf("%s: error waiting for ACK (status=0x%x)\n",
+ __func__, status);
+ goto xfer_exit;
+ }
}
if (status & I2C_STAT_XRDY) {
/* Transmit data */
@@ -1092,7 +1095,8 @@ static int omap_i2c_xfer(struct udevice *bus, struct i2c_msg *msg, int nmsgs)
ret = __omap24_i2c_xfer_msg(priv->regs, priv->ip_rev, priv->waitdelay,
msg->addr, msg->buf, msg->len,
- i2c_con_reg);
+ i2c_con_reg,
+ msg->flags & I2C_M_IGNORE_NAK);
if (ret) {
printf("%s: errored out at msg %d: %d\n", __func__, i, ret);
return ret;
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 0/2] Add i2c ignore NAK support
2026-10-26 7:16 [PATCH RFC 0/2] Add i2c ignore NAK support Swamil Jain
2026-10-26 7:16 ` [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses Swamil Jain
2026-10-26 7:16 ` [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set Swamil Jain
@ 2026-10-26 16:10 ` Simon Glass
2026-10-27 7:04 ` Swamil Jain
2 siblings, 1 reply; 10+ messages in thread
From: Simon Glass @ 2026-10-26 16:10 UTC (permalink / raw)
To: s-jain1; +Cc: u-boot
Hi Swamil,
On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
> Some i2c peripherals do not require or wait for i2c ACK, so the series
> adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
> (NAK).
>
> Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
> the bridge doesn't send ACK (mentioned in programmer's guide[2], pg 22).
Thanks for looking at this. Are you plannning to send a SII9022A driver?
I've commented on the design on patch 1. It would also be worth
checking how Linux handles this for sii902x, since that driver reads
EDID through the bridge too.
If the generic flag does stay, please can you add a sandbox test in
test/dm/i2c.c, like the existing tests for the DM_I2C_CHIP_RD_ADDRESS
and DM_I2C_CHIP_WR_ADDRESS flags.
Regards,
Simon
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses
2026-10-26 7:16 ` [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses Swamil Jain
@ 2026-10-26 16:10 ` Simon Glass
0 siblings, 0 replies; 10+ messages in thread
From: Simon Glass @ 2026-10-26 16:10 UTC (permalink / raw)
To: s-jain1; +Cc: u-boot
Hi Swamil,
On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
> i2c: add flag to support ignoring NAK responses
>
> Add generic support for the DM_I2C_CHIP_IGNORE_NAK flag and
> I2C_M_IGNORE_NAK message flag. This allows I2C transactions to treat a
> NACK (negative acknowledgment) from a device as success, which is needed
> for certain devices that respond with NACK in normal operation.
I2C_M_IGNORE_NAK already exists in i2c.h, and mt7621 and tegra186_bpmp
already handle it, so this patch only adds the chip flag. Please can
you put the motivation (the SII9022A EDID read) in the commit message,
since the cover letter does not end up in git history.
>
> Signed-off-by: Swamil Jain <s-jain1@ti.com>
>
> drivers/i2c/i2c-uclass.c | 3 +++
> include/i2c.h | 1 +
> 2 files changed, 4 insertions(+)
> diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
> @@ -65,6 +65,7 @@ static int i2c_setup_offset(struct dm_i2c_chip *chip, uint offset,
> msg->addr |= (offset >> (8 * offset_len)) &
> chip->chip_addr_offset_mask;
> msg->flags = chip->flags & DM_I2C_CHIP_10BIT ? I2C_M_TEN : 0;
> + msg->flags |= chip->flags & DM_I2C_CHIP_IGNORE_NAK ? I2C_M_IGNORE_NAK : 0;
A chip-wide flag ignores NAKs on every message to the chip, including
the offset write and all register accesses. Real errors, such as a
missing or wedged device, then turn into silent success with garbage
data. From the programmer's guide it sounds like only the EDID read is
affected. In Linux the client driver sets I2C_M_IGNORE_NAK on just the
message that needs it. You could do the same here by building the
messages in the bridge driver and calling dm_i2c_xfer(), with no
uclass change at all. What do you think?
If you do keep the chip flag, the flag translation is now repeated in
three places, so it should go in a helper.
> diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
> @@ -283,6 +285,7 @@ static int i2c_probe_chip(struct udevice *bus, uint chip_addr,
> /* Probe with a zero-length message */
> msg->addr = chip_addr;
> msg->flags = chip_flags & DM_I2C_CHIP_10BIT ? I2C_M_TEN : 0;
> + msg->flags |= chip_flags & DM_I2C_CHIP_IGNORE_NAK ? I2C_M_IGNORE_NAK : 0;
A probe works by checking whether the address gets an ACK. With NAKs
ignored, dm_i2c_probe() succeeds for any address, whether or not a
device is there. I suggest dropping this change.
Also, the flag only works on controllers whose xfer() method checks
I2C_M_IGNORE_NAK, and very few do. On the others,
DM_I2C_CHIP_IGNORE_NAK silently does nothing, which should at least be
mentioned in the comment in i2c.h
Regards,
Simon
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set
2026-10-26 7:16 ` [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set Swamil Jain
@ 2026-10-26 16:10 ` Simon Glass
0 siblings, 0 replies; 10+ messages in thread
From: Simon Glass @ 2026-10-26 16:10 UTC (permalink / raw)
To: s-jain1; +Cc: u-boot
Hi Swamil,
On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
> i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set
>
> Some I2C transfers expect a NACK as a normal outcome. Add an ignore_nak
> parameter to __omap24_i2c_xfer_msg() so the "error waiting for ACK"
> message is only printed when the caller did not request
> I2C_M_IGNORE_NAK, avoiding noisy error output during expected NACK
> conditions.
This patch does more than silence a message. With the flag set, the
NAK no longer counts as an error and the transfer carries on. Please
can you update the subject and commit message to say so? Please can
you also say which part of the SiI9022A transfer gets the NAK
(address, a data byte or the last byte)?
>
> Some I2C transfers expect a NACK as a normal outcome. Add an ignore_nak
> parameter to __omap24_i2c_xfer_msg() so the "error waiting for ACK"
> message is only printed when the caller did not request
> I2C_M_IGNORE_NAK, avoiding noisy error output during expected NACK
> conditions.
>
> Signed-off-by: Swamil Jain <s-jain1@ti.com>
>
> drivers/i2c/omap24xx_i2c.c | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
> diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
> @@ -1009,10 +1010,12 @@ static int __omap24_i2c_xfer_msg(void __iomem *i2c_base, int ip_rev, int waitdel
> if (status == 0 || (status & I2C_STAT_NACK)) {
> - i2c_error = -EREMOTEIO;
> - printf("%s: error waiting for ACK (status=0x%x)\n",
> - __func__, status);
> - goto xfer_exit;
> + if (!(ignore_nak && (status & I2C_STAT_NACK))) {
> + i2c_error = -EREMOTEIO;
> + printf("%s: error waiting for ACK (status=0x%x)\n",
> + __func__, status);
> + goto xfer_exit;
> + }
> }
One thing I'd like to check here. Nothing writes I2C_STAT_NACK back to
the status register, and wait_for_event() returns as soon as that bit
is set. So I suspect every later pass of the loop sees the same NACK
and returns at once. Unless XRDY or RRDY is also set, no data moves.
For a read the buffer is left untouched, yet the function still
returns 0 and the caller treats the EDID as valid. Linux
omap_i2c_xfer_msg() treats this case as the end of the message: it
clears the status and returns 0. Doing the same here seems safer than
carrying on, e.g. going to xfer_exit with i2c_error left as 0 so the
FIFO is flushed and the status cleared. What do you think? It would
also be worth checking on the hardware that the EDID bytes really are
read correctly with this patch.
Regards,
Simon
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 0/2] Add i2c ignore NAK support
2026-10-26 16:10 ` [PATCH RFC 0/2] Add i2c ignore NAK support Simon Glass
@ 2026-10-27 7:04 ` Swamil Jain
2026-10-27 7:45 ` Heiko Schocher
0 siblings, 1 reply; 10+ messages in thread
From: Swamil Jain @ 2026-10-27 7:04 UTC (permalink / raw)
To: Simon Glass; +Cc: u-boot
Hi Simon,
On 10/26/26 21:40, Simon Glass wrote:
> Hi Swamil,
>
> On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
>
>> Some i2c peripherals do not require or wait for i2c ACK, so the series
>> adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
>> (NAK).
>
>>
>> Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
>> the bridge doesn't send ACK (mentioned in programmer's guide[2], pg 22).
>
> Thanks for looking at this. Are you plannning to send a SII9022A driver?
Working on the sii9022a driver.
>
> I've commented on the design on patch 1. It would also be worth
> checking how Linux handles this for sii902x, since that driver reads
> EDID through the bridge too.
>
Tried following the programmer's guide but will check how linux handles
the EDID read for sii902x.
> If the generic flag does stay, please can you add a sandbox test in
> test/dm/i2c.c, like the existing tests for the DM_I2C_CHIP_RD_ADDRESS
> and DM_I2C_CHIP_WR_ADDRESS flags.
As per your feedback on the patches will try not to use the generic flag
and handle the case within the driver itself. Will re-spin the series
with sii902x driver as well.
Regards,
Swamil.
>
> Regards,
> Simon
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 0/2] Add i2c ignore NAK support
2026-10-27 7:04 ` Swamil Jain
@ 2026-10-27 7:45 ` Heiko Schocher
2026-10-29 6:05 ` Swamil Jain
0 siblings, 1 reply; 10+ messages in thread
From: Heiko Schocher @ 2026-10-27 7:45 UTC (permalink / raw)
To: Swamil Jain, Simon Glass; +Cc: u-boot
Hello Swamil,
On 27.10.26 08:04, Swamil Jain wrote:
> Hi Simon,
>
> On 10/26/26 21:40, Simon Glass wrote:
>> Hi Swamil,
>>
>> On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
>>
>>> Some i2c peripherals do not require or wait for i2c ACK, so the series
>>> adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
>>> (NAK).
>>
>>>
>>> Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
>>> the bridge doesn't send ACK (mentioned in programmer's guide[2], pg 22).
>>
>> Thanks for looking at this. Are you plannning to send a SII9022A driver?
>
> Working on the sii9022a driver.
>
>>
>> I've commented on the design on patch 1. It would also be worth
>> checking how Linux handles this for sii902x, since that driver reads
>> EDID through the bridge too.
>>
>
> Tried following the programmer's guide but will check how linux handles
> the EDID read for sii902x.
>
>> If the generic flag does stay, please can you add a sandbox test in
>> test/dm/i2c.c, like the existing tests for the DM_I2C_CHIP_RD_ADDRESS
>> and DM_I2C_CHIP_WR_ADDRESS flags.
>
> As per your feedback on the patches will try not to use the generic flag and handle the case within
> the driver itself. Will re-spin the series
> with sii902x driver as well.
@Simon: Thanks for the review!
please try to not drop me from cc, thanks!
bye,
Heiko
>
> Regards,
> Swamil.
>>
>> Regards,
>> Simon
>
--
Nabla Software Engineering
HRB 40522 Augsburg
Phone: +49 821 45592596
E-Mail: office@nabladev.com
Geschäftsführer : Stefano Babic
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 0/2] Add i2c ignore NAK support
2026-10-27 7:45 ` Heiko Schocher
@ 2026-10-29 6:05 ` Swamil Jain
2026-10-29 6:47 ` Heiko Schocher
0 siblings, 1 reply; 10+ messages in thread
From: Swamil Jain @ 2026-10-29 6:05 UTC (permalink / raw)
To: Heiko Schocher; +Cc: u-boot, Simon Glass
On 27-10-2026 13:15, Heiko Schocher wrote:
> Hello Swamil,
>
> On 27.10.26 08:04, Swamil Jain wrote:
>> Hi Simon,
>>
>> On 10/26/26 21:40, Simon Glass wrote:
>>> Hi Swamil,
>>>
>>> On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
>>>
>>>> Some i2c peripherals do not require or wait for i2c ACK, so the series
>>>> adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
>>>> (NAK).
>>>
>>>>
>>>> Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
>>>> the bridge doesn't send ACK (mentioned in programmer's guide[2], pg
>>>> 22).
>>>
>>> Thanks for looking at this. Are you plannning to send a SII9022A driver?
>>
>> Working on the sii9022a driver.
>>
>>>
>>> I've commented on the design on patch 1. It would also be worth
>>> checking how Linux handles this for sii902x, since that driver reads
>>> EDID through the bridge too.
>>>
>>
>> Tried following the programmer's guide but will check how linux handles
>> the EDID read for sii902x.
>>
>>> If the generic flag does stay, please can you add a sandbox test in
>>> test/dm/i2c.c, like the existing tests for the DM_I2C_CHIP_RD_ADDRESS
>>> and DM_I2C_CHIP_WR_ADDRESS flags.
>>
>> As per your feedback on the patches will try not to use the generic
>> flag and handle the case within the driver itself. Will re-spin the
>> series
>> with sii902x driver as well.
>
> @Simon: Thanks for the review!
>
> please try to not drop me from cc, thanks!
Sorry Heiko, will keep you in loop for future discussions.
Regards,
Swamil.
>
> bye,
> Heiko
>>
>> Regards,
>> Swamil.
>>>
>>> Regards,
>>> Simon
>>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH RFC 0/2] Add i2c ignore NAK support
2026-10-29 6:05 ` Swamil Jain
@ 2026-10-29 6:47 ` Heiko Schocher
0 siblings, 0 replies; 10+ messages in thread
From: Heiko Schocher @ 2026-10-29 6:47 UTC (permalink / raw)
To: Swamil Jain; +Cc: u-boot, Simon Glass
Hello Swamil,
On 29.10.26 07:05, Swamil Jain wrote:
>
>
> On 27-10-2026 13:15, Heiko Schocher wrote:
>> Hello Swamil,
>>
>> On 27.10.26 08:04, Swamil Jain wrote:
>>> Hi Simon,
>>>
>>> On 10/26/26 21:40, Simon Glass wrote:
>>>> Hi Swamil,
>>>>
>>>> On 2026-10-26T07:16:33, Swamil Jain <s-jain1@ti.com> wrote:
>>>>
>>>>> Some i2c peripherals do not require or wait for i2c ACK, so the series
>>>>> adds a flag(DM_I2C_CHIP_IGNORE_NAK) to ignore negative acknowledgment
>>>>> (NAK).
>>>>
>>>>>
>>>>> Our usecase is SII9022A[1] hdmi-bridge, while reading the EDID block
>>>>> the bridge doesn't send ACK (mentioned in programmer's guide[2], pg 22).
>>>>
>>>> Thanks for looking at this. Are you plannning to send a SII9022A driver?
>>>
>>> Working on the sii9022a driver.
>>>
>>>>
>>>> I've commented on the design on patch 1. It would also be worth
>>>> checking how Linux handles this for sii902x, since that driver reads
>>>> EDID through the bridge too.
>>>>
>>>
>>> Tried following the programmer's guide but will check how linux handles
>>> the EDID read for sii902x.
>>>
>>>> If the generic flag does stay, please can you add a sandbox test in
>>>> test/dm/i2c.c, like the existing tests for the DM_I2C_CHIP_RD_ADDRESS
>>>> and DM_I2C_CHIP_WR_ADDRESS flags.
>>>
>>> As per your feedback on the patches will try not to use the generic flag and handle the case
>>> within the driver itself. Will re-spin the series
>>> with sii902x driver as well.
>>
>> @Simon: Thanks for the review!
>>
>> please try to not drop me from cc, thanks!
>
> Sorry Heiko, will keep you in loop for future discussions.
>
No problem, thanks!
bye,
Heiko
> Regards,
> Swamil.
>
>>
>> bye,
>> Heiko
>>>
>>> Regards,
>>> Swamil.
>>>>
>>>> Regards,
>>>> Simon
>>>
>>
>
--
Nabla Software Engineering
HRB 40522 Augsburg
Phone: +49 821 45592596
E-Mail: office@nabladev.com
Geschäftsführer : Stefano Babic
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-10-29 6:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-26 7:16 [PATCH RFC 0/2] Add i2c ignore NAK support Swamil Jain
2026-10-26 7:16 ` [PATCH RFC 1/2] i2c: add flag to support ignoring NAK responses Swamil Jain
2026-10-26 16:10 ` Simon Glass
2026-10-26 7:16 ` [PATCH RFC 2/2] i2c: omap24xx: suppress NACK error log when I2C_M_IGNORE_NAK is set Swamil Jain
2026-10-26 16:10 ` Simon Glass
2026-10-26 16:10 ` [PATCH RFC 0/2] Add i2c ignore NAK support Simon Glass
2026-10-27 7:04 ` Swamil Jain
2026-10-27 7:45 ` Heiko Schocher
2026-10-29 6:05 ` Swamil Jain
2026-10-29 6:47 ` Heiko Schocher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.