
Pierre Savary wrote:
Then my MMC 4GB works with my Linux kernel but if I can't load my kernel (located on the first part of this MMC) ... it's not really interesting :(
So, somebody does already use MMC v4 with U-boot???
Assuming a AT91SAM926x MCI controller:
Probably. Given an MMC v2.x compliant U-Boot driver, it would be relatively easy to add support for an MMC v4.x chip. If there is an MMC v4.x compliant Linux driver, it could be ported to U-Boot (Many, if not most, U-Boot drivers are ports from the corresponding Linux driver.) Alternatively, if both an MMC v2.x compliant U-Boot driver and MMC v4.x compliant Linux driver exist, the port would be trivial; just copy the MMC v4.x Linux code into the corresponding places in the MMC v2.2 U-Boot driver until it supports your MMC v4.x chip.
Such an MMC v4.x U-Boot AT91SAM926x MCI driver should be able to support any v4.x MMC chip, at least via a one bit MMC bus. (I remain unconvinced that the AT91SAM926x MCI controller can support a 4 bit MMC bus; only a working MCI driver using a 4 bit MMC bus verified by a logic analyzer or similar compliance/debugging device would be convincing enough.)
If the Linux AT91SAM926x MCI driver supports a 4 bit MMC bus, then the U-Boot AT91SAM926x MCI driver can borrow the Linux driver's code and support a 4 bit bus also.
Sincerely,
Ken Fuchs
-----Message d'origine----- De : u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] De la part de Pierre Ossman Envoyé : samedi 12 avril 2008 11:28 À : Ken.Fuchs@bench.com Cc : pierre.savary@kerlink.fr; u-boot-users@lists.sourceforge.net Objet : Re: [U-Boot-Users] drivers MMCplus for at91sam9x
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
-- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org PulseAudio, core developer http://pulseaudio.org rdesktop, core developer http://www.rdesktop.org
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java
.sun.com/javao ne _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users