1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/6.6/target/linux/bcm27xx/patches-6.6/0873-ARM-dts-rp1-Add-a-safe-I2C-SDA-hold-time.patch
Ycarus (Yannick Chabanois) 12de1d2995 Add RPI kernel 6.6 support
2024-04-05 20:55:33 +02:00

80 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