bcm27xx: update 6.1 patches from RPi foundation
[openwrt/staging/stintel.git] / target / linux / bcm27xx / patches-6.1 / 950-1264-ARM-dts-rp1-Add-a-safe-I2C-SDA-hold-time.patch
1 From 15dedc2ad5a9073b8639881680672214f605a5c6 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Wed, 31 Jan 2024 17:44:02 +0000
4 Subject: [PATCH 1264/1295] ARM: dts: rp1: Add a safe I2C SDA hold time
5
6 Failing to set a reasonable SDA hold time can cause SDA to change too
7 close to the falling edge of SCL. 300ns is the recommended minimum
8 interval between the two at 100kHz and 400kHz, and also seems to
9 work at 1MHz, so use that.
10
11 See: https://github.com/raspberrypi/linux/issues/5914
12
13 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
14 ---
15 arch/arm/boot/dts/rp1.dtsi | 7 +++++++
16 1 file changed, 7 insertions(+)
17
18 --- a/arch/arm/boot/dts/rp1.dtsi
19 +++ b/arch/arm/boot/dts/rp1.dtsi
20 @@ -307,6 +307,7 @@
21 clocks = <&rp1_clocks RP1_CLK_SYS>;
22 i2c-scl-rising-time-ns = <65>;
23 i2c-scl-falling-time-ns = <100>;
24 + i2c-sda-hold-time-ns = <300>;
25 status = "disabled";
26 };
27
28 @@ -317,6 +318,7 @@
29 clocks = <&rp1_clocks RP1_CLK_SYS>;
30 i2c-scl-rising-time-ns = <65>;
31 i2c-scl-falling-time-ns = <100>;
32 + i2c-sda-hold-time-ns = <300>;
33 status = "disabled";
34 };
35
36 @@ -327,6 +329,7 @@
37 clocks = <&rp1_clocks RP1_CLK_SYS>;
38 i2c-scl-rising-time-ns = <65>;
39 i2c-scl-falling-time-ns = <100>;
40 + i2c-sda-hold-time-ns = <300>;
41 status = "disabled";
42 };
43
44 @@ -337,6 +340,7 @@
45 clocks = <&rp1_clocks RP1_CLK_SYS>;
46 i2c-scl-rising-time-ns = <65>;
47 i2c-scl-falling-time-ns = <100>;
48 + i2c-sda-hold-time-ns = <300>;
49 status = "disabled";
50 };
51
52 @@ -347,6 +351,7 @@
53 clocks = <&rp1_clocks RP1_CLK_SYS>;
54 i2c-scl-rising-time-ns = <65>;
55 i2c-scl-falling-time-ns = <100>;
56 + i2c-sda-hold-time-ns = <300>;
57 status = "disabled";
58 };
59
60 @@ -357,6 +362,7 @@
61 clocks = <&rp1_clocks RP1_CLK_SYS>;
62 i2c-scl-rising-time-ns = <65>;
63 i2c-scl-falling-time-ns = <100>;
64 + i2c-sda-hold-time-ns = <300>;
65 status = "disabled";
66 };
67
68 @@ -367,6 +373,7 @@
69 clocks = <&rp1_clocks RP1_CLK_SYS>;
70 i2c-scl-rising-time-ns = <65>;
71 i2c-scl-falling-time-ns = <100>;
72 + i2c-sda-hold-time-ns = <300>;
73 status = "disabled";
74 };
75