1717448d6SSheetal Tigadoli /* 2717448d6SSheetal Tigadoli * Copyright (c) 2019-2020, Broadcom 3717448d6SSheetal Tigadoli * 4717448d6SSheetal Tigadoli * SPDX-License-Identifier: BSD-3-Clause 5717448d6SSheetal Tigadoli */ 6717448d6SSheetal Tigadoli 7717448d6SSheetal Tigadoli #ifndef PLAT_BRCM_H 8717448d6SSheetal Tigadoli #define PLAT_BRCM_H 9717448d6SSheetal Tigadoli 10717448d6SSheetal Tigadoli #include <stdint.h> 11717448d6SSheetal Tigadoli 12717448d6SSheetal Tigadoli #include <lib/cassert.h> 13717448d6SSheetal Tigadoli #include <lib/utils_def.h> 14717448d6SSheetal Tigadoli #include <lib/xlat_tables/xlat_tables.h> 15717448d6SSheetal Tigadoli 16717448d6SSheetal Tigadoli #include <platform_def.h> 17717448d6SSheetal Tigadoli 18717448d6SSheetal Tigadoli struct image_info; 19717448d6SSheetal Tigadoli 20717448d6SSheetal Tigadoli /* Global variables */ 21717448d6SSheetal Tigadoli extern const mmap_region_t plat_brcm_mmap[]; 22717448d6SSheetal Tigadoli 23717448d6SSheetal Tigadoli uint32_t brcm_get_spsr_for_bl32_entry(void); 24717448d6SSheetal Tigadoli uint32_t brcm_get_spsr_for_bl33_entry(void); 25717448d6SSheetal Tigadoli const mmap_region_t *plat_brcm_get_mmap(void); 26717448d6SSheetal Tigadoli int bcm_bl2_handle_scp_bl2(struct image_info *image_info); 27*9a40c0fbSSheetal Tigadoli unsigned int plat_brcm_calc_core_pos(u_register_t mpidr); 28*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_driver_init(void); 29*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_init(void); 30*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_cpuif_enable(void); 31*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_cpuif_disable(void); 32*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_pcpu_init(void); 33*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_redistif_on(void); 34*9a40c0fbSSheetal Tigadoli void plat_brcm_gic_redistif_off(void); 35*9a40c0fbSSheetal Tigadoli void plat_brcm_interconnect_init(void); 36*9a40c0fbSSheetal Tigadoli void plat_brcm_interconnect_enter_coherency(void); 37*9a40c0fbSSheetal Tigadoli void plat_brcm_interconnect_exit_coherency(void); 38717448d6SSheetal Tigadoli void plat_brcm_io_setup(void); 39717448d6SSheetal Tigadoli void plat_brcm_process_flags(uint16_t plat_toc_flags); 40717448d6SSheetal Tigadoli 41717448d6SSheetal Tigadoli #endif /* PLAT_BRCM_H */ 42