[PATCH v4 4/8] mmc: sdhci-esdhc-imx: add NXP S32N79 support

Bough Chen haibo.chen at nxp.com
Sun Mar 8 20:13:39 PDT 2026


> -----Original Message-----
> From: Ciprian Marian Costea (OSS) <ciprianmarian.costea at oss.nxp.com>
> Sent: 2026年3月7日 0:16
> To: Rob Herring <robh at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>;
> Conor Dooley <conor+dt at kernel.org>; Thomas Gleixner <tglx at kernel.org>; Ulf
> Hansson <ulf.hansson at linaro.org>; Frank Li <frank.li at nxp.com>; Sascha Hauer
> <s.hauer at pengutronix.de>; Fabio Estevam <festevam at gmail.com>; Bough
> Chen <haibo.chen at nxp.com>; Adrian Hunter <adrian.hunter at intel.com>;
> Shawn Guo <shawnguo at kernel.org>; Lucas Stach <l.stach at pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel at pengutronix.de>;
> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org;
> linux-mmc at vger.kernel.org; imx at lists.linux.dev;
> linux-arm-kernel at lists.infradead.org; dl-S32 <S32 at nxp.com>; Christophe Lizzi
> <clizzi at redhat.com>; Alberto Ruiz <aruizrui at redhat.com>; Enric Balletbo
> <eballetb at redhat.com>; Eric Chanudet <echanude at redhat.com>; Ciprian
> Marian Costea (OSS) <ciprianmarian.costea at oss.nxp.com>; Larisa Ileana
> Grigore <larisa.grigore at nxp.com>
> Subject: [PATCH v4 4/8] mmc: sdhci-esdhc-imx: add NXP S32N79 support
> 
> From: Ciprian Marian Costea <ciprianmarian.costea at oss.nxp.com>
> 
> Add support for the uSDHC controller found in NXP S32N79 automotive SoCs,
> which reuse the existing sdhci-esdhc-imx driver with slice difference.
> 
> Compared with s32g2/s32g3, needn't set ESDHC_FLAG_SKIP_CD_WAKE flag
> because s32n79 does not have this limitation.

Reviewed-by: Haibo Chen <haibo.chen at nxp.com>

Regards
Haibo Chen
> 
> Co-developed-by: Larisa Grigore <larisa.grigore at nxp.com>
> Signed-off-by: Larisa Grigore <larisa.grigore at nxp.com>
> Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea at oss.nxp.com>
> ---
>  drivers/mmc/host/sdhci-esdhc-imx.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c
> b/drivers/mmc/host/sdhci-esdhc-imx.c
> index a7a5df673b0f..28288fca87ff 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -321,6 +321,14 @@ static struct esdhc_soc_data usdhc_s32g2_data = {
>  	.quirks = SDHCI_QUIRK_NO_LED,
>  };
> 
> +static struct esdhc_soc_data usdhc_s32n79_data = {
> +	.flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
> +			| ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200
> +			| ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES
> +			| ESDHC_FLAG_SKIP_ERR004536,
> +	.quirks = SDHCI_QUIRK_NO_LED,
> +};
> +
>  static struct esdhc_soc_data usdhc_imx7ulp_data = {
>  	.flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
>  			| ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 @@ -408,6
> +416,7 @@ static const struct of_device_id imx_esdhc_dt_ids[] = {
>  	{ .compatible = "fsl,imx95-usdhc", .data = &usdhc_imx95_data, },
>  	{ .compatible = "fsl,imxrt1050-usdhc", .data = &usdhc_imxrt1050_data, },
>  	{ .compatible = "nxp,s32g2-usdhc", .data = &usdhc_s32g2_data, },
> +	{ .compatible = "nxp,s32n79-usdhc", .data = &usdhc_s32n79_data, },
>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, imx_esdhc_dt_ids);
> --
> 2.43.0



More information about the linux-arm-kernel mailing list