Skip to content

Commit 00ca438

Browse files
committed
bindings: i2c: ti,mspm0g3xxx-i2c.yaml add watchdog
describe the watchdog timer property that will reset the mcu and the i2c lines (to high) to avoid potential SCL stuck low issues Signed-off-by: Dimitris Karnikis <[email protected]>
1 parent 289762c commit 00ca438

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

dts/bindings/i2c/ti,mspm0g3xxx-i2c.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,15 @@ properties:
2424

2525
pinctrl-names:
2626
required: true
27+
28+
watchdog-timer:
29+
type: phandle
30+
description: |
31+
When the system is crashing, the I2C lines (SDA/SCL) are not being
32+
reset and might stay LOW. To address this issue, we need to ensure that
33+
none of the user i2c driver callbacks (that are doing reads or writes)
34+
are taking longer than CONFIG_I2C_MSPM0G3XXX_WATCHDOG_TIMEOUT. So we
35+
fire a timer before each call. If the callback doesn't finish fast
36+
enough, the watchdog callback will reset the i2c lines, NACK the i2c
37+
message and panic with the CONFIG_MSPM0G3XXX_I2C_WATCHDOG_PANIC_CODE
38+
error code.

0 commit comments

Comments
 (0)