* [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge
@ 2026-03-17 19:51 Shenwei Wang
2026-03-18 11:18 ` Peng Fan (OSS)
0 siblings, 1 reply; 3+ messages in thread
From: Shenwei Wang @ 2026-03-17 19:51 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Frank Li, Sascha Hauer
Cc: Pengutronix Kernel Team, Fabio Estevam, Shenwei Wang, Peng Fan,
linux-gpio, imx, linux-arm-kernel, linux-kernel, linux-imx,
stable
Suspend may fail on i.MX8QM when Falling Edge is used as a pad wakeup
trigger due to a hardware bug in the detection logic. Since the hardware
does not support Both Edge wakeup, remap requests for Both Edge to Rising
Edge by default to avoid hitting this issue.
Fixes: f60c9eac54af ("gpio: mxc: enable pad wakeup on i.MX8x platforms")
cc: stable@vger.kernel.org
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
---
drivers/gpio/gpio-mxc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
index d7666fe9dbf8..f8300690ac05 100644
--- a/drivers/gpio/gpio-mxc.c
+++ b/drivers/gpio/gpio-mxc.c
@@ -589,7 +589,7 @@ static bool mxc_gpio_set_pad_wakeup(struct mxc_gpio_port *port, bool enable)
IMX_SCU_WAKEUP_OFF, /* 0 */
IMX_SCU_WAKEUP_RISE_EDGE, /* IRQ_TYPE_EDGE_RISING */
IMX_SCU_WAKEUP_FALL_EDGE, /* IRQ_TYPE_EDGE_FALLING */
- IMX_SCU_WAKEUP_FALL_EDGE, /* IRQ_TYPE_EDGE_BOTH */
+ IMX_SCU_WAKEUP_RISE_EDGE, /* IRQ_TYPE_EDGE_BOTH */
IMX_SCU_WAKEUP_HIGH_LVL, /* IRQ_TYPE_LEVEL_HIGH */
IMX_SCU_WAKEUP_OFF, /* 5 */
IMX_SCU_WAKEUP_OFF, /* 6 */
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge
2026-03-17 19:51 [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge Shenwei Wang
@ 2026-03-18 11:18 ` Peng Fan (OSS)
2026-03-18 15:17 ` Shenwei Wang
0 siblings, 1 reply; 3+ messages in thread
From: Peng Fan (OSS) @ 2026-03-18 11:18 UTC (permalink / raw)
To: Shenwei Wang, Linus Walleij, Bartosz Golaszewski, Frank Li,
Sascha Hauer
Cc: Pengutronix Kernel Team, Fabio Estevam,
linux-gpio@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, dl-linux-imx,
stable@vger.kernel.org
Hi Shenwei,
> Subject: [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising
> Edge
>
> Suspend may fail on i.MX8QM when Falling Edge is used as a pad
> wakeup trigger due to a hardware bug in the detection logic.
This hardware bug exists on i.MX8QM/QXP/DXL, or just 8QM?
More information better to add why suspend may fail.
Do you mean not able to resume back because of failing
to detect falling edge?
Since the
> hardware does not support Both Edge wakeup, remap requests for
> Both Edge to Rising Edge by default to avoid hitting this issue.
>
> Fixes: f60c9eac54af ("gpio: mxc: enable pad wakeup on i.MX8x
> platforms")
> cc: stable@vger.kernel.org
> Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> ---
> drivers/gpio/gpio-mxc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index
> d7666fe9dbf8..f8300690ac05 100644
> --- a/drivers/gpio/gpio-mxc.c
> +++ b/drivers/gpio/gpio-mxc.c
> @@ -589,7 +589,7 @@ static bool mxc_gpio_set_pad_wakeup(struct
> mxc_gpio_port *port, bool enable)
> IMX_SCU_WAKEUP_OFF, /* 0 */
> IMX_SCU_WAKEUP_RISE_EDGE, /*
> IRQ_TYPE_EDGE_RISING */
> IMX_SCU_WAKEUP_FALL_EDGE, /*
> IRQ_TYPE_EDGE_FALLING */
> - IMX_SCU_WAKEUP_FALL_EDGE, /*
> IRQ_TYPE_EDGE_BOTH */
> + IMX_SCU_WAKEUP_RISE_EDGE, /*
> IRQ_TYPE_EDGE_BOTH */
For IRQ_TYPE_EDGE_BOTH, use IMX_SCU_WAKEUP_RISE_EDGE.
Do we need to also add a check for IRQ_TYPE_EDGE_FALLING?
Saying not support IRQ_TYPE_EDGE_FALLING because of xxx.
Regards
Peng.
> IMX_SCU_WAKEUP_HIGH_LVL, /*
> IRQ_TYPE_LEVEL_HIGH */
> IMX_SCU_WAKEUP_OFF, /* 5 */
> IMX_SCU_WAKEUP_OFF, /* 6 */
> --
> 2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge
2026-03-18 11:18 ` Peng Fan (OSS)
@ 2026-03-18 15:17 ` Shenwei Wang
0 siblings, 0 replies; 3+ messages in thread
From: Shenwei Wang @ 2026-03-18 15:17 UTC (permalink / raw)
To: Peng Fan (OSS), Linus Walleij, Bartosz Golaszewski, Frank Li,
Sascha Hauer
Cc: Pengutronix Kernel Team, Fabio Estevam,
linux-gpio@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, dl-linux-imx,
stable@vger.kernel.org
> -----Original Message-----
> From: Peng Fan (OSS) <peng.fan@oss.nxp.com>
> Sent: Wednesday, March 18, 2026 6:19 AM
> To: Shenwei Wang <shenwei.wang@nxp.com>; Linus Walleij
> <linusw@kernel.org>; Bartosz Golaszewski <brgl@kernel.org>; Frank Li
> <frank.li@nxp.com>; Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> <festevam@gmail.com>; linux-gpio@vger.kernel.org; imx@lists.linux.dev; linux-
> arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; dl-linux-imx
> <linux-imx@nxp.com>; stable@vger.kernel.org
> Subject: RE: [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge
>
> Hi Shenwei,
>
> > Subject: [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising
> > Edge
> >
> > Suspend may fail on i.MX8QM when Falling Edge is used as a pad wakeup
> > trigger due to a hardware bug in the detection logic.
>
> This hardware bug exists on i.MX8QM/QXP/DXL, or just 8QM?
>
Only on i.MX8QM, as described. The system fails to enter suspend when
Falling Edge wakeup is selected.
Thanks,
Shenwei
> More information better to add why suspend may fail.
> Do you mean not able to resume back because of failing to detect falling edge?
>
> Since the
> > hardware does not support Both Edge wakeup, remap requests for Both
> > Edge to Rising Edge by default to avoid hitting this issue.
> >
> > Fixes: f60c9eac54af ("gpio: mxc: enable pad wakeup on i.MX8x
> > platforms")
> > cc: stable@vger.kernel.org
> > Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> > ---
> > drivers/gpio/gpio-mxc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index
> > d7666fe9dbf8..f8300690ac05 100644
> > --- a/drivers/gpio/gpio-mxc.c
> > +++ b/drivers/gpio/gpio-mxc.c
> > @@ -589,7 +589,7 @@ static bool mxc_gpio_set_pad_wakeup(struct
> > mxc_gpio_port *port, bool enable)
> > IMX_SCU_WAKEUP_OFF, /* 0 */
> > IMX_SCU_WAKEUP_RISE_EDGE, /*
> > IRQ_TYPE_EDGE_RISING */
> > IMX_SCU_WAKEUP_FALL_EDGE, /*
> > IRQ_TYPE_EDGE_FALLING */
> > - IMX_SCU_WAKEUP_FALL_EDGE, /*
> > IRQ_TYPE_EDGE_BOTH */
> > + IMX_SCU_WAKEUP_RISE_EDGE, /*
> > IRQ_TYPE_EDGE_BOTH */
>
> For IRQ_TYPE_EDGE_BOTH, use IMX_SCU_WAKEUP_RISE_EDGE.
> Do we need to also add a check for IRQ_TYPE_EDGE_FALLING?
> Saying not support IRQ_TYPE_EDGE_FALLING because of xxx.
>
> Regards
> Peng.
>
> > IMX_SCU_WAKEUP_HIGH_LVL, /*
> > IRQ_TYPE_LEVEL_HIGH */
> > IMX_SCU_WAKEUP_OFF, /* 5 */
> > IMX_SCU_WAKEUP_OFF, /* 6 */
> > --
> > 2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-18 15:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 19:51 [PATCH 1/1] gpio: mxc: map Both Edge pad wakeup to Rising Edge Shenwei Wang
2026-03-18 11:18 ` Peng Fan (OSS)
2026-03-18 15:17 ` Shenwei Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox