diff options
| author | Ernest Van Hoecke <ernest.vanhoecke@toradex.com> | 2026-04-08 15:51:15 +0200 |
|---|---|---|
| committer | Ernest Van Hoecke <ernest.vanhoecke@toradex.com> | 2026-04-08 15:55:30 +0200 |
| commit | 4c5d392cde3fb4c56e21bc2a480a1aeb0d1407ee (patch) | |
| tree | 80882260d80e00d0b196dff200474e24f0431b59 | |
| parent | 3b06ba5c0a7a621c389624e82d9df77619f7f0e2 (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.dts | 2 |
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 = <®_dsi_lvds>; |
