u-boot-brain/drivers/mmc
Markus Niebel ab71188ce8 mmc: add setdsr support
The eMMC and the SD-Card specifications describe the optional SET_DSR command.
During measurements at our lab we found that some cards implementing this feature
having really strong driver strengts per default. This can lead to voltage peaks
above the specification of the host on signal edges for data sent from a card to
the host.

Since availability of a given card type may be shorter than the time a certain
hardware will be produced it is useful to have support for this command (Alternative
would be changing termination resistors and adapting the driver strength of the
host to the used card.)

Following proposal for an implementation:

- new field that reflects CSD field DSR_IMP in struct mmc
- new field for design specific DSR value in struct mmc
- board code can set DSR value in mmc struct just after registering an controller
- mmc_startup sends the the stored DSR value before selecting a card, if DSR_IMP is set

Additionally the mmc command is extended to make is possible to play around with different
DSR values.

The concept was tested on a i.MX53 based platform using a Micron eMMC card where the default
DSR is 0x0400 (12mA) but in our design 0x0100 (0x0100) were enough. To use this feature for
instance on a mx53loco one have to add a call to mmc_set_dsr() in board_mmc_init() after
calling fsl_esdhc_initialize() for the eMMC.

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
2014-01-09 11:47:51 +02:00
..
arm_pl180_mmci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arm_pl180_mmci.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bcm2835_sdhci.c ARM: bcm2835: fix get_timer() to return ms 2013-04-04 08:14:54 +02:00
bfin_sdh.c Merge u-boot/master into u-boot-ti/master 2013-03-11 12:16:13 -04:00
davinci_mmc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
dw_mmc.c mmc/dwmmc: use bounce buffer for data exchange between CPU and MMC controller 2014-01-09 11:29:02 +02:00
exynos_dw_mmc.c mmc: dw_mmc: remove the exynos specific code in dw-mmc.c 2013-12-08 14:07:07 +02:00
fsl_esdhc_spl.c powerpc: mmc: Add corenet devices support in esdhc spl 2013-12-08 14:17:28 +02:00
fsl_esdhc.c powerpc/esdhc: Add 3.3v voltage support in esdhc capacity register 2013-10-31 09:55:34 +02:00
ftsdc010_mci.c Merge branch 'master' of git://git.denx.de/u-boot-nds32 2013-07-25 08:51:51 -04:00
ftsdc021_sdhci.c mmc: add Faraday FTSDC021 SDHCI controller support 2013-12-08 14:23:05 +02:00
gen_atmel_mci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Makefile mmc: add Faraday FTSDC021 SDHCI controller support 2013-12-08 14:23:05 +02:00
mmc_private.h mmc: don't support write & erase for SPL builds 2013-09-20 18:58:55 +03:00
mmc_spi.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
mmc_write.c mmc: don't support write & erase for SPL builds 2013-09-20 18:58:55 +03:00
mmc.c mmc: add setdsr support 2014-01-09 11:47:51 +02:00
mv_sdhci.c mmc: sdhci: return error when failed add_sdhci(). 2013-05-06 16:26:24 -05:00
mxcmmc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
mxsmmc.c mmc: mxsmmc: Enable MMC HC support 2013-08-23 15:53:21 +02:00
omap_hsmmc.c ARM: OMAP: Enable 8-bit eMMC access for OMAP4/5/DRA7xx 2013-09-17 20:03:44 +03:00
pxa_mmc_gen.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pxa_mmc.h pxa: move mmc drivers to drivers/mmc 2009-02-20 03:47:50 +01:00
s5p_sdhci.c mmc: sdhci: use the SDHCI_QUIRK_USE_WIDE8 for samsung SoC 2013-09-17 20:03:43 +03:00
sdhci.c mmc: Minor cleanup of sdhci.c 2014-01-09 11:36:56 +02:00
sh_mmcif.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
sh_mmcif.h mmc: sh_mmcif: add support for Renesas MMCIF 2011-07-15 20:29:21 -05:00
spear_sdhci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
tegra_mmc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
zynq_sdhci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00