summaryrefslogtreecommitdiff
path: root/lib_arm
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@stericsson.com>2010-07-02 13:47:39 +0200
committerMichael BRANDT <michael.brandt@stericsson.com>2010-08-11 10:53:36 +0200
commit33a2e90bf491f13a4546d09a6105582c0ba7f313 (patch)
treeb986e40cefe66056013a73977976b1fa38b334c4 /lib_arm
parent415211fa4c850467b3e45b7cdb2405ac018dec77 (diff)
Replace MMC/SD driver to fit new framework.
IR265772: MMC driver does not detect SDHC cards. IR254201: Restructure MMC/SD driver for U8500 board according to the block device framework in mainline U-Boot. Changes to mmc framework: - Multi Block Read support in mmc framework. - Wrap Multi Block Write/Read to be able to adopt for large transaction. - Removed incorrect check in EXT CSD for high capacity MMC. - Corrected check for high capacity SD cards. - Set MMC buswidth to 8, prio of using 4. Known limitations/bugs in mmc framework: - High capacity MMC, will likely not get the correct density. - High speed is set, whether or not the host supports it or not. board/st/u8500/mmc_utils: IMPORTANT FOR DEVELOPERS: - Removed unessary U-Boot commands which is already supported in cmd_fat. - mmc_read_cmd_file: Read command.txt into bootcmd env from FAT FS in SD card. - write_partition_block: Writes the MBR if it is not already written. board/st/u8500/mmc_host[c.h]: - Implements the entire MMC/SD host driver for the PL180 block. - There is still room for optimization: Increase CLK-speed. Use high-speed for SD cards. Is GPIO setup correctly for both cards an eMMC. EarlyDrop support not fully tested. Dynamically turn on voltage/clocks to SD, not always. More... Note: - Increased read/write performance for eMMC, to around 5.4 MB/s for sequential read/write. Earlier measurements was 3.5 MB/s for read and 2.6 MB/s for write. ST-Ericsson ID: ER265772, CR267996, ER267993 Change-Id: I921102edbde761407ff5ad476d1bb99f5dc7a2ef Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2288 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Tested-by: Michael BRANDT <michael.brandt@stericsson.com> Reviewed-by: Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> Tested-by: Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> Reviewed-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com> Tested-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com>
Diffstat (limited to 'lib_arm')
-rw-r--r--lib_arm/board.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib_arm/board.c b/lib_arm/board.c
index 453d66012..33d215aea 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -344,6 +344,11 @@ void start_armboot (void)
dataflash_print_info();
#endif
+#ifdef CONFIG_GENERIC_MMC
+ puts("MMC: ");
+ mmc_initialize(gd->bd);
+#endif
+
/* initialize environment */
env_relocate ();
@@ -418,11 +423,6 @@ extern void davinci_eth_set_mac_addr (const u_int8_t *addr);
board_late_init ();
#endif
-#ifdef CONFIG_GENERIC_MMC
- puts ("MMC: ");
- mmc_initialize (gd->bd);
-#endif
-
#ifdef CONFIG_BITBANGMII
bb_miiphy_init();
#endif