Re: MMC Driver RFC
From: Pierre Ossman
Date: Fri Jan 14 2005 - 06:40:35 EST
Nice too see that you're alive Ian ;)
I've been trying to send you some mail regarding your SD implementation
but I haven't received any replies. Perhaps they've gotten lost somewhere?
I've made my own SD patch using some of your work but also a lot of my
own stuff. I had some problems getting your patches to apply cleanly to
the current tree so I reimplemented it using your code as a template.
The patch can be found at:
http://projects.drzeus.cx/wbsd/sd.php
That page also contains the legal issues as I've understood them.
A summary of what I've done (relative your work):
* flags renamed to caps to better reflect what it does.
* SD_4_BITS changed to 4_BIT_DATA. Hopefully 4-bit mode in SD and MMC
will be compatible, at least on the driver level.
* HOST_ changed to MMC_ to conform with the rest of the macros.
* Added a function in the driver to test for SD read-only switch.
* Moved SD-specific commands to a separate section in the header so they
are more easily distinguished.
* SCR register is read from card and used when determining bus width.
* I've separated SD detection a bit.
* The mode (SD/MMC) of the host is stored. Since MMC uses a bus topology
and SD uses a star one it is useful to be able to see which mode the
controller is in.
I also couldn't find the reason for the ACMD flags you've added.
Application commands only differ in semantics, not format, so I couldn't
figure out why these where needed. Perhaps I'm missing something.
Ian Molton wrote:
Unfortunately, such specs only cover MMC cards and not SD cards.
ISTR seeing a SD card doc at some point
I have specs for SD cards from Sandisk and Toshiba. Both found on the
respective manufacturer's site using google. These have been the basis
for my work.
Well I *know* I never saw the specs from the SD forum. I hacve never
reverse engineered a SDHC core driver either (I have reverse engineered
a chip driver but it contained no SD *protocol* information.
as such my code should be 100% safe to commit to the kernel.
My code is based on the SD card specs I've found so it probably isn't as
safe.
Rgds
Pierre
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/