mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-15 04:42:02 +00:00
81 lines
2.4 KiB
Diff
81 lines
2.4 KiB
Diff
|
From a3d53c8e96353c0d31e8984e67ff53d05378780a Mon Sep 17 00:00:00 2001
|
||
|
From: Phil Elwell <phil@raspberrypi.com>
|
||
|
Date: Wed, 31 Jan 2024 17:44:02 +0000
|
||
|
Subject: [PATCH 0873/1002] 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: https://github.com/raspberrypi/linux/issues/5914
|
||
|
|
||
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||
|
---
|
||
|
arch/arm/boot/dts/broadcom/rp1.dtsi | 7 +++++++
|
||
|
1 file changed, 7 insertions(+)
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/broadcom/rp1.dtsi b/arch/arm/boot/dts/broadcom/rp1.dtsi
|
||
|
index 00e5c4cbd53f..05e4f7a4e111 100644
|
||
|
--- a/arch/arm/boot/dts/broadcom/rp1.dtsi
|
||
|
+++ b/arch/arm/boot/dts/broadcom/rp1.dtsi
|
||
|
@@ -307,6 +307,7 @@ rp1_i2c0: i2c@70000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -317,6 +318,7 @@ rp1_i2c1: i2c@74000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -327,6 +329,7 @@ rp1_i2c2: i2c@78000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -337,6 +340,7 @@ rp1_i2c3: i2c@7c000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -347,6 +351,7 @@ rp1_i2c4: i2c@80000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -357,6 +362,7 @@ rp1_i2c5: i2c@84000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -367,6 +373,7 @@ rp1_i2c6: i2c@88000 {
|
||
|
clocks = <&rp1_clocks RP1_CLK_SYS>;
|
||
|
i2c-scl-rising-time-ns = <65>;
|
||
|
i2c-scl-falling-time-ns = <100>;
|
||
|
+ i2c-sda-hold-time-ns = <300>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
--
|
||
|
2.44.0
|
||
|
|