1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 16:52:14 +02:00

socfpga/dwmmc: Adding DesignWare MMC driver support for SOCFPGA

To add the DesignWare MMC driver support for Altera SOCFPGA. It
required information such as clocks and bus width from platform
specific files (SOCFPGA handoff files)

Signed-off-by: Chin Liang See <clsee@altera.com>
Cc: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
This commit is contained in:
Chin Liang See
2013-12-30 18:26:14 -06:00
committed by Pantelis Antoniou
parent ab71188ce8
commit c5c1af2176
5 changed files with 199 additions and 0 deletions

53
doc/README.socfpga Normal file
View File

@@ -0,0 +1,53 @@
--------------------------------------------
SOCFPGA Documentation for U-Boot and SPL
--------------------------------------------
This README is about U-Boot and SPL support for Altera's ARM Cortex-A9MPCore
based SOCFPGA. To know more about the hardware itself, please refer to
www.altera.com.
--------------------------------------------
socfpga_dw_mmc
--------------------------------------------
Here are macro and detailed configuration required to enable DesignWare SDMMC
controller support within SOCFPGA
#define CONFIG_MMC
-> To enable the SD MMC framework support
#define CONFIG_SDMMC_BASE (SOCFPGA_SDMMC_ADDRESS)
-> The base address of CSR register for DesignWare SDMMC controller
#define CONFIG_GENERIC_MMC
-> Enable the generic MMC driver
#define CONFIG_SYS_MMC_MAX_BLK_COUNT 256
-> Using smaller max blk cnt to avoid flooding the limited stack in OCRAM
#define CONFIG_DWMMC
-> Enable the common DesignWare SDMMC controller framework
#define CONFIG_SOCFPGA_DWMMC
-> Enable the SOCFPGA specific driver for DesignWare SDMMC controller
#define CONFIG_SOCFPGA_DWMMC_FIFO_DEPTH 1024
-> The FIFO depth for SOCFPGA DesignWare SDMMC controller
#define CONFIG_SOCFPGA_DWMMC_DRVSEL 3
-> Phase-shifted clock of sdmmc_clk for controller to drive command and data to
the card to meet hold time requirements. SD clock is running at 50MHz and
drvsel is set to shift 135 degrees (3 * 45 degrees). With that, the hold time
is 135 / 360 * 20ns = 7.5ns.
#define CONFIG_SOCFPGA_DWMMC_SMPSEL 0
-> Phase-shifted clock of sdmmc_clk used to sample the command and data from
the card
#define CONFIG_SOCFPGA_DWMMC_BUS_WIDTH 4
-> Bus width of data line which either 1, 4 or 8 and based on board routing.
#define CONFIG_SOCFPGA_DWMMC_BUS_HZ 50000000
-> The clock rate to controller. Do note the controller have a wrapper which
divide the clock from PLL by 4.