diff options
author | Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> | 2019-12-18 12:01:01 +0530 |
---|---|---|
committer | Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> | 2020-04-03 17:12:38 +0530 |
commit | 9a40c0fba66ccc706ed90ce9b40de6b0045bd660 (patch) | |
tree | 7baed0725ebb0c187fe37a3f313ded091bd791b3 /include | |
parent | 717448d622b13233e15aa43767fc8aa2f007486c (diff) | |
download | platform_external_arm-trusted-firmware-9a40c0fba66ccc706ed90ce9b40de6b0045bd660.tar.gz platform_external_arm-trusted-firmware-9a40c0fba66ccc706ed90ce9b40de6b0045bd660.tar.bz2 platform_external_arm-trusted-firmware-9a40c0fba66ccc706ed90ce9b40de6b0045bd660.zip |
Add bl31 support common across Broadcom platforms
Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com>
Change-Id: Ic1a392a633b447935fa3a7528326c97845f5b1bc
Diffstat (limited to 'include')
-rw-r--r-- | include/drivers/brcm/dmu.h | 35 | ||||
-rw-r--r-- | include/plat/brcm/common/plat_brcm.h | 11 |
2 files changed, 46 insertions, 0 deletions
diff --git a/include/drivers/brcm/dmu.h b/include/drivers/brcm/dmu.h new file mode 100644 index 000000000..3a57bbdee --- /dev/null +++ b/include/drivers/brcm/dmu.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2015 - 2020, Broadcom + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef DMU_H +#define DMU_H + +/* Clock field should be 2 bits only */ +#define CLKCONFIG_MASK 0x3 + +/* argument */ +struct DmuBlockEnable { + uint32_t sotp:1; + uint32_t pka_rng:1; + uint32_t crypto:1; + uint32_t spl:1; + uint32_t cdru_vgm:1; + uint32_t apbs_s0_idm:1; + uint32_t smau_s0_idm:1; +}; + +/* prototype */ +uint32_t bcm_dmu_block_enable(struct DmuBlockEnable dbe); +uint32_t bcm_dmu_block_disable(struct DmuBlockEnable dbe); +uint32_t bcm_set_ihost_pll_freq(uint32_t cluster_num, int ihost_pll_freq_sel); +uint32_t bcm_get_ihost_pll_freq(uint32_t cluster_num); + +#define PLL_FREQ_BYPASS 0x0 +#define PLL_FREQ_FULL 0x1 +#define PLL_FREQ_HALF 0x2 +#define PLL_FREQ_QRTR 0x3 + +#endif diff --git a/include/plat/brcm/common/plat_brcm.h b/include/plat/brcm/common/plat_brcm.h index 9147caac5..66ed2cbaf 100644 --- a/include/plat/brcm/common/plat_brcm.h +++ b/include/plat/brcm/common/plat_brcm.h @@ -24,6 +24,17 @@ uint32_t brcm_get_spsr_for_bl32_entry(void); uint32_t brcm_get_spsr_for_bl33_entry(void); const mmap_region_t *plat_brcm_get_mmap(void); int bcm_bl2_handle_scp_bl2(struct image_info *image_info); +unsigned int plat_brcm_calc_core_pos(u_register_t mpidr); +void plat_brcm_gic_driver_init(void); +void plat_brcm_gic_init(void); +void plat_brcm_gic_cpuif_enable(void); +void plat_brcm_gic_cpuif_disable(void); +void plat_brcm_gic_pcpu_init(void); +void plat_brcm_gic_redistif_on(void); +void plat_brcm_gic_redistif_off(void); +void plat_brcm_interconnect_init(void); +void plat_brcm_interconnect_enter_coherency(void); +void plat_brcm_interconnect_exit_coherency(void); void plat_brcm_io_setup(void); void plat_brcm_process_flags(uint16_t plat_toc_flags); |