RFC: PCI SD host controller driver & mmc/mmcsd modules
M. Warner Losh
imp at bsdimp.com
Sun Sep 28 09:30:45 UTC 2008
In message: <48DEA8E7.2080503 at FreeBSD.org>
Alexander Motin <mav at FreeBSD.org> writes:
: I would like to present initial revision of my generic PCI SD Host
: Controller driver (sdhci). It support PCI devices with class 8 and
: subclass 5 according to SD Host Controller Specification. With some
: limitations it successfully works on my Acer TM6292 notebook with ENE
: CB714 card reader.
: Things that are working now:
: - PIO mode single and multiple block read and write,
: - 1 and 4 bits bus width support.
: In PIO mode with 4GB SD card on 30MHz 4bit bus I have reached about
: 3.5MB/s (limited by CPU) linear read and 7MB/s (limited by card) linear
: write. Small blocks read/write performance limited by card.
: Things that are not working yet:
: - DMA modes (code is written, but as my controller looks like has
: broken DMA I have no ability to debug it),
: - card insert/remove detection (need more thinking), you should reload
: mmc module to rescan cards,
: - SDHC and MMC cards (have no such cards now to debug that code), only
: standard capacity SD Memory cards up to 4GB size are supported now,
: - high speed (double rate) bus mode (need more thinking and DMA support).
: Also to get such results I have improved existing mmc and mmcsd drivers
: a bit. mmc driver got:
: - 4 bit bus width support,
: - write protection switch support,
: - cards with more then 2GB capacity support.
: mmcsd driver got:
: - multiple block read and write support,
: - cards with more then 2GB capacity support,
: - I/O error reporting,
: - write protection switch support.
: Latest patches against 8-CURRENT (should also fit 7-STABLE) may be found at:
: I will be grateful for any feedbacks, comments and support.
I'll take a look at the driver and post a code review...
More information about the freebsd-current