openwrt/target/linux/bcm27xx/patches-5.4/950-0463-gpio-ir-overlay-add-parameter-to-configure-signal-po.patch
Álvaro Fernández Rojas 62b7f5931c bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f07e572f64)
2021-02-19 07:17:21 +01:00

46 lines
1.9 KiB
Diff

From e253d03936265dc4ab8ae9ae89d2a885e80a45a6 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Fri, 6 Mar 2020 11:08:10 +0100
Subject: [PATCH] gpio-ir-overlay: add parameter to configure signal
polarity (#3490)
Standard IR receivers use inverted / active-low signalling
and the gpio-ir overlay configures the GPIO appropriately
as GPIO_ACTIVE_LOW (1).
In order to support (rather rare) non-inverted / active-high
signalling the GPIO needs to be configured as GPIO_ACTIVE_HIGH (0).
Add an "invert" parameter to override this like in the gpio-ir-tx
overlay.
Signed-off-by: Matthias Reichl <hias@horus.com>
---
arch/arm/boot/dts/overlays/README | 4 ++++
arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 1 +
2 files changed, 5 insertions(+)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -754,6 +754,10 @@ Params: gpio_pin Input pi
gpio_pull Desired pull-up/down state (off, down, up)
Default is "up".
+ invert "1" = invert the input (active-low signalling).
+ "0" = non-inverted input (active-high
+ signalling). Default is "1".
+
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
@@ -42,6 +42,7 @@
<&gpio_ir_pins>,"brcm,pins:0",
<&gpio_ir_pins>,"reg:0";
gpio_pull = <&gpio_ir_pins>,"brcm,pull:0"; // pull-up/down state
+ invert = <&gpio_ir>,"gpios:8"; // 0 = active high input
rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map
};