Commit 309faa9
committed
drivers: i2c: dw: add restart support for buffer mode comm
- In slave mode, there is no interrupt generated for a RESTART condition.
The buffer mode communication logic currently assumes that the transfer
terminates only when a STOP condition is detected.
- When the bus issues a RESTART instead of STOP, the buffer mode state
is not handled correctly, which can lead to data mismatch or
communication errors when the transfer direction changes.
- Handle this case by detecting a START condition and resetting
the buffer mode state accordingly.
Signed-off-by: Shreehari HK <shreehari.hk@alifsemi.com>1 parent 4007a1e commit 309faa9
1 file changed
+32
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
462 | 493 | | |
463 | 494 | | |
464 | 495 | | |
| |||
992 | 1023 | | |
993 | 1024 | | |
994 | 1025 | | |
995 | | - | |
| 1026 | + | |
996 | 1027 | | |
997 | 1028 | | |
998 | 1029 | | |
| |||
0 commit comments