aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/apm821xx/dts
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2019-06-15 19:13:30 +0200
committerChristian Lamparter <chunkeey@gmail.com>2019-06-20 19:58:27 +0200
commit971f31bedcad0a954a4a4e79140346cc896d352e (patch)
treea797c541d44b1b6f160332694099e5829bbc5139 /target/linux/apm821xx/dts
parenta95ddaba0272f254a3aeade3aa0c086e1625d672 (diff)
downloadupstream-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.dts1
-rw-r--r--target/linux/apm821xx/dts/meraki-mx60.dts1
-rw-r--r--target/linux/apm821xx/dts/netgear-wndap6x0.dtsi1
-rw-r--r--target/linux/apm821xx/dts/netgear-wndr4700.dts4
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>;
};
};