u-boot/drivers
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
..
bios_emulator bios_emulator: delete an unnecessary include path 2013-11-25 10:41:54 -05:00
block ahci: Fix cache align error messages 2013-12-04 08:12:08 -05:00
bootcount am33xx: Make SoC bootcount driver have its own symbol 2013-11-11 12:17:35 -05:00
crypto drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
ddr/fsl Driver/DDR: Update DDR driver to allow non-zero base address 2013-11-25 11:43:47 -08:00
dfu dfu: Export allocated dfu buffer size 2013-12-18 19:53:19 +01:00
dma drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
fpga drivers: descend into sub directories only when it is necessary 2013-11-17 14:11:30 -05:00
gpio at91: add new gpio pin definitions 2013-12-09 13:21:26 +01:00
hwmon cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
i2c Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-12-10 17:15:18 -05:00
input drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
misc spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT node 2013-12-09 12:22:12 -07:00
mmc mmc: add setdsr support 2014-01-09 11:47:51 +02:00
mtd mtd: onenand: Fix unaligned access 2013-12-31 09:59:16 +01:00
net net: sh-eth: add support for SH7753 2013-12-18 16:49:45 +09:00
pci malta: support for coreFPGA6 boards 2013-11-09 17:21:01 +01:00
pcmcia drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
power ARMV7: OMAP4: Add twl6032 support 2013-12-04 08:11:28 -05:00
qe drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00
rtc Merge branch 'master' of git://git.denx.de/u-boot-mips 2013-11-11 09:40:34 -05:00
serial serial_sh: add support for SH7753 2013-12-18 16:50:00 +09:00
sound drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
spi spi: tegra: clear RDY bit prior to every transfer 2013-12-19 00:00:51 +05:30
tpm drivers: tpm: clean up unused code 2013-11-17 14:11:30 -05:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb usb: ehci: Fix register access 2013-12-18 19:53:19 +01:00
video Merge branch 'master' of git://git.denx.de/u-boot-video 2013-12-16 09:56:24 -05:00
watchdog Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
Makefile drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00