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-08 15:55:30 +0200
commit4c5d392cde3fb4c56e21bc2a480a1aeb0d1407ee (patch)
tree80882260d80e00d0b196dff200474e24f0431b59
parent3b06ba5c0a7a621c389624e82d9df77619f7f0e2 (diff)
verdin-imx95: dsi-to-lvds_panel-cap-touch-10inch-lvds: Fix Atmel maxtouch interrupttoradex_6.6-2.2.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 803bce3..3718747 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
@@ -134,7 +134,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>;