aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch b/target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch
new file mode 100644
index 0000000000..21e037f708
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch
@@ -0,0 +1,46 @@
+From 14ea778d2a5281a0f4c94230abccf30bc72c2bdd Mon Sep 17 00:00:00 2001
+From: Jeff LaBundy <jeff@labundy.com>
+Date: Sat, 19 Mar 2022 20:31:30 -0500
+Subject: [PATCH] overlays: iqs550: Enable interrupt pull-down
+
+The device's active-high interrupt normally serves as a push-pull
+output, but becomes high-impedance during bootloader mode. Enable
+a pull-down to hold the pin in the inactive state.
+
+Signed-off-by: Jeff LaBundy <jeff@labundy.com>
+---
+ arch/arm/boot/dts/overlays/iqs550-overlay.dts | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/overlays/iqs550-overlay.dts
++++ b/arch/arm/boot/dts/overlays/iqs550-overlay.dts
+@@ -20,6 +20,8 @@
+ reg = <0x74>;
+ interrupt-parent = <&gpio>;
+ interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&iqs550_pins>;
+ touchscreen-size-x = <800>;
+ touchscreen-size-y = <480>;
+ };
+@@ -34,8 +36,19 @@
+ };
+ };
+
++ fragment@2 {
++ target = <&gpio>;
++ __overlay__ {
++ iqs550_pins: iqs550_pins {
++ brcm,pins = <4>;
++ brcm,pull = <1>;
++ };
++ };
++ };
++
+ __overrides__ {
+- interrupt = <&iqs550>,"interrupts:0";
++ interrupt = <&iqs550>,"interrupts:0",
++ <&iqs550_pins>,"brcm,pins:0";
+ reset = <0>,"+1", <&iqs550_reset>,"reset-gpios:4";
+ sizex = <&iqs550>,"touchscreen-size-x:0";
+ sizey = <&iqs550>,"touchscreen-size-y:0";