openwrt/target/linux/bcm27xx/patches-6.1/950-1264-ARM-dts-rp1-Add-a-safe-I2C-SDA-hold-time.patch
Álvaro Fernández Rojas 20fe7e687e bcm27xx: update 6.1 patches from RPi foundation
Sync 6.1 patches with the RPi foundation.
Since rpi-6.6.y is now the main branch of the RPi foundation, there won't be
any new patches for linux 6.1.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-07 22:12:42 +02:00

76 lines
2.0 KiB
Diff

From 15dedc2ad5a9073b8639881680672214f605a5c6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Wed, 31 Jan 2024 17:44:02 +0000
Subject: [PATCH 1264/1295] 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/rp1.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
--- a/arch/arm/boot/dts/rp1.dtsi
+++ b/arch/arm/boot/dts/rp1.dtsi
@@ -307,6 +307,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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";
};