[GSoC 2018]:SDHCI MMC Driver | Haiku Project


Hello everyone! I am B Krishnan Iyer(irc: krish-iyer, telegram: krish_iyer trac: krish_iyer, github: krish-iyer), currently pursuing bachelor's in Electrical and Electronics Engineering at Amrita University. I am one of the three GSoC participants with Haiku. I am greatful to everyone for accepting me as an intern. This summer I will be developing SDHCI MMC driver.

This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/krish_iyer/2018-04-25_gsoc_2018sdhci_mmc_driver/


Many laptops have SDHCI controllers… might be easier to find one that does and test there.

From what I’ve read there at at least Broadcom, Realtek, Ricoh, and TI controllers… used in various laptops that are supported by the Linux SDHCI driver. Some of these apparently have some quirks as well… you might want to poll Haiku developers to see if any have one they can test.


qemu is not hard to test at all. In fact it is common to use it when writing drivers, because you can build on your host system and test in a VM very easily.

I do have one such laptop but it is used for other purposes currently. And it is about 10 years old. All other laptops I owned since then use an USB based SD card reader.


That’s just a fluke… It probably depends on the particular laptop configuration and if they had spare PCI lanes on the chipset or it was easier to just add it to a USB hub or omit it entirely.

New laptops certainly still include SDHCI controllers it’s not like they’ve went the way of the dodo or anything.

I’m just pointing this out as saying that SDHCI is only relevant to embedded ARM boards etc… is not accurate as they are relatively common on a wide range of laptops for at least 10-15 years to present.


Anyway, part of the goals of this project is to split the actual bus from the MMC layer.
I guess on ARM, using an FDL a similar SPI or I2C or whatever bus driver could be write in the future that will join the busses supported by MMC layer and, hence, the MMC block disk driver.