linux-hardened/drivers/mmc/host
Tim Kryger 52221610dd 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>
2014-07-09 11:26:09 +02:00
..
android-goldfish.c mmc: remove unnecessary platform_set_drvdata() 2013-05-26 14:23:23 -04:00
atmel-mci-regs.h
atmel-mci.c mmc: atmel-mci: incude asm/cacheclush.h 2014-06-12 10:50:14 +02:00
au1xmmc.c mmc: au1xmmc: Move away from using deprecated APIs 2013-10-30 20:26:35 -04:00
bfin_sdh.c mmc: bfin_sdh: Move away from using deprecated APIs 2013-10-30 20:26:36 -04:00
cb710-mmc.c mmc: cb710: Move away from using deprecated APIs 2013-10-30 20:26:37 -04:00
cb710-mmc.h mmc: host: use platform_{get,set}_drvdata() 2013-06-27 11:13:02 -04:00
davinci_mmc.c mmc: davinci: Remove redundant of_match_ptr 2014-02-25 15:42:55 -05:00
dw_mmc-exynos.c mmc: dw_mmc: exynos: Staticize dw_mci_exynos_pmops 2014-05-12 18:04:30 -04:00
dw_mmc-k3.c mmc: dw_mmc: fix possible build error 2014-03-03 14:00:56 -05:00
dw_mmc-pci.c mmc: dw_mmc-pci: enable bus-mastering mode 2013-08-25 00:10:12 -04:00
dw_mmc-pltfm.c mmc: dw_mmc: Add support for SOCFPGA's platform specific implementation 2014-02-26 21:30:12 -05:00
dw_mmc-pltfm.h
dw_mmc.c mmc: dw_mmc: Don't print data errors 2014-05-22 08:33:31 -04:00
dw_mmc.h mmc: dw_mmc: remove dw_mci_of_cd_gpio/wp_gpio() 2014-05-12 18:04:34 -04:00
jz4740_mmc.c mmc: jz4740: don't wait for PRG_DONE after stop command with R1 response 2014-05-12 18:08:22 -04:00
Kconfig mmc: simplify SDHCI Kconfig dependencies 2014-06-12 10:51:14 +02:00
Makefile The clock framework changes for 3.16 are pretty typical: mostly clock 2014-06-07 20:27:30 -07:00
mmc_spi.c drivers/mmc/host/mmc_spi.c: Use get/put_unaligned_be32 2014-05-16 14:26:52 -04:00
mmci.c mmc: mmci: Add Qualcomm Id to amba id table 2014-07-09 11:25:58 +02:00
mmci.h mmc: mmci: Add Qcom specific rx_fifocnt logic. 2014-07-09 11:25:57 +02:00
moxart-mmc.c mmc: moxart: Remove unneeded version.h inclusion 2014-07-09 11:26:06 +02:00
msm_sdcc.c mmc: msm_sdcc: Move away from using deprecated APIs 2013-10-30 20:26:41 -04:00
msm_sdcc.h
mvsdio.c mmc: mvsdio: avoid compiler warning 2014-06-12 10:50:27 +02:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: Use mmc_regulator_get_supply() API 2014-05-12 18:08:24 -04:00
mxs-mmc.c mmc: mxs: fix card detection function for broken card detect 2014-05-12 18:08:22 -04:00
of_mmc_spi.c mmc: mmc_spi: Support CD/RO GPIOs 2013-08-24 23:45:22 -04:00
omap.c mmc: omap: Use DIV_ROUND_UP instead of open coded 2014-05-22 08:33:31 -04:00
omap_hsmmc.c mmc: omap_hsmmc: Pin remux workaround to support SDIO interrupt on AM335x 2014-07-09 11:26:06 +02:00
pxamci.c mmc: pxamci: Remove redundant suspend and resume callbacks 2013-10-30 20:28:29 -04:00
pxamci.h
rtsx_pci_sdmmc.c MMC highlights for 3.16: 2014-06-10 14:35:22 -07:00
rtsx_usb_sdmmc.c mmc: rtsx: fix possible linking error if built-in 2014-05-12 18:08:23 -04:00
s3cmci.c ARM: s3c24xx: explicit dependency on <plat/gpio-cfg.h> 2014-01-14 15:24:54 +01:00
s3cmci.h
sdhci-acpi.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-bcm-kona.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-bcm2835.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-cns3xxx.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-dove.c mmc: sdhci-dove: use mmc_of_parse() and remove card_tasklet CD handler 2014-05-23 08:42:02 -04:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: fix mmc ddr mode regression issue 2014-05-22 08:40:45 -04:00
sdhci-esdhc.h mmc: sdhci: convert sdhci_set_clock() into a library function 2014-05-22 07:26:32 -04:00
sdhci-msm.c mmc: sdhci-msm: Fix fallout from sdhci refactoring 2014-06-12 10:40:27 +02:00
sdhci-of-arasan.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: Fixup compile error 2014-05-23 09:16:53 -04:00
sdhci-of-hlwd.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-pci-data.c
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support 2014-05-22 08:40:44 -04:00
sdhci-pci-o2micro.h mmc: sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support 2014-05-22 08:40:44 -04:00
sdhci-pci.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-pci.h mmc: sdhci-pci: Fix BYT sd card getting stuck in runtime suspend 2014-01-20 10:31:08 -05:00
sdhci-pltfm.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-pltfm.h mmc: sdhci-pltfm: export pltfm suspend/resume api 2014-01-13 12:48:06 -05:00
sdhci-pxav2.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-pxav3.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-s3c-regs.h mmc: sdhci-s3c: remove platform dependencies 2013-04-19 13:51:23 +02:00
sdhci-s3c.c mmc: sdhci-s3c: use mmc_of_parse and remove the card_tasklet 2014-06-04 18:59:12 -04:00
sdhci-sirf.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-spear.c mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function 2014-05-22 08:33:11 -04:00
sdhci-tegra.c mmc: tegra: fix reporting of base clock frequency 2014-05-23 08:49:29 -04:00
sdhci.c mmc: sdhci: Improve external VDD regulator support 2014-07-09 11:26:09 +02:00
sdhci.h mmc: sdhci: remove platform_suspend/platform_resume callbacks 2014-05-22 08:33:28 -04:00
sdricoh_cs.c mmc: sdricoh_cs: Move away from using deprecated APIs 2013-10-30 20:28:32 -04:00
sh_mmcif.c mmc: sh-mmcif: final error path cleanup 2014-07-09 11:26:02 +02:00
sh_mobile_sdhi.c mmc: sdhi: update sh_mobile_sdhi_of_data for r8a7791 2014-02-22 13:06:23 -05:00
sunxi-mmc.c mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs 2014-06-03 16:52:34 -07:00
tifm_sd.c mmc: tifm_sd: Move away from using deprecated APIs 2013-10-30 20:28:23 -04:00
tmio_mmc.c mmc: tmio_mmc: Convert from legacy to modern PM ops 2014-02-13 22:58:01 -05:00
tmio_mmc.h mmc: tmio: Adapt to proper PM configs for exported functions 2014-02-13 22:58:09 -05:00
tmio_mmc_dma.c mmc: tmio: bus_shift become tmio_mmc_data member 2014-01-13 12:48:23 -05:00
tmio_mmc_pio.c mmc: tmio: Adapt to proper PM configs for exported functions 2014-02-13 22:58:09 -05:00
usdhi6rol0.c mmc: usdhi6rol0: fix compiler warnings 2014-06-12 10:38:50 +02:00
ushc.c mmc: ushc: Fix incorrect parameter in sizeof 2014-02-25 15:42:20 -05:00
via-sdmmc.c mmc: via-sdmmc: Move away from using deprecated APIs 2013-10-30 20:28:36 -04:00
vub300.c mmc: vub300: Move away from using deprecated APIs 2013-10-30 20:26:43 -04:00
wbsd.c mmc: wbsd: Silence compiler warning 2013-11-08 14:32:03 -05:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Remove deprecated IRQF_DISABLED 2014-07-09 11:26:08 +02:00