aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2018-01-30 10:35:17 +0800
committerHaojian Zhuang <haojian.zhuang@linaro.org>2018-03-05 13:05:42 +0800
commit19b731e810399145ee085cfe25411f91bbb0625b (patch)
tree27c993ec4f527f8278ddfc955867300a6c9d91d1
parentd2128731a93e0bd1c3580d045232cf9a984db606 (diff)
downloadtrusted-firmware-a-19b731e810399145ee085cfe25411f91bbb0625b.tar.gz
hikey960: fix invoking driver init in image load driver
It's unnecessary to call platform driver initialization in image load driver. We could make bl2_platform_setup() to executing just before SCP_BL2 by setting flag IMAGE_ATTRIB_PLAT_SETUP. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
-rw-r--r--plat/hisilicon/hikey960/hikey960_bl2_setup.c4
-rw-r--r--plat/hisilicon/hikey960/hikey960_image_load.c8
-rw-r--r--plat/hisilicon/hikey960/hikey960_private.h1
3 files changed, 4 insertions, 9 deletions
diff --git a/plat/hisilicon/hikey960/hikey960_bl2_setup.c b/plat/hisilicon/hikey960/hikey960_bl2_setup.c
index d443d8e83e..50bc7f0a8c 100644
--- a/plat/hisilicon/hikey960/hikey960_bl2_setup.c
+++ b/plat/hisilicon/hikey960/hikey960_bl2_setup.c
@@ -157,7 +157,7 @@ static void hikey960_ufs_reset(void)
} while (data & PERI_UFS_BIT);
}
-void hikey960_init_ufs(void)
+static void hikey960_init_ufs(void)
{
dw_ufs_params_t ufs_params;
@@ -747,4 +747,6 @@ void bl2_platform_setup(void)
hikey960_tzc_init();
hikey960_peri_init();
hikey960_pinmux_init();
+ hikey960_init_ufs();
+ hikey960_io_setup();
}
diff --git a/plat/hisilicon/hikey960/hikey960_image_load.c b/plat/hisilicon/hikey960/hikey960_image_load.c
index 8e91adbf2e..ad7be5081d 100644
--- a/plat/hisilicon/hikey960/hikey960_image_load.c
+++ b/plat/hisilicon/hikey960/hikey960_image_load.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -8,8 +8,6 @@
#include <desc_image_load.h>
#include <platform.h>
-#include "hikey960_private.h"
-
/*******************************************************************************
* This function flushes the data structures so that they are visible
* in memory for the next BL image.
@@ -24,10 +22,6 @@ void plat_flush_next_bl_params(void)
******************************************************************************/
bl_load_info_t *plat_get_bl_image_load_info(void)
{
- /* Required before loading scp_bl2 */
- hikey960_init_ufs();
- hikey960_io_setup();
-
return get_bl_load_info_from_mem_params_desc();
}
diff --git a/plat/hisilicon/hikey960/hikey960_private.h b/plat/hisilicon/hikey960/hikey960_private.h
index e3c9d2153b..8f2a842e2b 100644
--- a/plat/hisilicon/hikey960/hikey960_private.h
+++ b/plat/hisilicon/hikey960/hikey960_private.h
@@ -24,7 +24,6 @@ void hikey960_init_mmu_el3(unsigned long total_base,
unsigned long ro_limit,
unsigned long coh_start,
unsigned long coh_limit);
-void hikey960_init_ufs(void);
void hikey960_io_setup(void);
int hikey960_read_boardid(unsigned int *id);
void set_retention_ticks(unsigned int val);