Skip to content

Commit 3bcc388

Browse files
committed
ARM: dts: rp1: Add a safe I2C SDA hold time
Failing to set a reasonable SDA hold time can cause SDA to change too close to the falling edge of SCL. 300ns is the recommended minimum interval between the two at 100kHz and 400kHz, and also seems to work at 1MHz, so use that. See: #5914 Signed-off-by: Phil Elwell <[email protected]>
1 parent 60909ed commit 3bcc388

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

arch/arm/boot/dts/broadcom/rp1.dtsi

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@
307307
clocks = <&rp1_clocks RP1_CLK_SYS>;
308308
i2c-scl-rising-time-ns = <65>;
309309
i2c-scl-falling-time-ns = <100>;
310+
i2c-sda-hold-time-ns = <300>;
310311
status = "disabled";
311312
};
312313

@@ -317,6 +318,7 @@
317318
clocks = <&rp1_clocks RP1_CLK_SYS>;
318319
i2c-scl-rising-time-ns = <65>;
319320
i2c-scl-falling-time-ns = <100>;
321+
i2c-sda-hold-time-ns = <300>;
320322
status = "disabled";
321323
};
322324

@@ -327,6 +329,7 @@
327329
clocks = <&rp1_clocks RP1_CLK_SYS>;
328330
i2c-scl-rising-time-ns = <65>;
329331
i2c-scl-falling-time-ns = <100>;
332+
i2c-sda-hold-time-ns = <300>;
330333
status = "disabled";
331334
};
332335

@@ -337,6 +340,7 @@
337340
clocks = <&rp1_clocks RP1_CLK_SYS>;
338341
i2c-scl-rising-time-ns = <65>;
339342
i2c-scl-falling-time-ns = <100>;
343+
i2c-sda-hold-time-ns = <300>;
340344
status = "disabled";
341345
};
342346

@@ -347,6 +351,7 @@
347351
clocks = <&rp1_clocks RP1_CLK_SYS>;
348352
i2c-scl-rising-time-ns = <65>;
349353
i2c-scl-falling-time-ns = <100>;
354+
i2c-sda-hold-time-ns = <300>;
350355
status = "disabled";
351356
};
352357

@@ -357,6 +362,7 @@
357362
clocks = <&rp1_clocks RP1_CLK_SYS>;
358363
i2c-scl-rising-time-ns = <65>;
359364
i2c-scl-falling-time-ns = <100>;
365+
i2c-sda-hold-time-ns = <300>;
360366
status = "disabled";
361367
};
362368

@@ -367,6 +373,7 @@
367373
clocks = <&rp1_clocks RP1_CLK_SYS>;
368374
i2c-scl-rising-time-ns = <65>;
369375
i2c-scl-falling-time-ns = <100>;
376+
i2c-sda-hold-time-ns = <300>;
370377
status = "disabled";
371378
};
372379

0 commit comments

Comments
 (0)