u-boot-brain/drivers/mmc
Peng Fan 96f0407b00 fsl: esdhc: support driver model
Support Driver Model for fsl esdhc driver.

1. Introduce a new structure struct fsl_esdhc_priv
2. Refactor fsl_esdhc_initialize which is originally used by board code.
   - Introduce fsl_esdhc_init to be common usage for DM and non-DM
   - Introduce fsl_esdhc_cfg_to_priv to build the bridge for non-DM part.
   - The original API for board code is still there, but we use
     'fsl_esdhc_cfg_to_priv' and 'fsl_esdhc_init' to serve it.
3. All the functions are changed to use 'struct fsl_esdhc_priv', except
   fsl_esdhc_initialize.
4. Since clk driver is not implemented, use mxc_get_clock to geth
   the clk and fill 'priv->sdhc_clk'.

Has been tested on i.MX6UL 14X14 EVK board:
"
=>dm tree
....
 simple_bus  [ + ]    |   `-- aips-bus@02100000
  mmc        [ + ]    |       |-- usdhc@02190000
  mmc        [ + ]    |       |-- usdhc@02194000
....
=> mmc list
FSL_SDHC: 0 (SD)
FSL_SDHC: 1 (SD)
"

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Cc: Hector Palacios <hector.palacios@digi.com>
Cc: Eric Nelson <eric@nelint.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Simon Glass <sjg@chromium.org>
Tested-By: Eric Nelson <eric@nelint.com>
Reviewed-by: York Sun <york.sun@nxp.com>
2016-04-06 08:33:37 -07:00
..
arm_pl180_mmci.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
arm_pl180_mmci.h mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
atmel_sdhci.c mmc: atmel: Add atmel sdhci support 2015-11-03 14:21:31 +01:00
bcm2835_sdhci.c mmc: bcm2835: fix 64-bit build warning 2016-03-27 09:12:21 -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 dwmmc: Increase retry timeout 2016-03-15 15:13:05 -04:00
exynos_dw_mmc.c mmc: Support bypass mode with the get_mmc_clk() method 2015-09-02 21:28:23 -06:00
fsl_esdhc_spl.c block: pass block dev not num to read/write/erase() 2016-01-13 21:05:18 -05:00
fsl_esdhc.c fsl: esdhc: support driver model 2016-04-06 08:33:37 -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: Properly fix clock configuration 2016-01-27 13:58:58 +01:00
hi6220_dw_mmc.c driver: dwmmc: Fix pointer conversion warnings for hikey 2015-11-12 15:59:00 -05:00
Kconfig mmc: Add support for Qualcomm SDHCI controller 2016-04-01 17:18:08 -04:00
kona_sdhci.c mmc: remove the MMC_MODE_HC flag 2015-05-05 12:29:36 +03:00
Makefile mmc: Add support for Qualcomm SDHCI controller 2016-04-01 17:18:08 -04:00
mmc_private.h dm: Drop the block_dev_desc_t typedef 2016-03-14 15:34:50 -06:00
mmc_spi.c lib/crc16.c: Rename cyg_crc16() to crc16_ccitt() and add crc start value 2016-03-14 19:18:42 -04:00
mmc_write.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
mmc-uclass.c dm: mmc: Add an MMC uclass 2015-07-21 17:39:25 -06:00
mmc.c mmc: Print send_cmd response only when return value is zero 2016-03-27 09:12:24 -04:00
msm_sdhci.c mmc: Add support for Qualcomm SDHCI controller 2016-04-01 17:18:08 -04:00
mv_sdhci.c mmc: mv_sdhci: Configure the SDHCI MBUS bridge windows 2015-10-21 02:25:02 +02:00
mvebu_mmc.c mmc: remove the MMC_MODE_HC flag 2015-05-05 12:29:36 +03:00
mxcmmc.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
mxsmmc.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
omap_hsmmc.c omap_hsmmc: Board-specific TWL6030 MMC power initialization 2016-03-15 15:11:29 -04:00
pci_mmc.c dm: Convert PCI MMC over to use DM PCI API 2016-01-12 10:19:09 -07:00
pic32_sdhci.c drivers: mmc: add driver for Microchip PIC32 SDHCI controller. 2016-02-01 22:14:01 +01:00
pxa_mmc_gen.c arm: pxa: mmc: clean-up include file order 2015-08-24 20:30:37 +02:00
rockchip_dw_mmc.c rockchip: Use a separate clock ID for clocks 2016-01-21 20:42:34 -07:00
rpmb.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
s3c_sdi.c mmc: remove the MMC_MODE_HC flag 2015-05-05 12:29:36 +03:00
s5p_sdhci.c s5p sdhci: call pinmux for card's gpio pins before use them 2015-11-02 10:38:14 +09:00
sandbox_mmc.c dm: test: Add a test for the mmc uclass 2015-07-21 17:39:32 -06:00
sdhci.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
sh_mmcif.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
sh_mmcif.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
sh_sdhi.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
socfpga_dw_mmc.c arm: socfpga: fix up a questionable macro for SDMMC 2015-12-20 03:44:56 +01: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 sunxi: Add support for Allwinner A64 SoCs 2016-04-01 09:52:28 +02:00
tegra_mmc.c tegra: mmc: Fix comments in the MMC driver init 2016-02-16 09:17:50 -07:00
uniphier-sd.c mmc: uniphier: use devm_get_addr() to get base address 2016-04-01 00:17:19 +09:00
zynq_sdhci.c mmc: zynq_sdhci: Added qurik to disable high speed 2016-01-27 15:55:54 +01:00