diff options
author | Mikael Larsson <mikael.xt.larsson@stericsson.com> | 2010-09-16 13:31:13 +0200 |
---|---|---|
committer | Michael BRANDT <michael.brandt@stericsson.com> | 2010-09-28 18:20:52 +0200 |
commit | a528a25f4c1956b67d121c99ab3aadbfa0cdf93b (patch) | |
tree | eb6d40bf54c49d3b4e6dd3068e72a61c0e5dcb46 /board/st/u8500/mmc_host.c | |
parent | 76f64ab36b85b33abfc9a53eff21e87fc63c8794 (diff) |
ITP loading
This adds functionality to load and execute ITP in an early stage just after eMMC init.
eMMC init was moved to mmc_host.c since it fits better there and is needed in
order to access ITP before loading env.
Flag for functionality is CONFIG_ITP_LOAD.
This functionailty depends on CONFIG_TOC_PARTITION
ST-Ericsson ID: ER273744
Change-Id: Ia80f0bf2d67055045c95e47473b9ba2275bbdb83
Signed-off-by: Mikael LARSSON <mikael.xt.larsson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/5130
Reviewed-by: Michael BRANDT <michael.brandt@stericsson.com>
Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com>
Diffstat (limited to 'board/st/u8500/mmc_host.c')
-rw-r--r-- | board/st/u8500/mmc_host.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/board/st/u8500/mmc_host.c b/board/st/u8500/mmc_host.c index df46eb02c..92ff6510e 100644 --- a/board/st/u8500/mmc_host.c +++ b/board/st/u8500/mmc_host.c @@ -21,6 +21,8 @@ #include <malloc.h> #include <div64.h> #include "mmc_fifo.h" +#include "itp.h" + struct mmc_host { struct sdi_registers *base; @@ -608,6 +610,21 @@ int board_mmc_init(bd_t *bis) debugX(DBG_LVL_VERBOSE, "registered emmc interface number is:%d\n", dev->block_dev.dev); + + mmc_init(dev); + + /* + * In a perfect world itp_load_itp shouldn't be here but we want ITP + * to be loaded as quickly as possible and putting it here will get the + * shortest time to start loading ITP. Time saved by putting it here + * compared to later is somewhere between 0.3-0.7s. That is enough to be + * able to justify putting it here. + */ + +#ifdef CONFIG_ITP_LOAD + itp_load_itp(&dev->block_dev); +#endif + dev = alloc_mmc_struct(); if (!dev) return -1; |