
On 10/23/2012 06:50 PM, Marek Vasut wrote:
Dear Huang Changming-R66093,
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.
This problem is MMC subsystem's bug. I think good that will modify the code in mmc.c. If caps is set to MMC_MODE_4BIT | MMC_MODE_8BIT, we can see the 12bit support with using "mmcinfo" command
Best Regards, Jaehoon Chung
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, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot