aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch47
1 files changed, 47 insertions, 0 deletions
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
index 0000000000..40bfc01441
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0255-gpio-ir-change-default-pull-configuration-to-up.patch
@@ -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
+ };
+ };
+ };