aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSheetal Tigadoli <sheetal.tigadoli@broadcom.com>2019-12-18 12:01:01 +0530
committerSheetal Tigadoli <sheetal.tigadoli@broadcom.com>2020-04-03 17:12:38 +0530
commit9a40c0fba66ccc706ed90ce9b40de6b0045bd660 (patch)
tree7baed0725ebb0c187fe37a3f313ded091bd791b3 /include
parent717448d622b13233e15aa43767fc8aa2f007486c (diff)
downloadplatform_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.h35
-rw-r--r--include/plat/brcm/common/plat_brcm.h11
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);