mmc: sdhci: add quirk for lack of 1.8v support
authorDaniel Drake <dsd@laptop.org>
Sun, 25 Nov 2012 18:01:19 +0000 (13:01 -0500)
committerChris Ball <cjb@laptop.org>
Thu, 6 Dec 2012 18:55:04 +0000 (13:55 -0500)
commit6a66180a252f5856fc25de69c6313831f343f50f
treee25b03a4cde9e28b229c6ff5418aa93b6ed08d11
parentb0afd8f68adf6a9b671b0420ab9116a36409ef7f
mmc: sdhci: add quirk for lack of 1.8v support

The OLPC XO-1.75 laptop includes a SDHCI controller which is 1.8v
capable, and it truthfully reports so in its capabilities. This
alternate voltage is used for driving new "UHS-I" SD cards at their
full speed.

However, what the controller doesn't know is that the motherboard
physically doesn't have a 1.8v supply available.

Add a quirk so that systems such as this one can override disable
1.8v support, adding support for UHS-I cards (by running them at
3.3v).

This avoids a problem where the system would first try to run the
card at 1.8v, fail, and then not be able to fully reset the card
to retry at the normal 3.3v voltage.

This is more appropriate than using the MISSING_CAPS quirk, which
is intended for cases where the SDHCI controller is actually lying
about its capabilities, and would force us to somehow override both
caps words from another source.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Reviewed-by: Philip Rakity <prakity@nvidia.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci.c
include/linux/mmc/sdhci.h