1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2017-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *     Software defined memory map shared between SCP and AP cores.
9  */
10 
11 #ifndef SCP_SOFTWARE_MMAP_H
12 #define SCP_SOFTWARE_MMAP_H
13 
14 #include "scp_rdn1e1_mmap.h"
15 
16 #include <fwk_macros.h>
17 
18 #define SCP_NOR_FLASH_BASE                  0x08000000
19 #define SCP_NOR_BASE                        (SCP_NOR_FLASH_BASE + 0x03D80000)
20 #define SCP_IMAGE_SIZE                      (256 * FWK_KIB)
21 
22 #define SCP_AP_SHARED_SECURE_BASE           (SCP_TRUSTED_RAM_BASE)
23 #define SCP_AP_SHARED_SECURE_SIZE           (4 * FWK_KIB)
24 
25 /* Non-secure shared memory at the base of Non-trusted SRAM */
26 #define SCP_AP_SHARED_NONSECURE_BASE        (SCP_NONTRUSTED_RAM_BASE)
27 #define SCP_AP_SHARED_NONSECURE_SIZE        (4 * FWK_KIB)
28 
29 /* SDS Memory Region */
30 #define SCP_SDS_SECURE_BASE                 (SCP_AP_SHARED_SECURE_BASE)
31 #define SCP_SDS_SECURE_SIZE                 (3520)
32 
33 /* AP Context Area */
34 #define SCP_AP_CONTEXT_BASE                 (SCP_AP_SHARED_SECURE_BASE + \
35                                             SCP_AP_SHARED_SECURE_SIZE - \
36                                             SCP_AP_CONTEXT_SIZE)
37 #define SCP_AP_CONTEXT_SIZE                 (64)
38 
39 /* SCMI Secure Payload Areas */
40 #define SCP_SCMI_PAYLOAD_SIZE               (128)
41 #define SCP_SCMI_PAYLOAD_S_A2P_BASE         (SCP_SDS_SECURE_BASE + \
42                                             SCP_SDS_SECURE_SIZE)
43 #define SCP_SCMI_PAYLOAD_S_P2A_BASE         (SCP_SCMI_PAYLOAD_S_A2P_BASE + \
44                                             SCP_SCMI_PAYLOAD_SIZE)
45 
46 /* SCMI Non-Secure Payload Areas */
47 #define SCP_SCMI_PAYLOAD_NS_A2P_BASE        (SCP_AP_SHARED_NONSECURE_BASE)
48 #define SCP_SCMI_PAYLOAD_NS_P2A_BASE        (SCP_SCMI_PAYLOAD_NS_A2P_BASE + \
49                                             SCP_SCMI_PAYLOAD_SIZE)
50 
51 #define SCP_SDS_NONSECURE_BASE              (SCP_SCMI_PAYLOAD_NS_P2A_BASE + \
52                                              SCP_SCMI_PAYLOAD_SIZE)
53 #define SCP_SDS_NONSECURE_SIZE              (1024)
54 
55 #endif /* SCP_SOFTWARE_MMAP_H */
56