u-boot-brain/drivers/mmc
Dirk Behme 7a5b80297b mmc: fsl_esdhc: Poll until card is not busy anymore
This patch imports parts of two patches from the Freescale U-Boot with the following
commit messages:

ENGR00156405 ESDHC: Add workaround for auto-clock gate errata ENGcm03648
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/drivers/mmc/imx_esdhc.c?h=imx_v2009.08_12.01.01&id=e436525a70fe47623d346bc7d9f08f12ff8ad787
The errata, not applicable to USDHC, causes ESDHC to shut off clock to the card
when auto-clock gating is enabled for commands with busy signalling and no data
phase. The card might require the clock to exit the busy state, so the workaround
is to disable the auto-clock gate bits in SYSCTL register for such commands. The
workaround also entails polling on DAT0 bit in the PRSSTAT register to learn when
busy state is complete. Auto-clock gating is re-enabled at the end of busy state.

ENGR00156670-1 ESDHC/USDHC: Remove delay before each cmd and some bug fixes
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/drivers/mmc/imx_esdhc.c?h=imx_v2009.08_12.01.01&id=a77c6fec8596891be96b2cdbc742c9824844b92a
Removed delay of 10 ms before each command. There should not be a need to have this
delay after the ENGR00156405 patch that polls until card is not busy anymore before
proceeding to next cmd.

This patch imports the polling part of both patches. The auto-clock gating code
don't apply for i.MX6 as implemented in these two patches.

SYSCTL_RSTA was defined twice. Remove one definition.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
CC: Andy Fleming <afleming@freescale.com>
CC: Fabio Estevam <fabio.estevam@freescale.com>
CC: Stefano Babic <sbabic@denx.de>
2012-05-08 18:02:22 -05:00
..
arm_pl180_mmci.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
arm_pl180_mmci.h MMC: Add support for PL180 ARM mmc device 2011-04-29 03:20:01 -05:00
bfin_sdh.c Blackfin: bfin_sdh: drop dos part hardcode 2012-04-22 13:00:19 -04:00
davinci_mmc.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
fsl_esdhc.c mmc: fsl_esdhc: Poll until card is not busy anymore 2012-05-08 18:02:22 -05:00
ftsdc010_esdhc.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
gen_atmel_mci.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
Makefile ATMEL: remove old atmel_mci driver 2012-03-13 12:06:42 +01:00
mmc_spi.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
mmc.c mmc:fix: Set mmc width according to MMC host capabilities 2012-05-08 18:02:21 -05:00
mv_sdhci.c drivers/mmc/mv_sdhci.c: Fix build warning 2012-01-08 21:28:16 -06:00
mxcmmc.c mmc: access mxcmmc from mx31 boards 2012-02-12 10:11:26 +01:00
mxsmmc.c DMA: Split the APBH DMA init into block and channel init 2012-04-16 14:53:59 +02:00
omap_hsmmc.c mmc: omap: handle controller errors properly 2012-05-08 18:02:22 -05:00
pxa_mmc_gen.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
pxa_mmc.c PXA: Kill last remnants of set_GPIO_mode function 2011-12-19 17:52:44 +01:00
pxa_mmc.h pxa: move mmc drivers to drivers/mmc 2009-02-20 03:47:50 +01:00
s5p_mmc.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
sdhci.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
sh_mmcif.c mmc: Implement card detection. 2012-01-08 21:28:27 -06:00
sh_mmcif.h mmc: sh_mmcif: add support for Renesas MMCIF 2011-07-15 20:29:21 -05:00
tegra2_mmc.c drivers/mmc/tegra2_mmc.c: fix GCC 4.6 warning 2012-03-30 21:27:27 +02:00
tegra2_mmc.h tegra2: Move tegra2_mmc_init() prototype to public header. 2011-12-24 10:23:31 +01:00