Skip to content

Commit a52b67b

Browse files
Ciprian Costeastorulf
authored andcommitted
mmc: sdhci-esdhc-imx: disable card detect wake for S32G based platforms
In case of S32G based platforms, GPIO CD used for card detect wake mechanism is not available. For this scenario the newly introduced flag 'ESDHC_FLAG_SKIP_CD_WAKE' is used. Signed-off-by: Ciprian Costea <ciprianmarian.costea@oss.nxp.com> Reviewed-by: Haibo Chen <haibo.chen@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Link: https://lore.kernel.org/r/20240708121018.246476-2-ciprianmarian.costea@oss.nxp.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent cb1f1c7 commit a52b67b

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/mmc/host/sdhci-esdhc-imx.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,9 @@
201201
/* ERR004536 is not applicable for the IP */
202202
#define ESDHC_FLAG_SKIP_ERR004536 BIT(17)
203203

204+
/* The IP does not have GPIO CD wake capabilities */
205+
#define ESDHC_FLAG_SKIP_CD_WAKE BIT(18)
206+
204207
enum wp_types {
205208
ESDHC_WP_NONE, /* no WP, neither controller nor gpio */
206209
ESDHC_WP_CONTROLLER, /* mmc controller internal WP */
@@ -298,7 +301,7 @@ static struct esdhc_soc_data usdhc_s32g2_data = {
298301
.flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
299302
| ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200
300303
| ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES
301-
| ESDHC_FLAG_SKIP_ERR004536,
304+
| ESDHC_FLAG_SKIP_ERR004536 | ESDHC_FLAG_SKIP_CD_WAKE,
302305
};
303306

304307
static struct esdhc_soc_data usdhc_imx7ulp_data = {
@@ -1726,7 +1729,8 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
17261729
host->mmc->caps |= MMC_CAP_1_8V_DDR | MMC_CAP_3_3V_DDR;
17271730

17281731
/* GPIO CD can be set as a wakeup source */
1729-
host->mmc->caps |= MMC_CAP_CD_WAKE;
1732+
if (!(imx_data->socdata->flags & ESDHC_FLAG_SKIP_CD_WAKE))
1733+
host->mmc->caps |= MMC_CAP_CD_WAKE;
17301734

17311735
if (!(imx_data->socdata->flags & ESDHC_FLAG_HS200))
17321736
host->quirks2 |= SDHCI_QUIRK2_BROKEN_HS200;

0 commit comments

Comments
 (0)