aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0784-overlays-iqs550-Enable-interrupt-pull-down.patch
blob: 21e037f70837da7c3c1d09d7ba67a5584d479f5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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";