diff options
author | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2018-09-24 17:23:47 +0100 |
---|---|---|
committer | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2018-09-28 15:31:54 +0100 |
commit | 210d90a985afe42c4d17f84f94e82f73a4ba306c (patch) | |
tree | f1cff531ac7f3421bcbd9aece635f82ca0b940ee /plat/hisilicon/hikey960/hikey960_bl31_setup.c | |
parent | c3b5800bbb869b7b424d9e8436635583a42b0c7e (diff) | |
download | arm-trusted-firmware-210d90a985afe42c4d17f84f94e82f73a4ba306c.tar.gz |
hikey960: Migrate to new interfaces
- Migrate to new GIC interfaces.
- Remove unused bl1_init_bl2_mem_layout().
- Migrate to bl31_early_platform_setup2().
- Use PLAT_VIRT_ADDR_SPACE_SIZE and PLAT_PHY_ADDR_SPACE_SIZE.
- Remove references to removed build options.
- Update Makefile paths.
Change-Id: I583fd893555e6535f32d87ed67bbae430b8e6afe
Tested-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'plat/hisilicon/hikey960/hikey960_bl31_setup.c')
-rw-r--r-- | plat/hisilicon/hikey960/hikey960_bl31_setup.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/plat/hisilicon/hikey960/hikey960_bl31_setup.c b/plat/hisilicon/hikey960/hikey960_bl31_setup.c index f8921f270..d7164ff51 100644 --- a/plat/hisilicon/hikey960/hikey960_bl31_setup.c +++ b/plat/hisilicon/hikey960/hikey960_bl31_setup.c @@ -5,7 +5,6 @@ */ #include <arch_helpers.h> -#include <arm_gic.h> #include <assert.h> #include <bl_common.h> #include <cci.h> @@ -17,6 +16,7 @@ #include <hi3660.h> #include <hisi_ipc.h> #include <interrupt_mgmt.h> +#include <interrupt_props.h> #include <platform.h> #include <platform_def.h> @@ -49,16 +49,18 @@ static entry_point_info_t bl33_ep_info; * On a GICv2 system, the Group 1 secure interrupts are treated as Group 0 * interrupts. *****************************************************************************/ -const unsigned int g0_interrupt_array[] = { - IRQ_SEC_PHY_TIMER, - IRQ_SEC_SGI_0 +static const interrupt_prop_t g0_interrupt_props[] = { + INTR_PROP_DESC(IRQ_SEC_PHY_TIMER, GIC_HIGHEST_SEC_PRIORITY, + GICV2_INTR_GROUP0, GIC_INTR_CFG_LEVEL), + INTR_PROP_DESC(IRQ_SEC_SGI_0, GIC_HIGHEST_SEC_PRIORITY, + GICV2_INTR_GROUP0, GIC_INTR_CFG_LEVEL), }; const gicv2_driver_data_t hikey960_gic_data = { .gicd_base = GICD_REG_BASE, .gicc_base = GICC_REG_BASE, - .g0_interrupt_num = ARRAY_SIZE(g0_interrupt_array), - .g0_interrupt_array = g0_interrupt_array, + .interrupt_props = g0_interrupt_props, + .interrupt_props_num = ARRAY_SIZE(g0_interrupt_props), }; static const int cci_map[] = { @@ -78,10 +80,13 @@ entry_point_info_t *bl31_plat_get_next_image_ep_info(uint32_t type) return NULL; } -void bl31_early_platform_setup(void *from_bl2, - void *plat_params_from_bl2) +void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, + u_register_t arg2, u_register_t arg3) { unsigned int id, uart_base; + void *from_bl2; + + from_bl2 = (void *) arg0; generic_delay_timer_init(); hikey960_read_boardid(&id); |