linux/drivers/mmc/host
Zhoujie Wu 8d876bf472 mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable
According to SD spec 3.00 3.6.1 signal voltage switch
procedure step 6~8,
(6) Set 1.8V Signal Enable in the Host Control 2 register.
(7) Wait 5ms. 1.8V voltage regulator shall be stable within this period.
(8) If 1.8V Signal Enable is cleared by Host Controller, go to step (12).
Host should wait 5ms after set 1.8V signal enable bit in
Host Control 2 register and check if 1.8V is stable or not.

But current code checks this bit right after set it.
On some platforms with xenon controller found the bit is
cleared right away and host reports "1.8V regulator output
did not became stable" and 5ms delay can help.

Implement voltage_switch callback for xenon controller to add 5ms
delay to make sure the 1.8V signal enable bit is set by controller.

Signed-off-by: Zhoujie Wu <zjwu@marvell.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-12-19 08:53:04 +01:00
..
android-goldfish.c mmc: android-goldfish: remove duplicate includes 2017-12-18 13:56:59 +01:00
atmel-mci.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
au1xmmc.c
bcm2835.c mmc: bcm2835: constify mmc_host_ops structures 2017-08-30 14:01:45 +02:00
bfin_sdh.c
cavium-octeon.c mmc: cavium-octeon: Convert to use module_platform_driver 2017-08-30 15:03:38 +02:00
cavium-thunderx.c mmc: cavium: Fix use-after-free in of_platform_device_destroy 2017-09-08 15:38:22 +02:00
cavium.c mmc: cavium: catch all errors when getting regulators 2017-10-30 11:50:33 +01:00
cavium.h
cb710-mmc.c
cb710-mmc.h
cqhci.c mmc: cqhci: support for command queue enabled host 2017-12-11 12:44:34 +01:00
cqhci.h mmc: cqhci: Ensure macro parameters are wrapped in parentheses 2017-12-11 13:11:21 +01:00
davinci_mmc.c mmc: davinci: constify mmc_host_ops structures 2017-08-30 14:01:41 +02:00
dw_mmc-exynos.c mmc: dw_mmc: use the 'slot' instead of 'cur_slot' 2017-06-29 17:14:26 +02:00
dw_mmc-exynos.h
dw_mmc-k3.c mmc: dw_mmc-k3: make array hs_timing_cfg static 2017-10-30 11:46:01 +01:00
dw_mmc-pci.c
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc-rockchip: parse rockchip, desired-num-phases from DT 2017-06-29 17:13:59 +02:00
dw_mmc-zx.c
dw_mmc-zx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dw_mmc.c mmc: dw_mmc: Convert timers to use timer_setup() 2017-11-02 15:20:44 +01:00
dw_mmc.h mmc: dw_mmc: correct outdated comment for use_dma 2017-10-30 11:45:55 +01:00
jz4740_mmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
Kconfig mmc: renesas_sdhi: remove wrong depends on to enable compile test 2017-12-18 13:56:56 +01:00
Makefile mmc: renesas_sdhi: consolidate DMAC CONFIG options 2017-12-15 09:30:38 +01:00
meson-gx-mmc.c mmc: meson-gx-mmc: Fix platform_get_irq's error checking 2017-12-15 09:13:16 +01:00
meson-mx-sdio.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mmc_spi.c
mmci_qcom_dml.c
mmci_qcom_dml.h
mmci.c mmc: mmci: catch all errors when getting regulators 2017-10-30 11:50:35 +01:00
mmci.h
moxart-mmc.c mmc: moxart: constify mmc_host_ops structures 2017-08-30 14:01:41 +02:00
mtk-sd.c mmc: mediatek: perfer to use rise edge latching for cmd line 2017-11-02 15:20:27 +01:00
mvsdio.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mvsdio.h
mxcmmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mxs-mmc.c
of_mmc_spi.c mmc: of_mmc_spi: fix restricted cast warning of sparse 2017-08-30 14:01:45 +02:00
omap_hsmmc.c mmc: omap_hsmmc: catch all errors when getting regulators 2017-10-30 11:50:36 +01:00
omap.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
pxamci.c mmc: Delete bounce buffer handling 2017-10-04 10:22:55 +02:00
pxamci.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
renesas_sdhi_core.c mmc: tmio,renesas_sdhi: move ssc_tappos to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
renesas_sdhi_internal_dmac.c mmc: tmio, renesas_sdhi: move Renesas-specific DMA data to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
renesas_sdhi_sys_dmac.c mmc: tmio, renesas_sdhi: move Renesas-specific DMA data to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
renesas_sdhi.h mmc: tmio,renesas_sdhi: move ssc_tappos to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
rtsx_pci_sdmmc.c mmc: rtsx: fix tuning fail on gen3 PCI-Express 2017-10-30 11:45:53 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: make array 'width' static const 2017-08-30 14:01:27 +02:00
s3cmci.c mmc: s3cmci: Fix platform_get_irq's error checking 2017-12-15 09:13:16 +01:00
s3cmci.h
sdhci_f_sdh30.c sdhci-fujitsu: add support for setting the CMD_DAT_DELAY attribute 2017-11-07 13:43:23 +01:00
sdhci-acpi.c mmc: sdhci-acpi: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: constify sdhci_pltfm_data and sdhci_ops structures 2017-08-30 14:01:52 +02:00
sdhci-brcmstb.c mmc: sdhci: enable/disable the clock in sdhci_pltfm_suspend/resume 2017-08-30 15:03:44 +02:00
sdhci-cadence.c mmc: sdhci-cadence: use bitfield access macros for cleanup 2017-10-30 11:50:32 +01:00
sdhci-cns3xxx.c
sdhci-dove.c
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: Remove the ENGcm07207 workaround 2017-06-20 10:30:34 +02:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: support ESDHC_CAPABILITIES_1 accessing 2017-08-30 15:03:36 +02:00
sdhci-iproc.c mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read 2017-05-22 18:18:04 +02:00
sdhci-msm.c mmc: sdhci-msm: Optionally wait for signal level changes 2017-11-23 14:39:26 +01:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add sdhci_arasan_set_power 2017-12-11 12:48:06 +01:00
sdhci-of-at91.c mmc: sdhci-of-at91: make function sdhci_at91_set_uhs_signaling static 2017-10-30 11:46:01 +01:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix the mmc error after sleep on ls1046ardb 2017-12-11 12:53:06 +01:00
sdhci-of-hlwd.c
sdhci-omap.c mmc: sdhci-omap: make three functions static, fixes warnings 2017-10-02 08:18:11 +02:00
sdhci-pci-core.c mmc: sdhci-pci: Add CQHCI support for Intel GLK 2017-12-11 12:44:35 +01:00
sdhci-pci-data.c
sdhci-pci-o2micro.c mmc: sdhci-pci: Tidy o2micro definitions 2017-10-30 11:50:41 +01:00
sdhci-pci.h MMC core: 2017-11-13 10:17:35 -08:00
sdhci-pic32.c mmc: sdhci: constify sdhci_pltfm_data structures 2017-08-30 14:01:51 +02:00
sdhci-pltfm.c mmc: sdhci-pltfm: export sdhci_pltfm_suspend/resume 2017-08-30 15:03:45 +02:00
sdhci-pltfm.h mmc: sdhci-pltfm: export sdhci_pltfm_suspend/resume 2017-08-30 15:03:45 +02:00
sdhci-pxav2.c mmc: sdhci-pxav2: switch to managed clk and sdhci_pltfm_unregister() 2017-08-30 15:03:44 +02:00
sdhci-pxav3.c mmc: sdhci: constify sdhci_pltfm_data structures 2017-08-30 14:01:51 +02:00
sdhci-s3c.c mmc: sdhci-s3c: Fix driver data for Exynos4 SoCs 2017-10-30 11:46:00 +01:00
sdhci-sirf.c mmc: sdhci: enable/disable the clock in sdhci_pltfm_suspend/resume 2017-08-30 15:03:44 +02:00
sdhci-spear.c mmc: sdhci-spear: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
sdhci-st.c mmc: sdhci-st: explicitly request exclusive reset control 2017-08-30 14:01:37 +02:00
sdhci-tegra.c mmc: tegra: Mark 64 bit dma broken on Tegra186 2017-10-30 11:40:07 +01:00
sdhci-xenon-phy.c mmc: sdhci-xenon: Support HS400 Enhanced Strobe feature 2017-08-30 15:03:43 +02:00
sdhci-xenon.c mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable 2017-12-19 08:53:04 +01:00
sdhci-xenon.h mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock 2017-10-04 10:50:36 +02:00
sdhci.c mmc: sdhci: Avoid swiotlb buffer being full 2017-11-28 20:29:24 +01:00
sdhci.h mmc: sdhci: Add quirk to indicate MMC_RSP_136 has CRC 2017-08-30 15:03:43 +02:00
sdricoh_cs.c mmc: sdricoh_cs: constify mmc_host_ops structures 2017-08-30 14:01:44 +02:00
sh_mmcif.c mmc: sh_mmcif: constify mmc_host_ops structures 2017-08-30 14:01:42 +02:00
sunxi-mmc.c mmc: sunxi-mmc: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
tifm_sd.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
tmio_mmc_core.c mmc: tmio: move mmc_gpio_request_cd() before mmc_add_host() 2017-12-18 13:56:58 +01:00
tmio_mmc.c mmc: tmio: set tmio_mmc_host to driver data 2017-12-18 13:56:57 +01:00
tmio_mmc.h mmc: tmio: change bus_shift to unsigned int 2017-12-19 08:50:04 +01:00
toshsd.c mmc: toshsd: constify mmc_host_ops structures 2017-08-30 14:01:42 +02:00
toshsd.h
usdhi6rol0.c mmc: usdhi6rol0: catch all errors when getting regulators 2017-10-30 11:50:37 +01:00
ushc.c
via-sdmmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
vub300.c mmc: vub300: Use common code in __download_offload_pseudocode() 2017-11-02 15:20:29 +01:00
wbsd.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Handle return value of clk_prepare_enable 2017-08-30 14:01:55 +02:00