summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnest Van Hoecke <ernest.vanhoecke@toradex.com>2026-04-08 15:51:15 +0200
committerErnest Van Hoecke <ernest.vanhoecke@toradex.com>2026-04-09 12:38:05 +0200
commit75b60deb83ae445f5c67593835750ef986cdf0b9 (patch)
tree26eec4c480a64d4ce6584d9928f95c22a789377c
parent9e5123e07ebce101f049d93ca9e844ca0dd75a71 (diff)
verdin-imx95: dsi-to-lvds_panel-cap-touch-10inch-lvds: Fix Atmel maxtouch interrupttoradex_6.12-2.0.x-imx
The GPIO expander controlling the Atmel Maxtouch controller's triggers an interrupt on any edge changes. There is a case where the interrupt handler of the GPIO expander is triggered when a rising edge from the Maxtouch controller occurs. If a falling edge occurs while the interrupt handler is still executing, the GPIO expander will miss it and won't trigger the Maxtouch interrupt handler since it detected a rising edge to begin with. The interrupt line of the Maxtouch controller will then stay low and the chip will freeze. Changing the interrupt type to EDGE_BOTH fixes this issue by making sure we trigger the Maxtouch's interrupt handler even on rising edges. One drawback is that the handler will sometimes be executed when no events occured, but it is safe and will prevent the chip from hanging. Related-to: ELB-6971 Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
-rw-r--r--overlays/verdin-imx95_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts2
1 files changed, 1 insertions, 1 deletions
diff --git a/overlays/verdin-imx95_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/verdin-imx95_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
index bcba32a..f2598f1 100644
--- a/overlays/verdin-imx95_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
+++ b/overlays/verdin-imx95_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
@@ -135,7 +135,7 @@
pinctrl-0 = <&pinctrl_i2s_2_bclk_gpio>;
/* Verdin GPIO_9_DSI (DSI_1_INT#, SODIMM 17) */
interrupt-parent = <&som_gpio_expander>;
- interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+ interrupts = <2 IRQ_TYPE_EDGE_BOTH>;
/* Verdin I2S_2_BCLK (SODIMM 42) */
reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_dsi_lvds>;