diff options
author | Martin LUNDHOLM <martin.xa.lundholm@stericsson.com> | 2010-08-23 17:31:29 +0200 |
---|---|---|
committer | Michael BRANDT <michael.brandt@stericsson.com> | 2010-08-30 19:39:16 +0200 |
commit | 3a5b27b58258ff61dfae3167bc46fed0146ddffd (patch) | |
tree | f185f10ccb07c693998340343afc4a680949aea7 /board/st/u8500/mmc_fifo.h | |
parent | 6e7432129841a6177b097c5d2388c6aa9ed257c3 (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_fifo.h')
-rw-r--r-- | board/st/u8500/mmc_fifo.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/board/st/u8500/mmc_fifo.h b/board/st/u8500/mmc_fifo.h new file mode 100644 index 000000000..e2fb0a53b --- /dev/null +++ b/board/st/u8500/mmc_fifo.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) ST-Ericsson SA 2010 + * + * Author: Martin Lundholm <martin.xa.lundholm@stericsson.com> + * + * License terms: GNU General Public License (GPL), version 2. + */ + +#include <common.h> + +#ifndef __ASSEMBLY__ + +/* + * Function: mmc_fifo_read() + * + * Info: Reads data from an MMC (ARM PL180) FIFO + * + * Parameters: + * fifo - pointer to the first PL180 FIFO register + * buf - pointer to a read buffer (32-bit aligned) + * count - number of bytes to be read (32-bit aligned) + * status_reg - pointer to the PL180 status register + * + * Returns '0' if success and PL180 status on failure. + * + */ +int mmc_fifo_read(u32 *fifo, u32 *buf, unsigned int count, u32 *status_reg); + +/* + * Function: mmc_fifo_write() + * + * Info: Writes data to an MMC (ARM PL180) FIFO + * + * Parameters: + * buf - pointer to a write buffer (32-bit aligned) + * fifo - pointer to the first PL180 FIFO register + * count - number of bytes to be written (32-bit aligned) + * status_reg - pointer to the PL180 status register + * + * Returns '0' if success and PL180 status on failure. + * + */ +int mmc_fifo_write(u32 *buf, u32 *fifo, unsigned int count, u32 *status_reg); + +#endif /* __ASSEMBLY__ */ |