Hi Peng,

> -----Original Message-----
> From: Peng Fan <peng....@nxp.com>
> Sent: Monday, July 20, 2020 9:37 AM
> To: Y.b. Lu <yangbo...@nxp.com>; u-boot@lists.denx.de; Priyanka Jain
> <priyanka.j...@nxp.com>; 'Jaehoon Chung' <jh80.ch...@samsung.com>
> Cc: Y.b. Lu <yangbo...@nxp.com>
> Subject: RE: [v2, 05/11] mmc: add a hs400_tuning flag
> 
> > Subject: [v2, 05/11] mmc: add a hs400_tuning flag
> >
> > Add a hs400_tuning flag to identify the tuning for HS400 mode.
> 
> Why? Please explain a bit more.

Some specific controllers may have difference between HS400 tuning and HS200 
tuning.
For eSDHC, as you saw in my patch #7, and there are also some eSDHC errata 
related to HS400 tuning which I will upstream patches in the future.
In kernel drivers/mmc/host/sdhci.c, there is a flag SDHCI_HS400_TUNING used by 
sdhci-msm.c and sdhci-of-esdhc.c for specific handling.
I will explain more in commit message.

> 
> Thanks,
> Peng.
> 
> >
> > Signed-off-by: Yangbo Lu <yangbo...@nxp.com>
> > ---
> > Changes for v2:
> >     - None.
> > ---
> >  drivers/mmc/mmc.c | 2 ++
> >  include/mmc.h     | 1 +
> >  2 files changed, 3 insertions(+)
> >
> > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index
> > a53f93a..a18e75d 100644
> > --- a/drivers/mmc/mmc.c
> > +++ b/drivers/mmc/mmc.c
> > @@ -1976,7 +1976,9 @@ static int mmc_select_hs400(struct mmc *mmc)
> >     mmc_set_clock(mmc, mmc->tran_speed, false);
> >
> >     /* execute tuning if needed */
> > +   mmc->hs400_tuning = 1;
> >     err = mmc_execute_tuning(mmc,
> > MMC_CMD_SEND_TUNING_BLOCK_HS200);
> > +   mmc->hs400_tuning = 0;
> >     if (err) {
> >             debug("tuning failed\n");
> >             return err;
> > diff --git a/include/mmc.h b/include/mmc.h index 161b8bc..2399cc2 100644
> > --- a/include/mmc.h
> > +++ b/include/mmc.h
> > @@ -707,6 +707,7 @@ struct mmc {
> >                               * accessing the boot partitions
> >                               */
> >     u32 quirks;
> > +   u8 hs400_tuning;
> >  };
> >
> >  struct mmc_hwpart_conf {
> > --
> > 2.7.4

Reply via email to