Hi Andy, 2011/11/26 Andy Fleming <aflem...@gmail.com>
> On Thu, Nov 17, 2011 at 3:31 AM, Macpaul Lin <macp...@andestech.com> > wrote: > > Add a host capability checking to avoid the mmc stack > > switch the card to HIGHSPEED mode when the card supports > > HIGHSPEED while the host doesn't. > > + if (!((mmc->host_caps & MMC_MODE_HS_52MHz) || > > + (mmc->host_caps & MMC_MODE_HS))) > > + return 0; > > + > I wrote this is because I've thought that SD cards usually work at 50MHz when they under high speed mode (MMC_MODE_HS), and MMC cards usually work at 52MHz when they are under high speed mode. I'm not sure if one controller support HS_52MHz for MMC cards will definitely support SD cards under 50MHz. If I'm wrong for the above please correct me. Hence I wrote this to force them working under low speed to avoid problem occur. But I think you're correct, we should use "&&" logic here until there is really a problem for the unbelievable situation I mentioned above that happened. :-p > Isn't this the wrong logic? It seems like you don't want to switch > unless both support high speed. But this logic says to switch if > either one does. > > Shouldn't it be: > > if (!((mmc->host_caps & MMC_MODE_HS_52MHz) && > (mmc->host_caps & MMC_MODE_HS))) > return 0; > > ? > > I'll send patch v2 by using your logic later. Thanks! -- Best regards, Macpaul Lin
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot