On Wed, Mar 3, 2021 at 3:18 AM <[email protected]> wrote: > > From: Haibo Chen <[email protected]> > > 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 <[email protected]> #imx8mn_beacon adam > Signed-off-by: Haibo Chen <[email protected]> > --- > 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); > if (esdhc_read32(®s->vendorspec) & > ESDHC_VENDORSPEC_VSELECT) > return 0; > > -- > 2.17.1 >

