1 /* 2 * Copyright (c) 2019-2020, Broadcom 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef PLAT_BRCM_H 8 #define PLAT_BRCM_H 9 10 #include <stdint.h> 11 12 #include <lib/cassert.h> 13 #include <lib/utils_def.h> 14 #include <lib/xlat_tables/xlat_tables.h> 15 16 #include <platform_def.h> 17 18 struct image_info; 19 20 /* Global variables */ 21 extern const mmap_region_t plat_brcm_mmap[]; 22 23 uint32_t brcm_get_spsr_for_bl32_entry(void); 24 uint32_t brcm_get_spsr_for_bl33_entry(void); 25 const mmap_region_t *plat_brcm_get_mmap(void); 26 int bcm_bl2_handle_scp_bl2(struct image_info *image_info); 27 unsigned int plat_brcm_calc_core_pos(u_register_t mpidr); 28 void plat_brcm_gic_driver_init(void); 29 void plat_brcm_gic_init(void); 30 void plat_brcm_gic_cpuif_enable(void); 31 void plat_brcm_gic_cpuif_disable(void); 32 void plat_brcm_gic_pcpu_init(void); 33 void plat_brcm_gic_redistif_on(void); 34 void plat_brcm_gic_redistif_off(void); 35 void plat_brcm_interconnect_init(void); 36 void plat_brcm_interconnect_enter_coherency(void); 37 void plat_brcm_interconnect_exit_coherency(void); 38 void plat_brcm_io_setup(void); 39 void plat_brcm_process_flags(uint16_t plat_toc_flags); 40 41 #endif /* PLAT_BRCM_H */ 42