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? Regards, Christoph > Thanks, > Peng. > > > + return ret; ...

