linux-stable/drivers/mmc
Haibo Chen 058bbe6711 mmc: sdhci-esdhc-imx: Don't change pinctrl in suspend if wakeup source
[ Upstream commit 031d9e30d5 ]

The pinctrl sleep state may config the pin mux to certain function to save
power in system suspend. Unfortunately this doesn't work if usdhc is used
as a wakeup source, like waking up on SDIO irqs or card-detect irqs. In
these cases, we need pin mux to be configured to usdhc function pad.

The issue is found on imx93-11x11-evk board, where WiFI over SDIO with
in-band irqs fails to wakeup the system, because the DATA[1] pin has been
set to GPIO function.

To fix the problem, don't change the pinctrl state in suspend if there is a
system wakeup enabled.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Link: https://lore.kernel.org/r/20250521033134.112671-1-ziniu.wang_1@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-20 18:41:02 +02:00
..
core mmc: core: Adjust some error messages for SD UHS-II cards 2025-06-24 12:38:02 +02:00
host mmc: sdhci-esdhc-imx: Don't change pinctrl in suspend if wakeup source 2025-08-20 18:41:02 +02:00
Kconfig
Makefile