u-boot-brain/drivers/mmc
Stephen Warren 9a4fbe4fbd mmc: add bcm2835 driver
This adds a simple driver for the BCM2835's SD controller.

Workarounds are implemented for:
* Register writes can't be too close to each-other in time, or they will
  be lost.
* Register accesses must all be 32-bit, so implement custom accessors.

This code was extracted from:
git://github.com/gonzoua/u-boot-pi.git master
which was created by Oleksandr Tymoshenko.

Portions of the code there were obviously based on the Linux kernel at:
git://github.com/raspberrypi/linux.git rpi-3.6.y
commit f5b930b "Main bcm2708 linux port" signed-off-by Dom Cobley.

swarren changed the following for upstream:
* Removed hack udelay()s in bcm2835_sdhci_raw_writel(); setting
  SDHCI_QUIRK_WAIT_SEND_CMD appears to solve the issues.
* Remove register logging from read*/write* functions.
* Sort out confusion with min/max_freq values passed to add_sdhci().
* Use more descriptive variable names and calculations in IO accessors.
* Simplified and commented twoticks_delay calculation.
* checkpatch fixes.

Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Andy Fleming <afleming@gmail.com>
2013-03-20 15:31:25 +01:00
..
arm_pl180_mmci.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
arm_pl180_mmci.h u8500: Separating mmc config parameters from driver 2012-09-01 14:58:20 +02:00
bcm2835_sdhci.c mmc: add bcm2835 driver 2013-03-20 15:31:25 +01:00
bfin_sdh.c Merge u-boot/master into u-boot-ti/master 2013-03-11 12:16:13 -04:00
davinci_mmc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
dw_mmc.c mmc: dw-mmc: support DesignWare MMC Controller 2012-10-22 02:56:25 -05:00
exynos_dw_mmc.c EXYNOS: mmc: support DesignWare Controller for Samsung-SoC 2012-11-27 17:26:47 -06:00
fsl_esdhc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
ftsdc010_esdhc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
gen_atmel_mci.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
Makefile mmc: add bcm2835 driver 2013-03-20 15:31:25 +01:00
mmc_spi.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
mmc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
mv_sdhci.c drivers/mmc/mv_sdhci.c: Fix build warning 2012-01-08 21:28:16 -06:00
mxcmmc.c mmc: add support for write protection 2013-03-08 16:41:13 -05:00
mxsmmc.c Merge branch 'u-boot-imx/master' into 'u-boot-arm/master' 2013-03-15 15:18:31 +01:00
omap_hsmmc.c ARM: OMAP4+: Make control module register structure generic 2013-03-11 11:06:10 -04:00
pxa_mmc_gen.c mmc: Remove incorrect cmd->flags usage 2012-09-06 15:23:13 -05:00
pxa_mmc.h pxa: move mmc drivers to drivers/mmc 2009-02-20 03:47:50 +01:00
s5p_sdhci.c mmc: sdhci: Add a quirk to add delay during completion of sdhci_send_cmd 2012-10-22 02:53:36 -05:00
sdhci.c mmc: add support for write protection 2013-03-08 16:41:13 -05: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
spl_mmc.c SPL: Move the omap SPL framework to common/spl 2012-09-27 09:49:59 -07:00
tegra_mmc.c mmc: Tegra: Add SD bus power/voltage function and MMC pad init call. 2013-03-14 11:06:44 -07:00