[U-Boot] [PATCH] mmc: Set the initial clock speed to 400KHz

Phil Edworthy phil.edworthy at renesas.com
Thu May 25 14:14:47 UTC 2017


Hi Jaehoon Chung,

On 25 May 2017 15:10 Jaehoon Chung wrote:
> On 05/25/2017 11:02 PM, Phil Edworthy wrote:
> > On 25 May 2017 14:50 Jaehoon Chung wrote:
> >> On 05/24/2017 10:54 PM, Phil Edworthy wrote:
> >>> The code currently defaults to the slowest clock speed that can be
> >>> achieved, which can be significantly lower than the SD spec.
> >>
> >> Is there any problem..As i know, it should be changed from 1 to min_clk.
> > The only problem is that the initial SD clock can be very slow so it
> > increases the time to start SD. Admittedly, it's a very small increase
> > in time, but we should use the correct initial clock speed.
> 
> Well..i didn't agree yet...
> 
> If mmc_set_clock(mmc, 400K) and mmc->cfg->f_min is 300K?
> Initial clock should be always 400K..but spec is mentioned "initial clock is
> maximum 400K.."
> It means the clock can be the value under 400K.
I'm not sure I follow you.
The spec means that all SD cards must support an initial clock speed of 400KHz, right?
If so, then there is no harm in setting it to 400KHz.

Thanks
Phil

> >>> Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
> >>> ---
> >>>  drivers/mmc/mmc.c | 2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index
> >>> 72fc177..dff1be3 100644
> >>> --- a/drivers/mmc/mmc.c
> >>> +++ b/drivers/mmc/mmc.c
> >>> @@ -1676,7 +1676,7 @@ int mmc_start_init(struct mmc *mmc)  #endif
> >>>  	mmc->ddr_mode = 0;
> >>>  	mmc_set_bus_width(mmc, 1);
> >>> -	mmc_set_clock(mmc, 1);
> >>> +	mmc_set_clock(mmc, 400000);
> >>>
> >>>  	/* Reset the Card */
> >>>  	err = mmc_go_idle(mmc);
> >>>
> >
> >
> >
> >



More information about the U-Boot mailing list