Best Regards Jerry Huang
> -----Original Message----- > From: Marek Vasut [mailto:ma...@denx.de] > Sent: Tuesday, October 23, 2012 3:24 PM > To: Huang Changming-R66093 > Cc: u-boot@lists.denx.de; Andy Fleming > Subject: Re: [PATCH] powerpc/esdhc: force the bus width to 4bit > > Dear chang-ming.hu...@freescale.com, > > > From: Jerry Huang <chang-ming.hu...@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--) { > > => mmcinfo > > Device: FSL_SDHC > > Manufacturer ID: 1e > > OEM: ffff > > Name: MMC > > Tran Speed: 52000000 > > Rd Block Len: 512 > > MMC version 4.0 > > High Capacity: No > > Capacity: 1.9 GiB > > Bus Width: 12-bit > > > > Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescalecom> > > CC: Andy Fleming <aflem...@gmail.com> > > CC: Marek Vasut <ma...@denx.de> > > --- > > drivers/mmc/fsl_esdhc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index > > 3f8d30d..7b83dd2 100644 > > --- a/drivers/mmc/fsl_esdhc.c > > +++ b/drivers/mmc/fsl_esdhc.c > > @@ -577,7 +577,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct > > fsl_esdhc_cfg *cfg) return -1; > > } > > > > - mmc->host_caps = MMC_MODE_4BIT | MMC_MODE_8BIT; > > + mmc->host_caps = MMC_MODE_4BIT; > > > > if (caps & ESDHC_HOSTCAPBLT_HSS) > > mmc->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS; > > Best regards, > Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot