[U-Boot] [PATCH] sunxi: mmc: Fix clk-delay settings
Ian Campbell
ijc+uboot at hellion.org.uk
Thu Sep 24 12:29:46 CEST 2015
On Thu, 2015-09-24 at 12:01 +0200, Hans de Goede wrote:
> Hi,
>
> On 24-09-15 11:40, Ian Campbell wrote:
> > On Wed, 2015-09-23 at 21:59 +0200, Hans de Goede wrote:
> > > In recent allwinner kernel sources the mmc clk-delay settings have
> > > been
> > > slightly tweaked, and for sun9i they are completely different then
> > > what
> > > we are using.
> > >
> > > This commit brings us in sync with what allwinner does, fixing
> > > problems
> > > accessing sdcards on some A33 devices (and likely others).
> > >
> > > For pre sun9i hardware this makes the following changes:
> > > -At 400Khz change the sample delay from 7 to 0 (first introduced in
> > > A31 sdk)
> >
> > This one applied to sun9i as well as pre I think?
> >
> > > -At 50 Mhz change the sample delay from 5 to 4 (first introduced in
> > > A23 sdk)
> >
> > By my reading it also changes oclk from 2 to 1 on <sun9i @ >50MHz.
>
> Right, I did not list that as we never do > 50MHz,
But the being changed here does handle that (the else hz > 50000000 case)
and that is changing even if we somehow coincidentally arrange that this
code is never used today I think it is worth mentioning so that if it does
become used we have the history of when/why it was changed.
> later on in the code
> we've:
>
> cfg->f_max = 52000000;
>
> And that 52 is somewhat symbolically there, it is meant for 52MHz sdio
> where as mmc / sdcards run at 50MHz max.
Are these timings used for sdio as well then? That seems worth noting.
>
> > I don't really follow the a/w SDK stuff, is it the case that a given
> > Ann
> > SDK is tested and supported by Allwinner and used on real devices for
> > processors Amm < Ann (chronologically, ?
>
> Yes and no, Allwinner used to have separate kernel sources for each
> die, so one for sun4i, sun5i, sun6i and sun7i.
>
> Recently they have changed to one unified kernel tree though, so all
> of sun6i, sun8i and sun9i build from the same kernel tree. Note that
> sun7i is missing from the list.
>
> > IOW if a change was introduced in the A31 SDK do we then have
> > confidence
> > that it doesn't break A20 due to Allwinners (and their customer's) use
> > of
> > the A31 SDK on A20 or are we relying on our own + community testing?
>
> It is safe to assume that the A23 changes do not break on the A31 since
> that is using the same kernel sources. The changes may cause issues
> on A20 though (A10 / A13 do not use the sample delay bits of the register
> AFAICT). So I've run several tests on A20 and things seem to work fine
> with the new settings there.
Great.
> I believe that the mmc controller and the mmc clock bits really are the
> same over all of A20 / A23 / A31 / A33, and that these new tweaked values
> are better to use everywhere.
>
> Regards,
>
> Hans
>
More information about the U-Boot
mailing list