blob: 1da0ff96aa53d4d3318ca567460a69221a9a60b3 [file] [log] [blame]
Chandni Cherukurif3a6cab2020-09-22 18:56:25 +05301/*
Manoj Kumar91162752022-06-23 12:30:37 +01002 * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
Chandni Cherukurif3a6cab2020-09-22 18:56:25 +05303 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Manoj Kumar58876122021-01-10 16:12:24 +00007#include <assert.h>
8
9#include <drivers/arm/sbsa.h>
Chandni Cherukurif3a6cab2020-09-22 18:56:25 +053010#include <plat/arm/common/plat_arm.h>
11
12#include "morello_def.h"
13
14/*
15 * Table of regions to map using the MMU.
16 * Replace or extend the below regions as required
17 */
Manoj Kumar91162752022-06-23 12:30:37 +010018#if IMAGE_BL1
Chandni Cherukurif3a6cab2020-09-22 18:56:25 +053019const mmap_region_t plat_arm_mmap[] = {
20 ARM_MAP_SHARED_RAM,
21 MORELLO_MAP_DEVICE,
22 MORELLO_MAP_NS_SRAM,
23 ARM_MAP_DRAM1,
Manoj Kumarb19e62a2021-08-26 10:49:02 +053024 ARM_MAP_DRAM2,
Chandni Cherukurif3a6cab2020-09-22 18:56:25 +053025 {0}
26};
Manoj Kumar58876122021-01-10 16:12:24 +000027#endif
Manoj Kumar91162752022-06-23 12:30:37 +010028
29#if IMAGE_BL31
30const mmap_region_t plat_arm_mmap[] = {
31 ARM_MAP_SHARED_RAM,
32 MORELLO_MAP_DEVICE,
33 MORELLO_MAP_NS_SRAM,
34 {0}
35};
36#endif
37
Manoj Kumar58876122021-01-10 16:12:24 +000038#if IMAGE_BL2
39const mmap_region_t plat_arm_mmap[] = {
40 ARM_MAP_SHARED_RAM,
41 MORELLO_MAP_DEVICE,
42 MORELLO_MAP_NS_SRAM,
43 ARM_MAP_DRAM1,
Manoj Kumar91162752022-06-23 12:30:37 +010044 ARM_MAP_DRAM2,
Manoj Kumar58876122021-01-10 16:12:24 +000045#if TRUSTED_BOARD_BOOT && !BL2_AT_EL3
46 ARM_MAP_BL1_RW,
47#endif
48 {0}
49};
50#endif
51
52#if TRUSTED_BOARD_BOOT
53int plat_get_mbedtls_heap(void **heap_addr, size_t *heap_size)
54{
55 assert(heap_addr != NULL);
56 assert(heap_size != NULL);
57
58 return arm_get_mbedtls_heap(heap_addr, heap_size);
59}
60#endif
61
62void plat_arm_secure_wdt_start(void)
63{
64 sbsa_wdog_start(SBSA_SECURE_WDOG_BASE, SBSA_SECURE_WDOG_TIMEOUT);
65}
66
67void plat_arm_secure_wdt_stop(void)
68{
69 sbsa_wdog_stop(SBSA_SECURE_WDOG_BASE);
70}