brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0255-gpio-ir-change-default-pull-configuration-to-up.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch b/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch
new file mode 100644 (file)
index 0000000..40bfc01
--- /dev/null
@@ -0,0 +1,47 @@
+From d1cf5fb57ee5ee4512a93614d67d15af9c8070b2 Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Wed, 9 Jan 2019 14:51:01 +0100
+Subject: [PATCH] gpio-ir: change default pull configuration to up
+
+IR receivers like the TSOP series from Vishay and compatible ones
+have active-low open collector outputs with an internal pull up of
+about 30k (according to the TSOP datasheets).
+
+Activating a pull-down resistor on the GPIO will make it work against
+the pull-up in the IR receiver and brings the idle input voltage down
+to about 1.9V (measured on a RPi3B+ with a TSOP4438). While that's
+usually enough to make the RPi see a high signal it's certainly not
+optimal and may even fail when using an IR receiver with a weaker pull-up.
+
+Switching the default GPIO pull to "up" results in an input voltage
+level of about 3.3V and ensures that an idle state (high signal) will
+be detected if no IR receiver is attached.
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ arch/arm/boot/dts/overlays/README              | 2 +-
+ arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -611,7 +611,7 @@ Load:   dtoverlay=gpio-ir,<param>=<val>
+ Params: gpio_pin                Input pin number. Default is 18.
+         gpio_pull               Desired pull-up/down state (off, down, up)
+-                                Default is "down".
++                                Default is "up".
+         rc-map-name             Default rc keymap (can also be changed by
+                                 ir-keytable), defaults to "rc-rc6-mce"
+--- a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts
++++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts
+@@ -30,7 +30,7 @@
+                         gpio_ir_pins: gpio_ir_pins@12 {
+                                 brcm,pins = <18>;                       // pin 18
+                                 brcm,function = <0>;                    // in
+-                                brcm,pull = <1>;                        // down
++                                brcm,pull = <2>;                        // up
+                         };
+                 };
+         };