1 /*
2  * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <assert.h>
8 
9 #include <common/bl_common.h>
10 
11 #include <plat/arm/common/plat_arm.h>
12 #include <plat/common/platform.h>
13 #include <platform_def.h>
14 
15 /*
16  * Table of regions to map using the MMU.
17  * Replace or extend the below regions as required
18  */
19 
20 const mmap_region_t plat_arm_mmap[] = {
21 	ARM_MAP_SHARED_RAM,
22 	ARM_MAP_NS_SHARED_RAM,
23 	ARM_MAP_NS_DRAM1,
24 	DIPHDA_MAP_DEVICE,
25 	DIPHDA_EXTERNAL_FLASH,
26 	{0}
27 };
28 
29 /* diphda only has one always-on power domain and there
30  * is no power control present
31  */
plat_arm_pwrc_setup(void)32 void __init plat_arm_pwrc_setup(void)
33 {
34 }
35 
plat_get_syscnt_freq2(void)36 unsigned int plat_get_syscnt_freq2(void)
37 {
38 	/* Returning the Generic Timer Frequency */
39 	return SYS_COUNTER_FREQ_IN_TICKS;
40 }
41 
42 
43 /*
44  * Helper function to initialize ARM interconnect driver.
45  */
plat_arm_interconnect_init(void)46 void plat_arm_interconnect_init(void)
47 {
48 }
49 
50 /*
51  * Helper function to place current master into coherency
52  */
plat_arm_interconnect_enter_coherency(void)53 void plat_arm_interconnect_enter_coherency(void)
54 {
55 }
56 
57 /*
58  * Helper function to remove current master from coherency
59  */
plat_arm_interconnect_exit_coherency(void)60 void plat_arm_interconnect_exit_coherency(void)
61 {
62 }
63 
64 /*
65  * This function is invoked during Mbed TLS library initialisation to get a heap
66  * The function simply returns the default allocated heap.
67  */
68 
69 #if TRUSTED_BOARD_BOOT
plat_get_mbedtls_heap(void ** heap_addr,size_t * heap_size)70 int plat_get_mbedtls_heap(void **heap_addr, size_t *heap_size)
71 {
72 	assert(heap_addr != NULL);
73 	assert(heap_size != NULL);
74 
75 	return arm_get_mbedtls_heap(heap_addr, heap_size);
76 }
77 #endif
78