brcm2708: update to latest patches from RPi foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch b/target/linux/brcm2708/patches-4.19/950-0723-overlays-gpio-shutdown-Add-debounce-parameter.patch
new file mode 100644 (file)
index 0000000..d928458
--- /dev/null
@@ -0,0 +1,48 @@
+From 499e28e3a38f0de843b07bf4bbf7692b07c5e3ba Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Mon, 7 Oct 2019 13:51:07 +0100
+Subject: [PATCH] overlays: gpio-shutdown: Add debounce parameter
+
+Give the gpio-shutdown overlay a debounce parameter that requires
+the GPIO to be held at the relevant level for a specified number
+of milliseconds. The default value is 100 - higher than the driver
+default of 5ms to avoid unfortunate glitches.
+
+See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=253680
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README                    | 3 +++
+ arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts | 2 ++
+ 2 files changed, 5 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -803,6 +803,9 @@ Params: gpio_pin                GPIO pin
+                                 Note that the default pin (GPIO3) has an
+                                 external pullup.
++        debounce                Specify the debounce interval in milliseconds
++                                (default 100)
++
+ Name:   hd44780-lcd
+ Info:   Configures an HD44780 compatible LCD display. Uses 4 gpio pins for
+--- a/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
++++ b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
+@@ -53,6 +53,7 @@
+                                       label = "shutdown";
+                                       linux,code = <116>; // KEY_POWER
+                                       gpios = <&gpio 3 1>;
++                                      debounce-interval = <100>; // ms
+                               };
+                       };
+               };
+@@ -75,6 +76,7 @@
+               // Allow setting the active_low flag. 0 = active high, 1 = active low
+               active_low = <&button>,"gpios:8";
++              debounce = <&button>,"debounce-interval:0";
+       };
+ };