openwrt/target/linux/brcm2708/patches-4.19/950-0294-gpio-ir-change-default-pull-configuration-to-up.patch
Álvaro Fernández Rojas 4295485719 brcm2708: add linux 4.19 support
Boot tested on Raspberry Pi B+ (BCM2708) and Raspberry Pi 2 (BCM2709)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2019-07-14 12:44:14 +02:00

48 lines
2.2 KiB
Diff

From 550dce51930fca1d5dc2a00a7a6f172fbb4e5b56 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Wed, 9 Jan 2019 14:51:01 +0100
Subject: [PATCH 294/703] 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
};
};
};