[PATCH v2 1/7] mmc: mxs-mmc: add mmc host driver for i.MX23/28

Shawn Guo shawn.guo at freescale.com
Wed Feb 16 23:17:14 EST 2011


Hi Wolfram,

On Wed, Feb 16, 2011 at 04:33:32PM +0100, Wolfram Sang wrote:
> Hi Shawn,
> 
> [CRC failures on MMC]
> > I guess you will also get the unknown partition table message if you
> > test this card on mx35 right now.
> 
> No, I didn't see that message on MX35. (Doesn't matter much now).
> 
> > I just tested 7 mmc cards in total.  6 cards work fine, and 1 card
> > (Transcend MMC plus 1GB) has the exactly same problem as yours. And
> > if I remove the 8 bit cap, this card also works fine.  So I would
> > agree with Russell that it's unrelated to the driver.
> 
> Ah, the 8_BIT_CAP was the right pointer. It works now and I can see the
> partitions \o/ But IMHO it is related to the driver because it cannot set that
> 8_BIT_DATA_CAP unconditionally? Probably something like 'flags' should be added
> to platform_data? One flag could then be 8_BIT_CAPABLE_SLOT or something.
> 
If a platform is designed to support 8-bit mode (e.g. all 8 data
lines are routed), I do not think the 8-bit cap will be removed from
this platform just because one particular card has problem to work
in 8-bit mode.

But I would anyway let platform_data tell the 4 BIT_CAP and 8_BIT_CAP
just like what Freescale BSP is doing, as some platforms may design
this cap differently.

> > I tested the SDIO, but probably in different way from yours.  I had
> > two card slots on my board, rootfs on mmc0 and SDIO card on mmc1.
> > It seems working fine in this way.  However, when I use nfs and test
> > SDIO on mmc0, my systems hangs too.  I will look into it.
> 
> The latter scenario is the only one I can test, because I don't have an
> (active) second slot.
> 
It's a board thing.  I just rechecked the schematics of mx28evk
board, and found that the power supply of the two slots are
different.  The mmc1 uses the external regulator REG_3V3 which can
supply up to 1.5 A current, while mmc0 uses mx28 internal regulator
VDDIO_3V3 which has very limited current capability.  That's why my
SDIO WiFi card works on mmc1 slot while hangs system on mmc0.  When
I reworked the board to supply mmc0 with REG_3V3, the card works on
mmc0 too.

So your board supplies mmc0 slot with VDDIO_3V3 as well?

-- 
Regards,
Shawn




More information about the linux-arm-kernel mailing list