Skip to content

Commit 10222e3

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 daf5cb1 commit 10222e3

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

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

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

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

0 commit comments

Comments
 (0)