
Best Regards Jerry Huang
-----Original Message----- From: Marek Vasut [mailto:marex@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.Huang@freescale.com,
From: Jerry Huang Chang-Ming.Huang@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 afleming@gmail.com CC: Marek Vasut marex@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