diff options
author | Christian Lamparter <chunkeey@gmail.com> | 2019-06-15 19:13:30 +0200 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2019-06-20 19:58:27 +0200 |
commit | 971f31bedcad0a954a4a4e79140346cc896d352e (patch) | |
tree | a797c541d44b1b6f160332694099e5829bbc5139 /target/linux/apm821xx/dts | |
parent | a95ddaba0272f254a3aeade3aa0c086e1625d672 (diff) | |
download | upstream-971f31bedcad0a954a4a4e79140346cc896d352e.tar.gz upstream-971f31bedcad0a954a4a4e79140346cc896d352e.tar.bz2 upstream-971f31bedcad0a954a4a4e79140346cc896d352e.zip |
apm821xx: fix bogus key-presses on boot
"There are often transient line events when
the system is powered up and initialized and it
is often necessary for the gpio_chip driver to
clear any interrupt flags in hardware before
setting up the gpio chip, especially the
irqchip portions of it."
<http://lists.infradead.org/pipermail/openwrt-devel/2019-June/017630.html>
This patch adds a fix for the APM821XX's interrupt
controller to clear any bogus pending toggled
interrupts that happens on various APM821XX boards
on boot.
The patch also changes the debouce-interval from the
default 5ms debounce interval to 60ms all around.
The default setting caused on occasions that the button
state became stuck in a pressed state, even though the
button was released.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/apm821xx/dts')
-rw-r--r-- | target/linux/apm821xx/dts/meraki-mr24.dts | 1 | ||||
-rw-r--r-- | target/linux/apm821xx/dts/meraki-mx60.dts | 1 | ||||
-rw-r--r-- | target/linux/apm821xx/dts/netgear-wndap6x0.dtsi | 1 | ||||
-rw-r--r-- | target/linux/apm821xx/dts/netgear-wndr4700.dts | 4 |
4 files changed, 7 insertions, 0 deletions
diff --git a/target/linux/apm821xx/dts/meraki-mr24.dts b/target/linux/apm821xx/dts/meraki-mr24.dts index 144c6f0eb3..8fdef7c171 100644 --- a/target/linux/apm821xx/dts/meraki-mr24.dts +++ b/target/linux/apm821xx/dts/meraki-mr24.dts @@ -175,6 +175,7 @@ interrupt-parent = <&UIC1>; interrupts = <0x15 IRQ_TYPE_EDGE_FALLING>; gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; }; }; }; diff --git a/target/linux/apm821xx/dts/meraki-mx60.dts b/target/linux/apm821xx/dts/meraki-mx60.dts index 2550d259ab..3620005e4d 100644 --- a/target/linux/apm821xx/dts/meraki-mx60.dts +++ b/target/linux/apm821xx/dts/meraki-mx60.dts @@ -167,6 +167,7 @@ gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>; interrupt-parent = <&UIC1>; interrupts = <0x15 IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; }; }; diff --git a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi index c39f4ad83b..2d135d64da 100644 --- a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi +++ b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi @@ -131,6 +131,7 @@ linux,code = <KEY_RESTART>; interrupt-parent = <&UIC1>; interrupts = <0x15 IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; }; diff --git a/target/linux/apm821xx/dts/netgear-wndr4700.dts b/target/linux/apm821xx/dts/netgear-wndr4700.dts index 24d5c33f90..a9ec36adad 100644 --- a/target/linux/apm821xx/dts/netgear-wndr4700.dts +++ b/target/linux/apm821xx/dts/netgear-wndr4700.dts @@ -317,6 +317,7 @@ linux,code = <KEY_RESTART>; interrupt-parent = <&UIC1>; interrupts = <0x14 IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; backup_hd { @@ -325,6 +326,7 @@ linux,code = <BTN_0>; interrupt-parent = <&UIC1>; interrupts = <0x1e IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; rfkill { @@ -333,6 +335,7 @@ linux,code = <KEY_RFKILL>; interrupt-parent = <&UIC1>; interrupts = <0x1f IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; wps { @@ -341,6 +344,7 @@ linux,code = <KEY_WPS_BUTTON>; interrupt-parent = <&UIC2>; interrupts = <0x19 IRQ_TYPE_EDGE_FALLING>; + debounce-interval = <60>; }; }; |