mmc: sdhci: Improve external VDD regulator support
authorTim Kryger <tim.kryger@gmail.com>
Wed, 25 Jun 2014 07:25:34 +0000 (00:25 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 9 Jul 2014 09:26:09 +0000 (11:26 +0200)
commit52221610dd84dc3e9196554f0292ca9e8ab3541d
tree637b2ea5465d7e8b1a08afb31d0ba1c497c3bebd
parent87a0f46a0e1c048ecf964e0ef020cca3d6daba2f
mmc: sdhci: Improve external VDD regulator support

A standard compliant SDHCI can itself supply VDD at 1.8, 3.0, or 3.3v.
Several vendors ignore this and instead rely upon external regulators
to supply VDD.  While the external regulators typically can supply one
of the standard SDHCI voltage levels, there is no real reason for this
to be a hard requirement.

This patch alters the SDHCI driver such that external VDD regulators
that provide voltages other than the three mentioned above may be used
so long as they can supply a voltage that meets the needs of the card.

In the case that an external VDD regulator is provided, it is reasonable
to ignore the voltage capabilities of the host controller and allow the
external regulator to set the OCR mask.  Additionally, there is no need
to convert a VDD voltage request into one of the standard SDHCI voltage
levels or program it in the host controller's power control register.

Signed-off-by: Tim Kryger <tim.kryger@gmail.com>
Tested-by: Sachin Kamat <spk.linux@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c