AW: [PATCH] mmc: Fix missing 1 ms delay after mmc power up
Christoph Stoidner
C.Stoidner at phytec.de
Fri Nov 28 13:38:53 CET 2025
Hi Peng,
On Di, 2025-11-18 at 12:56 +0800, Peng Fan wrote:
> On Mon, Nov 10, 2025 at 08:46:39PM +0000, Christoph Stoidner wrote:
> > Hi Peng, thanks for your feedback.
> >
> > > Hi Christoph
> > >
> > > Thanks for your patch.
> > >
> > > > Subject: [PATCH] mmc: Fix missing 1 ms delay after mmc power up
> > ...
> > > > + udelay(2000);
> > >
> > > Per spec,
> > > From Figure 6-4: Power-up Diagram of Card
> > > the 1ms is voltageSupply ramp up time, so I am thinking the fix
> > > should be in your regulator side, saying startup-delay-us
> > > property
> > > in your regulator node.
> >
> > True, this could also be handled via the regulator?s DTS
> > properties, and
> > some boards already do that. However, from my point of view, that?s
> > not
> > the right place for this particular delay.
> >
> > The SD specification distinguishes between two different delays
> > (see Figure 6-5 ?Power-Up Diagram (Host)? in SD Spec 6.00, ?6.4.1):
> >
> > 1) "Power ramp up"
> > 2) "Stable voltage delay"
> >
> > The first one (power ramp up) is regulator-specific and should
> > indeed be
> > covered by the regulator?s startup-delay-us property in the device
> > tree.
> > But this patch is about the second one - the "stable voltage
> > delay".
> >
> > That delay is completely independent of any regulator/voltage-
> > supply or
> > board characteristics; it is a constant 1ms delay by the SD
> > interface itself
> > to ensure correct card initialization timing.
> > Decoupling it from the regulators would make board-code developers
> > live easier, and can make U-Boot?s MMC initialization more robust
> > across
> > all boards.
> >
> > What do you think about that?
>
> Sorry for late.
> Thanks for explaining this, this is reasonable. I am thinking it
> might be better
> if we add ios.post_power_delay_ms for your platform.
you mean we should introduce the DTS property post_power_delay_ms for
mmc and then use it in our platform's DTS?
But a DTS property is actually what I want to avoid, because that delay
is nothing platform-specific and should be solved all for one in the
mmc subsystem drivers/mmc/mmc.c itself.
What's the reason why you prefer a DTS property?
Regards,
Christoph
>
> Regards
> Peng
>
> >
> > Regards,
> > Christoph
> >
> > > Thanks,
> > > Peng.
> > >
> > > > + return ret;
> > ...
More information about the U-Boot
mailing list