A reworked and massively improved MultiMediaCard subsystem was announced for the 2.6.24 kernel release. SDIO and SPI are about to be supported natively for the first time and will hopefully provide the way for many more drivers.
Pierre Ossman, the MultiMediaCard (MMC) subsystem maintainer, announced the new related patches for the Linux kernel almost two weeks ago. He described the patchset as “probably … one of the biggest ones for the MMC layer
so far” and highlighted the SDIO and SPI support as the major improvements.
Secure Digital Input Output (SDIO) describes a way to use the SD card slot not only for SD cards but also for other devices which are designed for this form factor. The range of possible applications ranges from GPS receivers over small cameras to network or Wi-Fi adapters:
(Photo taken by Andreas Frank Afrank99 and released under Creative Commons Attribution ShareAlike 2.0).
With the new SDIO stack Linux finally has its own stack and is therefore independent from proprietary implementations:
Gone are the days of having to rely on proprietary stacks for SDIO support in Linux. So no more spotty support for hosts and possible GPL problems.
As a result we can expect better support of the mentioned device types for the future. But first of course the drivers have to be ported and that will take some time. This also depends on how well the standard is implemented in the devices. As Pierre points out this might be a problem and that the driver maintainers have to keep an eye on it.
Still, a set of ported drivers is already ready: sdio_uart is a driver for standarized GPS and UART interfaces (with the second not tested at announcement time), libertas_sdio supports Marvell’s 8686 Libertas wifi chip and hci_sdio supports standardized bluetooth interfaces.
Especially the first one is aiming at standardized devices which will make it easier to use entire sets of devices.
With the new Serial Peripheral Interface Bus (SPI) support users will now be able to use their SPI controllers for MMC, SD and SDIO.
However, the question if specific hardware is really supported by the new SPI support depends on the quality of the standard implementation in the hardware. Pierre Ossman has as least one card that doesn’t work in SPI mode.
Nice to see that another Linux kernel subsystem is reworked to reach a firm and solid base. While there is quite some work going on in the graphics world I wonder what the plans for ALSA are.