mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-22 12:54:37 +00:00
ddr: imx: Save the FW loading if it hasn't changed
Function ddr_load_train_firmware() is called 4 times in a loop by ddr_cfg_phy(). The first 3 calls are all '1D' type and just loading the same FWs. Let's add a type check and save 2 of them. This helps to reduce DDRPHY training time from 269 ms down to 212 ms, and thus speed up boot time ~ 50 ms. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Reviewed-by: Fabio Estevam <festevam@denx.de>
This commit is contained in:
parent
be4a5f7c35
commit
b614ddb5d3
1 changed files with 7 additions and 0 deletions
|
@ -49,6 +49,13 @@ void ddr_load_train_firmware(enum fw_type type)
|
|||
unsigned long imem_start = (unsigned long)_end + fw_offset;
|
||||
unsigned long dmem_start;
|
||||
unsigned long imem_len = IMEM_LEN, dmem_len = DMEM_LEN;
|
||||
static enum fw_type last_type = -1;
|
||||
|
||||
/* If FW doesn't change, we can save the loading. */
|
||||
if (last_type == type)
|
||||
return;
|
||||
|
||||
last_type = type;
|
||||
|
||||
#ifdef CONFIG_SPL_OF_CONTROL
|
||||
if (gd->fdt_blob && !fdt_check_header(gd->fdt_blob)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue