aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch93
1 files changed, 0 insertions, 93 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch b/target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch
deleted file mode 100644
index 9b6cb1d564..0000000000
--- a/target/linux/bcm27xx/patches-5.4/950-0764-overlays-i2c-gpio-Avoid-open-drain-warnings.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 11f89a12530471a2b25c71416e106eaa014818c0 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.com>
-Date: Fri, 5 Jun 2020 16:07:07 +0100
-Subject: [PATCH] overlays: i2c-gpio: Avoid open-drain warnings
-
-The i2c-gpio driver expects to use a GPIO in open-drain mode. Failure
-to configure it in that way causes alarming warnings in the kernel log.
-The BCM283x and BCM2711 GPIO blocks don't support open-drain mode, but
-gpiolib can emulate it in software if configured correctly.
-
-Silence the warning by declaring the GPIOs as requiring open-drain
-mode, trusting gpiolib to manage the emulation. The previous
-incarnation of this patch took the other approach of telling the
-i2c-gpio driver that the GPIOs were configured for open-drain, but
-this had the effect of disabling the emulation. In some cases this
-appears to work, but examining the waveforms as analogue voltages
-shows contention, the success or failure depending on drive strengths.
-
-See: https://github.com/raspberrypi/firmware/issues/1381
-See: https://github.com/raspberrypi/firmware/issues/1401
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.com>
----
- arch/arm/boot/dts/overlays/balena-fin-overlay.dts | 5 ++++-
- arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 6 ++++--
- arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts | 6 ++++--
- 3 files changed, 12 insertions(+), 5 deletions(-)
-
---- a/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
-@@ -1,6 +1,8 @@
- /dts-v1/;
- /plugin/;
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- /{
- compatible = "brcm,bcm2835";
-
-@@ -48,7 +50,8 @@
-
- i2c_soft: i2c@0 {
- compatible = "i2c-gpio";
-- gpios = <&gpio 43 0 /* sda */ &gpio 42 0 /* scl */>;
-+ gpios = <&gpio 43 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */
-+ &gpio 42 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */>;
- i2c-gpio,delay-us = <5>;
- i2c-gpio,scl-open-drain;
- i2c-gpio,sda-open-drain;
---- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts
-@@ -2,6 +2,8 @@
- /dts-v1/;
- /plugin/;
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- / {
- compatible = "brcm,bcm2835";
-
-@@ -12,8 +14,8 @@
- i2c_gpio: i2c@0 {
- reg = <0xffffffff>;
- compatible = "i2c-gpio";
-- gpios = <&gpio 23 0 /* sda */
-- &gpio 24 0 /* scl */
-+ gpios = <&gpio 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */
-+ &gpio 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */
- >;
- i2c-gpio,delay-us = <2>; /* ~100 kHz */
- #address-cells = <1>;
---- a/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts
-@@ -3,6 +3,8 @@
- /dts-v1/;
- /plugin/;
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- / {
- compatible = "brcm,bcm2835";
-
-@@ -11,8 +13,8 @@
- __overlay__ {
- i2c_gpio: i2c-gpio-rtc@0 {
- compatible = "i2c-gpio";
-- gpios = <&gpio 23 0 /* sda */
-- &gpio 24 0 /* scl */
-+ gpios = <&gpio 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */
-+ &gpio 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */
- >;
- i2c-gpio,delay-us = <2>; /* ~100 kHz */
- #address-cells = <1>;