[U-Boot] [PATCH] powerpc/esdhc: force the bus width to 4bit

Huang Changming-R66093 r66093 at freescale.com
Wed Oct 24 05:11:14 CEST 2012


> > > Dear Chang-Ming.Huang at freescale.com,
> > >
> > > > From: Jerry Huang <Chang-Ming.Huang at freescale.com>
> > > >
> > > > For the current u-boot codes, only 4bit/1bit SD/SDHC bus width is
> > >
> > > support.
> > >
> > > > So for MMC card, we also support 4bit bus width, otherwiase, we
> > > > will
> > >
> > > > get the 12bit bus width, which is not correct:
> > > Andy ... can you please explain? I don't quite understand the
> > > problem, I thought we had no problem supporting 8bit mmc (esp. if
> > > the controller handles that for us mostly).
> >
> > Yes, the controller support 8bit MMC.
> >
> > FSL ESDHC driver set the host_caps = MMC_MODE_4BIT | MMC_MODE_8BIT;
> > But, the current codes for MMC card has been changed to:
> >
> > } else {
> > 	width = ((mmc->host_caps & MMC_MODE_MASK_WIDTH_BITS) >>
> >                          MMC_MODE_WIDTH_BITS_SHIFT);
> > 	for (; width >= 0; width--) {
> > 	....
> >
> > So for FSL ESDHC, the width = 3, after implement mmc_switch
> > successfully, will set the bus to 4 * width. Therefore, I will get the
> > 12bit (4 x 3) bus width.
> >
> > Below is the old codes (width = 2):
> > } else {
> >                 for (width = EXT_CSD_BUS_WIDTH_8; width >= 0; width--)
> > {
> [...]
> 
> 
> Uh, so it's a bug in the MMC subsystem?
> Best regards,

I don't know. Maybe Andy can give some comment.



More information about the U-Boot mailing list