u-boot/drivers/mmc
Andrew Gabbasov 786e8f818c mmc: Fix handling of bus widths and DDR card capabilities
If the MMC_MODE_DDR_52MHz flag is set in card capabilities bitmask,
it is never cleared, even if switching to DDR mode fails, and if
the controller driver uses this flag to check the DDR mode, it can
take incorrect actions.

Also, DDR related checks in mmc_startup() incorrectly handle the case
when the host controller does not support some bus widths (e.g. can't
support 8 bits), since the host_caps is checked for DDR bit, but not
bus width bits.

This fix clearly separates using of card_caps bitmask, having there
the flags for the capabilities, that the card can support, and actual
operation mode, described outside of card_caps (i.e. bus_width and
ddr_mode fields in mmc structure). Separate host controller drivers
may need to be updated to use the actual flags. Respectively,
the capabilities checks in mmc_startup are made more correct and clear.

Also, some clean up is made with errors handling and code syntax layout.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
2014-12-12 21:08:06 +02:00
..
arm_pl180_mmci.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
arm_pl180_mmci.h mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
bcm2835_sdhci.c mmc: bcm2835_sdhci: add missing include 2014-10-25 15:27:35 -04:00
bfin_sdh.c mmc: set correct block size value in bfin sdh driver 2014-10-03 17:26:49 +03:00
davinci_mmc.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
dw_mmc.c mmc: dw_mmc: cleanups 2014-10-06 17:34:39 +02:00
exynos_dw_mmc.c mmc: exynos_dw-mmc: change debug message 2014-12-12 20:35:30 +02:00
fsl_esdhc.c Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx 2014-11-26 11:22:29 -05:00
fsl_esdhc_spl.c driver: Add support of image load for MMC & SPI in SPL 2014-04-22 17:58:50 -07:00
ftsdc010_mci.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
ftsdc021_sdhci.c mmc: add Faraday FTSDC021 SDHCI controller support 2013-12-08 14:23:05 +02:00
gen_atmel_mci.c MMC: atmel_mci: enable high speed mode support 2014-08-01 20:01:33 +03:00
Kconfig kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
kona_sdhci.c mmc: free allocated memory on initialization errors 2014-06-12 15:21:12 +03:00
Makefile sort drivers/mmc/Makefile 2014-11-07 16:27:04 -05:00
mmc.c mmc: Fix handling of bus widths and DDR card capabilities 2014-12-12 21:08:06 +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: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
mmc_write.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
mv_sdhci.c mmc: sdhci: return error when failed add_sdhci(). 2013-05-06 16:26:24 -05:00
mvebu_mmc.c arm: marvell: Move arch/kirkwood.h to arch/soc.h 2014-10-23 09:59:20 -04:00
mxcmmc.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
mxsmmc.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
omap_hsmmc.c omap_hsmmc: Board-specific TWL4030 MMC power initializations 2014-12-04 21:28:15 -05:00
pxa_mmc_gen.c linux/kernel.h: sync min, max, min3, max3 macros with Linux 2014-11-23 06:48:30 -05:00
rpmb.c includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
s3c_sdi.c mmc: s3c: Add SD driver 2014-08-01 19:24:34 +03:00
s5p_sdhci.c mmc: s5p: set SD detection pin as input 2014-10-27 19:20:51 -06:00
sdhci.c sdhci: make local functions static 2014-10-25 07:02:02 -04:00
sh_mmcif.c mmc: sh_mmcif: Add support rmobile 2014-12-05 11:16:22 +09:00
sh_mmcif.h mmc: sh_mmcif: Add support rmobile 2014-12-05 11:16:22 +09:00
socfpga_dw_mmc.c arm: socfpga: mmc: Pick the clock from clock manager 2014-10-06 17:46:49 +02:00
spear_sdhci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sunxi_mmc.c dm: sunxi: Request card detect gpio 2014-11-05 13:10:13 +01:00
tegra_mmc.c tegra: make local functions static 2014-10-25 07:27:37 -04:00
zynq_sdhci.c mmc: zynq: Add OF initialization support 2014-03-04 09:27:35 -05:00