ARM platforms: Initialize cntfrq for BL1 Firmware update

Currenly the CNTFRQ register and system timer is initialized in BL31 for
use by the normal world. During firmware update, the NS-BL1 or NS-BL2U
may need to access the system timer. Hence this patch duplicates the
CNTFRQ and system timer initialization in BL1 as well.

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: I1ede78b4ae64080fb418cb93f3e48b26d7b724dc
This commit is contained in:
Soby Mathew 2018-06-11 16:40:36 +01:00
parent f790cc0a9c
commit 3208edcdfe
2 changed files with 8 additions and 0 deletions

View File

@ -306,6 +306,8 @@ On Arm platforms, BL1 performs the following platform initializations:
- If the BL1 dynamic configuration file, ``TB_FW_CONFIG``, is available, then
load it to the platform defined address and make it available to BL2 via
``arg0``.
- Configure the system timer and program the `CNTFRQ_EL0` for use by NS-BL1U
and NS-BL2U firmware update images.
Firmware Update detection and execution
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -118,6 +118,12 @@ void arm_bl1_platform_setup(void)
#if LOAD_IMAGE_V2
arm_load_tb_fw_config();
#endif
/*
* Allow access to the System counter timer module and program
* counter frequency for non secure images during FWU
*/
arm_configure_sys_timer();
write_cntfrq_el0(plat_get_syscnt_freq2());
}
void bl1_platform_setup(void)