Oh dear, oh dear, looks like I’m finally back to reverse engineering things again. The media reader in my new laptop supports MMC/SD/MemoryStick/XD cards. However under linux, only SD cards are supported as the manufacturer (Ricoh) won’t release the docs. I won’t be having this.
The SD support is possible because the card uses the SDHCI host controller spec from from The SD card association, who have kindly made the interface public.
Last night I successfully determined that the MMC support is using exactly the same interface as SDHCI, except with some pieces missing (notably DMA and the SDHCI capabilities stuff). Some 4am driver hacking later, and I can now read MMC cards.
I’ve just acquired some XD and MS cards, and I’m going to play with the XD ones first. Some other people have been working in this space:
* XD cards are just NAND flashes in a custom form factor.
* This project has already determined the flash layout while supporting different device, which will save me some time.
* There is an incomplete linux memorystick stack for linux under development here, for a different host controller, which should save some time also!