u-boot/drivers/mmc
Haibo Chen 8915891b77 MLK-21176 mmc: correct the HS400 initialization process
After the commit b9a2a0e2e9 ("mmc: Add support for downgrading
HS200/HS400 to HS mode"), it add a parameter in mmc_set_card_speed()
which indicates that the HS200/HS400 to HS downgrade is happening.

During the HS400 initialization, first select to HS200, and config
the related clock rate, then downgrade to HS mode. So here also need
to config the downgrade value to be true, make sure in the function
mmc_set_card_speed(), after switch to HS mode, first config the
clock rate, then read the EXT_CSD. Otherwise read EXT_CSD in HS mode
at wrong clock rate, e.g. 200MHz, may lead to uncertain result.

Test on i.MX8QM MEK board, some Micron eMMC will stuck in transfer
mode in this case, and USDHC will never get data transfer complete
status, cause the uboot hang.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 0ba8e1c6efa2e9c34c9b54105d6c50ee293ec1d7)
2019-03-19 11:19:54 +08:00
..
Kconfig MLK-18161-15 mmc: Add HS400 Enhanced Strobe mode support 2018-04-27 06:14:45 -07:00
Makefile mmc: Add bcm2835 sdhost controller 2018-01-28 12:27:32 -05:00
arm_pl180_mmci.c mmc: arm_pl180_mmci: add .getcd callback 2017-11-17 07:44:13 -05:00
arm_pl180_mmci.h mmc: arm_pl180_mmci: add .getcd callback 2017-11-17 07:44:13 -05:00
atmel_sdhci.c mmc: atmel_sdhci: not on capabilities to set gck rate 2017-11-29 22:30:50 -05:00
bcm2835_sdhci.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
bcm2835_sdhost.c mmc: Add bcm2835 sdhost controller 2018-01-28 12:27:32 -05:00
davinci_mmc.c mmc: replace CONFIG_GENERIC_MMC with CONFIG_MMC 2017-05-15 18:28:23 +09:00
dw_mmc.c dm: mmc: Drop CONFIG_DM_MMC_OPS 2017-08-17 16:59:55 +09:00
exynos_dw_mmc.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
fsl_esdhc.c MLK-20240-5 fsl_usdhc: Fix fsl_esdhc_get_cd issue 2018-11-12 20:09:51 -08:00
fsl_esdhc_spl.c
ftsdc010_mci.c nds32: ftsdc010: Fix SD detech fail on AE3XX. 2017-11-30 10:04:36 +08:00
ftsdc010_mci.h nds32: ftsdc010: Support ftsdc010 DM. 2017-11-30 10:01:50 +08:00
gen_atmel_mci.c mmc: atmel: when sending a data command, use the provided block size 2018-01-12 18:11:23 +09:00
hi6220_dw_mmc.c treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
kona_sdhci.c mmc: sdhci: Distinguish between base clock and maximum peripheral frequency 2017-01-23 15:37:42 +09:00
meson_gx_mmc.c mmc: meson_gx_mmc: fix the complie error 2018-01-12 18:11:04 +09:00
mmc-uclass.c MLK-18161-15 mmc: Add HS400 Enhanced Strobe mode support 2018-04-27 06:14:45 -07:00
mmc.c MLK-21176 mmc: correct the HS400 initialization process 2019-03-19 11:19:54 +08:00
mmc_boot.c cmd: mmc: add mmc partconf read capability 2017-08-17 17:00:11 +09:00
mmc_legacy.c dm: mmc: Drop CONFIG_DM_MMC_OPS 2017-08-17 16:59:55 +09:00
mmc_private.h mmc: add a Kconfig option to enable the support for MMC write operations 2018-01-12 18:11:24 +09:00
mmc_spi.c mmc: change the set_ios return type from void to int 2017-01-11 19:40:13 +09:00
mmc_write.c dm: mmc: Support erase 2016-10-09 21:36:27 -06:00
msm_sdhci.c wait_bit: use wait_for_bit_le32 and remove wait_for_bit 2018-01-24 12:03:43 +05:30
mv_sdhci.c mmc: sdhci: Distinguish between base clock and maximum peripheral frequency 2017-01-23 15:37:42 +09:00
mvebu_mmc.c mmc: change the set_ios return type from void to int 2017-01-11 19:40:13 +09:00
mxcmmc.c mmc: change the set_ios return type from void to int 2017-01-11 19:40:13 +09:00
mxsmmc.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
nds32_mmc.c nds32: mmc: Support ftsdc010 DM. 2017-11-30 09:59:09 +08:00
omap_hsmmc.c mmc: omap_hsmmc: use a default 52MHz max clock rate if none is specified 2018-02-26 10:52:15 +09:00
pci_mmc.c mmc: Support generic PCI SD host controller 2017-08-18 15:37:38 +09:00
pic32_sdhci.c dm: Fix up inclusion of common.h 2017-06-01 07:03:03 -06:00
pxa_mmc_gen.c mmc: change the set_ios return type from void to int 2017-01-11 19:40:13 +09:00
rockchip_dw_mmc.c rockchip: mmc: convert to livetree 2017-09-18 20:40:34 +02:00
rockchip_sdhci.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
rpmb.c MLK-18591-5 android: iot: Export eMMC RPMB interface for Secure Storage proxy 2018-06-13 03:06:46 -07:00
s5p_sdhci.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
sandbox_mmc.c dm: mmc: sandbox: Update SD card emulation 2018-01-12 18:11:04 +09:00
sdhci-cadence.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
sdhci.c mmc: sdhci: change data transfer failure into debug message 2018-01-22 14:11:58 +09:00
sh_mmcif.c mmc: change the set_ios return type from void to int 2017-01-11 19:40:13 +09:00
sh_mmcif.h ARM: Rmobile: Rename CONFIG_RMOBILE to CONFIG_ARCH_RMOBILE 2016-08-17 10:25:34 +09:00
sh_sdhi.c mmc: sd_sdhi: Enable clock using clock framework 2017-08-17 14:38:18 +09:00
socfpga_dw_mmc.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
sti_sdhci.c sti: fix STMicroelectronics copyright 2017-11-06 09:51:01 -05:00
stm32_sdmmc2.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
sunxi_mmc.c mmc: sunxi: Only update timing mode bit when enabling new timing mode 2017-09-01 19:49:47 +05:30
tangier_sdhci.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
tegra_mmc.c dm: tegra: mmc: Convert to livetree 2017-07-28 12:02:47 -06:00
uniphier-sd.c mmc: uniphier-sd: Add R8A77965 M3N entries 2018-03-05 10:59:37 +01:00
xenon_sdhci.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
zynq_sdhci.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00