mmc: Add support for JMicron 388 SD/MMC controller
authorTakashi Iwai <tiwai@suse.de>
Wed, 8 Dec 2010 09:04:30 +0000 (10:04 +0100)
committerChris Ball <cjb@laptop.org>
Sun, 9 Jan 2011 03:48:04 +0000 (22:48 -0500)
commit8f230f454fe04ba326ffaead3a6b88dcf44eaf4b
tree9f5c43b48aa84131f7b94b44e4d500e0ec271ba0
parent150ee73d1b35936aafc5fd3b39a7291b1f66de07
mmc: Add support for JMicron 388 SD/MMC controller

JMicron 388 SD/MMC combo controller supports the 1.8V low-voltage for
SD, but MMC doesn't work with the low-voltage, resulting in an error
at probing.

This patch adds the support for multiple voltage mask per device type,
so that SD works with 1.8V while MMC forces 3.3V.  Here new ocr_avail_*
fields for each device are introduced, so that the actual OCR mask is
switched dynamically.

Also, the restriction of low-voltage in core/sd.c is removed when the
bit is allowed explicitly via ocr_avail_sd mask.

This patch was rewritten from scratch based on Aries' original code.

Signed-off-by: Aries Lee <arieslee@jmicron.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c
drivers/mmc/host/sdhci-pci.c
drivers/mmc/host/sdhci.c
include/linux/mmc/host.h
include/linux/mmc/sdhci.h
include/linux/pci_ids.h