u-boot/drivers/mmc
Masahiro Yamada 54a78cbdbe mmc: sdhci-cadence: send tune request twice to work around errata
Cadence sent out an errata report to their customers of this IP.
This errata is not so severe, but the tune request should be sent
twice to avoid the potential issue.

Quote from the report:

Problem Summary
---------------
The IP6116 SD/eMMC PHY design has a timing issue on receive data path.
This issue may lead to an incorrect values of read/write pointers of
the synchronization FIFO. Such a situation can happen at the SDR104
and HS200 tuning procedure when the PHY is requested to change a phase
of sampling clock when moving to the next tuning iteration.

Workarounds
-----------
The following are valid workarounds to resolve the issue:

1. In eMMC mode, software sends tune request twice instead of once at
   each iteration. This means that the clock phase is not changed on
   the second request so there is no potential for clock instability.
2. In SD mode, software must not use the hardware tuning and instead
   perform an almost identical procedure to eMMC, using the HRS34 Tune
   Force register.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2020-02-17 14:55:04 +08:00
..
am654_sdhci.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
arm_pl180_mmci.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
arm_pl180_mmci.h mmc: arm_pl180_mmci: Sync compatible with kernel 2019-04-23 15:31:30 +02:00
aspeed_sdhci.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
atmel_sdhci.c mmc: atmel_sdhci: Add sam9x60-sdhci compatibility string 2019-10-08 09:16:11 +03:00
bcm2835_sdhci.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
bcm2835_sdhost.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
bcmstb_sdhci.c mmc: bcm: fix uninitialized pointer deref on probe 2019-08-09 13:45:25 +08:00
davinci_mmc.c Revert "mmc: davinci: drop struct davinci_mmc_plat" 2020-01-04 09:33:33 -05:00
dw_mmc.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
exynos_dw_mmc.c ARM: Odroid XU3: Modify exynos dw_mmc driver to support Odroid XU3 in DM MMC 2018-08-06 10:53:53 +09:00
fsl_esdhc.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
fsl_esdhc_imx.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
fsl_esdhc_spl.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
ftsdc010_mci.c mmc: ftsdc010_mci: Sync compatible with DT mmc node 2018-05-29 14:45:03 +08:00
ftsdc010_mci.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gen_atmel_mci.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hi6220_dw_mmc.c mmc: Add support for HI3660 SoC reusing hi6220_dw_mmc driver 2019-08-11 16:43:41 -04:00
iproc_sdhci.c drivers: mmc: Add sdhci driver for Broadcom iProc platform 2019-10-10 10:59:48 +08:00
jz_mmc.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
Kconfig mmc: config help typo fix 2020-01-16 13:21:01 +08:00
kona_sdhci.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile drivers: mmc: Add sdhci driver for Broadcom iProc platform 2019-10-10 10:59:48 +08:00
meson_gx_mmc.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
mmc-uclass.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mmc.c mmc: fix the build error when MMC_WRITE is disabled 2020-02-17 14:55:04 +08:00
mmc_boot.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mmc_legacy.c mmc: Register only the first MMC device on MMC_TINY 2019-07-13 11:11:26 -04:00
mmc_private.h mmc: add mmc_poll_for_busy() and change the purpose of mmc_send_status() 2019-07-15 10:16:49 +08:00
mmc_spi.c dm: mmc_spi: Fix NULL pointer dereference in mmc_spi_bind() 2019-09-05 15:29:29 +08:00
mmc_write.c mmc: Rename timeout parameters for clarification 2019-09-05 15:27:31 +08:00
msm_sdhci.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mtk-sd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mv_sdhci.c mmc: mv_sdhci: fix uninitialized pointer deref on probe 2019-07-31 15:31:36 +08:00
mvebu_mmc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mxcmmc.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
mxsmmc.c mmc: Replace printf with debug call for timeouts in the i.MX28 mxs driver 2019-10-08 16:36:36 +02:00
omap_hsmmc.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
pci_mmc.c mmc: pci: fix uninitialized pointer deref on probe 2019-08-09 13:45:25 +08:00
pic32_sdhci.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pxa_mmc_gen.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
renesas-sdhi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
rockchip_dw_mmc.c rockchip: dwmmc: add handling for u-boot, spl-fifo-mode 2019-11-23 23:41:44 +08:00
rockchip_sdhci.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
rpmb.c drivers: mmc: rpmb: Use R1 response 2020-02-17 14:55:04 +08:00
s5p_sdhci.c mmc: s5p_sdhci: Read generic MMC properties from DT 2020-01-23 11:43:10 +09:00
sandbox_mmc.c sandbox: mmc: Fix up MMC emulator for valgrind 2019-10-08 13:57:39 +08:00
sdhci-cadence.c mmc: sdhci-cadence: send tune request twice to work around errata 2020-02-17 14:55:04 +08:00
sdhci.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
sh_mmcif.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sh_mmcif.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sh_sdhi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
snps_dw_mmc.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
socfpga_dw_mmc.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sti_sdhci.c mmc: sti_sdhci: Fix sdhci_setup_cfg() call. 2019-08-27 09:36:56 +02:00
stm32_sdmmc2.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sunxi_mmc.c mmc: sunxi: Honour non-removable property in DT 2019-01-29 23:49:41 +05:30
tangier_sdhci.c mmc: tangier_sdhci: fix uninitialized pointer deref on probe 2019-08-09 13:45:25 +08:00
tegra_mmc.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
tmio-common.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
tmio-common.h mmc: tmio: sdhi: Add calibration tables 2019-11-27 16:56:46 +08:00
uniphier-sd.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
xenon_sdhci.c mmc: sdhci: Make set_ios_post() return int 2019-07-17 11:12:08 -04:00
zynq_sdhci.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00