[PATCH 2/2] mmc: fsl_esdhc_imx: remove redundant cmd11 related code.
ZHIZHIKIN Andrey
andrey.zhizhikin at leica-geosystems.com
Wed Mar 3 11:59:55 CET 2021
> -----Original Message-----
> From: haibo.chen at nxp.com <haibo.chen at nxp.com>
> Sent: Wednesday, March 3, 2021 10:06 AM
> To: peng.fan at nxp.com; u-boot at lists.denx.de; sbabic at denx.de
> Cc: haibo.chen at nxp.com; uboot-imx at nxp.com; tharvey at gateworks.com;
> ZHIZHIKIN Andrey <andrey.zhizhikin at leica-geosystems.com>;
> festevam at gmail.com; ye.li at nxp.com
> Subject: [PATCH 2/2] mmc: fsl_esdhc_imx: remove redundant cmd11 related
> code.
>
> From: Haibo Chen <haibo.chen at nxp.com>
>
> Common code already handle the voltage switch sequence based on spec, so
> remove the redundant voltage switch code.
>
> Signed-off-by: Haibo Chen <haibo.chen at nxp.com>
> ---
> drivers/mmc/fsl_esdhc_imx.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index
> af36558b3c..a199cf3df6 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -515,15 +515,6 @@ static int esdhc_send_cmd_common(struct
> fsl_esdhc_priv *priv, struct mmc *mmc,
> goto out;
> }
>
> - /* Switch voltage to 1.8V if CMD11 succeeded */
> - if (cmd->cmdidx == SD_CMD_SWITCH_UHS18V) {
> - esdhc_setbits32(®s->vendorspec, ESDHC_VENDORSPEC_VSELECT);
> -
> - printf("Run CMD11 1.8V switch\n");
> - /* Sleep for 5 ms - max time for card to switch to 1.8V */
> - udelay(5000);
> - }
> -
> /* Workaround for ESDHC errata ENGcm03648 */
> if (!data && (cmd->resp_type & MMC_RSP_BUSY)) {
> int timeout = 50000;
> @@ -839,6 +830,7 @@ static int esdhc_set_voltage(struct mmc *mmc)
> }
> #endif
> esdhc_setbits32(®s->vendorspec, ESDHC_VENDORSPEC_VSELECT);
> + mdelay(5);
Why is this delay introduced here? It is not clear from the commit message whether and why it is required here.
If this is kept from the removed block - maybe it is better to move the corresponding comment here as well.
> if (esdhc_read32(®s->vendorspec) & ESDHC_VENDORSPEC_VSELECT)
> return 0;
>
> --
> 2.17.1
-- andrey
More information about the U-Boot
mailing list