u-boot-brain/drivers/mmc
Hannes Schmelzer 88a57125fa mmc: sdhci: add SDHCI_QUIRK_BROKEN_HISPD_MODE
Some IP-core implementations of the SDHCI have different troubles on the
silicon where they are placed.

On ZYNQ platform for example Xilinx doesn't accept the hold timing of an
eMMC chip which operates in High-Speed mode and must be forced to
operate in non high-speed mode. To get rid of this
"SDHCI_QUIRK_BROKEN_HISPD_MODE" is introduced.

For more details about this refer to the Xilinx answer-recor #59999
https://www.xilinx.com/support/answers/59999.html

This commit:
- doesn't set HISPD bit on the host-conroller
- reflects this fact within the host-controller capabilities

Upon this the layer above (mmc-driver) can setup the card correctly.

Otherwise the MMC card will be switched into high-speed mode and causes
possible timing violation on the host-controller side.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>

Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2018-05-02 10:57:43 +09:00
..
arm_pl180_mmci.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04: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 mmc: use core clock frequency in bcm2835 sdhost 2018-04-05 13:17:43 +02:00
bcm2835_sdhost.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04: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_spl.c block: pass block dev not num to read/write/erase() 2016-01-13 21:05:18 -05:00
fsl_esdhc.c mmc: fsl_esdhc: support SDR104 and HS200 2018-02-04 12:00:58 +01:00
ftsdc010_mci.c mmc: ftsdc010: Merge nds32_mmc to ftsdc010 2018-03-30 13:13:45 +08:00
ftsdc010_mci.h mmc: ftsdc010: Merge nds32_mmc to ftsdc010 2018-03-30 13:13:45 +08:00
gen_atmel_mci.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
hi6220_dw_mmc.c treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
Kconfig mmc: sh_mmcif: Add Kconfig entry 2018-04-21 18:33:30 +02:00
kona_sdhci.c mmc: sdhci: Distinguish between base clock and maximum peripheral frequency 2017-01-23 15:37:42 +09:00
Makefile mmc: tmio: Rename Matsushita to TMIO 2018-04-14 00:03:30 +02:00
meson_gx_mmc.c mmc: avoid division by zero in meson_mmc_config_clock 2018-04-23 10:49:58 -04: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
mmc-uclass.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
mmc.c mmc: fix return value check condition 2018-05-02 10:57:43 +09: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: mv_sdhci: zero out sdhci_host structure 2018-04-17 10:39:30 +02: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
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 x86: mmc: Fix mapping of BAR memory 2018-03-30 16:05:08 +08: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
renesas-sdhi.c mmc: tmio: move clk_enable() to each driver's probe function 2018-04-24 00:35:34 +09:00
rockchip_dw_mmc.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
rockchip_sdhci.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
rpmb.c mmc: rpmb: update size format for write_counter 2017-07-19 19:13:59 +09: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 Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04: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: add SDHCI_QUIRK_BROKEN_HISPD_MODE 2018-05-02 10:57:43 +09:00
sh_mmcif.c mmc: sh_mmcif: Add DM and DT probing support 2018-04-21 18:33:19 +02: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 Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
sunxi_mmc.c sunxi: improve throughput in the sunxi_mmc driver 2018-04-25 10:29:38 +05:30
tangier_sdhci.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
tegra_mmc.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
tmio-common.c mmc: tmio: move clk_enable() to each driver's probe function 2018-04-24 00:35:34 +09:00
tmio-common.h mmc: tmio: Rename Matsushita to TMIO 2018-04-14 00:03:30 +02:00
uniphier-sd.c mmc: uniphier-sd: skip clock set-up for SPL 2018-04-24 00:35:34 +09: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