
On Fri, 11 Apr 2008 13:54:13 -0500 Ken.Fuchs@bench.com wrote:
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.
What they answered was if Atmel would support such a solution, not if the hardware would.
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.
You tell it to use all four bits. That's it. The setting isn't MMC/SD, it's 1-bit/4-bit.
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.
It does not in the slightest. Remember that these controllers are extremely dumb. The low level behaviour of the protocol hasn't changed since the very first specs, so only software needs to be changed to support even the newest features.
Rgds