[U-Boot-Users] drivers MMCplus for at91sam9x

Ken.Fuchs at bench.com Ken.Fuchs at bench.com
Fri Apr 11 20:54:13 CEST 2008


Pierre Ossman wrote:

> Ken Fuchs wrote:
> 
> > The MCI controller on the AT91SAM926x family does not support
> > MMCplus.  There is no way to support a 4 bit bus, since the
> > MCI controller supports only 1 bit to an MMC chip.
> 
> Untrue. The hardware interface is identical for 4-bit SD and 
> 4-bit MMC.
> So if that part isn't working, it's because you either have a bug or
> because you lack 4-bit MMC support entirely in u-boot.

The manual for the AT91SAM926x processors clearly states that the
MCI controller supports MMC 2.2.  I asked Atmel whether this controller
could support 4 bits to an MMC 4.x chip and they said _no_.   The answer
is supposedly from their engineering group in France.

4-bit MMC support can easily be added to U-Boot, but the MCI
controller is MMC 2.2, and this standard only allows for a 1-bit
bus to MMC, so I'm not sure you can make it work at all.  Atmel will
definitely not help you, since they guarantee only MMC 2.2 compliance
with the AT91SAM926x processor family.  Has this changed?

Pierre Ossman omitted the following part of my original response:

> > The MCI will
> > support a 4 bit SD chip, but I don't think it can be tricked
> > into working with a 4 bit MMC chip (at least not via software
> > alone).

How does one program the MCI controller to send 4 bit (parallel) data
an MMC 4.x chip, with or without telling it that it is communicating
to a 4-bit SD chip?  The only way to get 4 bits of data out of the MCI
is to tell it that it is connected to a SD (1.0) chip.  If you program
the MCI to communicate with an MMC chip, it will send data out only on
the low order bit.

If you have a way around this, please let us know what it is.

> All compliant cards above 2 GB require special handling. They use a
> system identical to SDHC (except for the init). Check the specs (this
> part is publicly available) or the Linux code.

Both ends of the communication link must considered.  It may not be
sufficient that the MMC chip is MMC 4.x; The fact that the MCI
controller is only MMC 2.2 or SD 1.0 compliant, may or may not impact
this special handling.

Sincerely,

Ken Fuchs




More information about the U-Boot mailing list