summaryrefslogtreecommitdiff
path: root/board/st/u8500/u8500.c
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 /board/st/u8500/u8500.c
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 'board/st/u8500/u8500.c')
-rw-r--r--board/st/u8500/u8500.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/board/st/u8500/u8500.c b/board/st/u8500/u8500.c
index 7c47ab977..eb6dda5af 100644
--- a/board/st/u8500/u8500.c
+++ b/board/st/u8500/u8500.c
@@ -420,7 +420,6 @@ static void init_regs(void)
}
} else {
struct prcmu *prcmu = (struct prcmu *) U8500_PRCMU_BASE;
- u32 tmp;
/* Enable timers */
writel(1 << 17, &prcmu->tcr);
@@ -435,13 +434,6 @@ static void init_regs(void)
u8500_prcmu_enable(&prcmu->uartclk_mgt);
u8500_prcmu_enable(&prcmu->i2cclk_mgt);
- if (!u8500_is_earlydrop()) {
- /* Switch SDMMCCLK to 52Mhz instead of 104Mhz */
- tmp = readl(&prcmu->sdmmcclk_mgt);
- tmp = (tmp & ~0x1f) | 16;
- writel(tmp, &prcmu->sdmmcclk_mgt);
- }
-
u8500_prcmu_enable(&prcmu->sdmmcclk_mgt);
u8500_clock_enable(1, 9, -1); /* GPIO0 */