[PATCH 2/2] mmc: fsl_esdhc_imx: remove redundant cmd11 related code.

Adam Ford aford173 at gmail.com
Wed Mar 3 11:43:15 CET 2021


On Wed, Mar 3, 2021 at 3:18 AM <haibo.chen at nxp.com> wrote:
>
> 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.
>
Nice!  Thank you.
This lets my eMMC run at HS400ES and the microSD card run as SDR104.

For the series,

Tested-by: Adam Ford <aford173 at gmail.com> #imx8mn_beacon

adam
> 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(&regs->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(&regs->vendorspec, ESDHC_VENDORSPEC_VSELECT);
> +               mdelay(5);
>                 if (esdhc_read32(&regs->vendorspec) & ESDHC_VENDORSPEC_VSELECT)
>                         return 0;
>
> --
> 2.17.1
>


More information about the U-Boot mailing list