summaryrefslogtreecommitdiff
path: root/board/st/u8500/mmc_utils.c
diff options
context:
space:
mode:
authorMartin LUNDHOLM <martin.xa.lundholm@stericsson.com>2010-08-23 17:31:29 +0200
committerMichael BRANDT <michael.brandt@stericsson.com>2010-08-30 19:39:16 +0200
commit3a5b27b58258ff61dfae3167bc46fed0146ddffd (patch)
treef185f10ccb07c693998340343afc4a680949aea7 /board/st/u8500/mmc_utils.c
parent6e7432129841a6177b097c5d2388c6aa9ed257c3 (diff)
U-boot: MMC update.
MMC has been updated with several improvements. Primarily MMC performance has been improved by using assembler code for low level FIFO handling. Also some MMC functionality has been added, e.g. support for DDR and reliable write. Data and command delay times were incremented, otherwise hangups and timeouts were observed. Tested on HREF+ 1.1 V21 and HREF+ 1.1 V32 (Micron PoP). Following WP depends on this change (more reliable SD card write support): ST-Ericsson ID: WP264488 Change-Id: Ic92abffe1640aa9375b8d43a6b8522ca8296a368 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/4056 Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com> Tested-by: Michael BRANDT <michael.brandt@stericsson.com>
Diffstat (limited to 'board/st/u8500/mmc_utils.c')
-rw-r--r--board/st/u8500/mmc_utils.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/board/st/u8500/mmc_utils.c b/board/st/u8500/mmc_utils.c
index af5f0475d..b630e8adb 100644
--- a/board/st/u8500/mmc_utils.c
+++ b/board/st/u8500/mmc_utils.c
@@ -66,12 +66,12 @@ static struct partition partitions_v1[] = {
[0] = PART(0x83, 0x000A0000, 0x00004000), /* Kernel */
[1] = PART(0x83, 0x000A4000, 0x00080000), /* Root file system */
[2] = PART(0x83, 0x001FF800, 0x00000800), /* Modem parameters */
- [3] = {0},
+ [3] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};
#undef PART
-int write_partition_block(void)
+int write_partition_block(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
int err;
u32 offset = PIB_EMMC_ADDR;
@@ -79,6 +79,11 @@ int write_partition_block(void)
u8 emmc_existing_partition[512];
struct mmc *boot_dev = NULL;
+ (void) cmdtp; /* Parameter not used! */
+ (void) flag; /* Parameter not used! */
+ (void) argc; /* Parameter not used! */
+ (void) argv; /* Parameter not used! */
+
memset(mbr, 0, 0x1be);
if (u8500_is_earlydrop())
memcpy(mbr + 0x1be, partitions_ed, sizeof(partitions_ed));
@@ -136,6 +141,11 @@ static int mmc_read_cmd_file(cmd_tbl_t *cmdtp, int flag, int argc,
long sz;
char mmc_cmdbuffer[1024];
+ (void) cmdtp; /* Parameter not used! */
+ (void) flag; /* Parameter not used! */
+ (void) argc; /* Parameter not used! */
+ (void) argv; /* Parameter not used! */
+
sz = file_fat_read("command.txt", &mmc_cmdbuffer,
sizeof(mmc_cmdbuffer) - 1);
if (sz == -1) {