1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef SCP_SOFTWARE_MMAP_H
9 #define SCP_SOFTWARE_MMAP_H
10 
11 #include "scp_soc_mmap.h"
12 
13 #include <fwk_macros.h>
14 
15 /* SCP RAM firmware base and size on the flash */
16 #define SCP_RAMFW_IMAGE_FLASH_BASE (SCP_NOR0_FLASH_BASE + 0x03D80000)
17 #define SCP_RAMFW_IMAGE_FLASH_SIZE (256 * FWK_KIB)
18 
19 /* SCP trusted and non-trusted RAM base address */
20 #define SCP_TRUSTED_RAM_BASE    (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x04000000)
21 #define SCP_NONTRUSTED_RAM_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x06000000)
22 
23 /* Secure Shared memory between AP and SCP */
24 #define SCP_AP_SHARED_SECURE_BASE (SCP_TRUSTED_RAM_BASE)
25 #define SCP_AP_SHARED_SECURE_SIZE (4 * FWK_KIB)
26 
27 /*
28  * Non-trusted shared SRAM region
29  */
30 #define SCP_AP_SHARED_NONSECURE_BASE (SCP_NONTRUSTED_RAM_BASE)
31 #define SCP_AP_SHARED_NONSECURE_SIZE (4 * FWK_KIB)
32 
33 /* AP Context Area */
34 #define SCP_AP_CONTEXT_BASE \
35     (SCP_AP_SHARED_SECURE_BASE + SCP_AP_SHARED_SECURE_SIZE - \
36      SCP_AP_CONTEXT_SIZE)
37 #define SCP_AP_CONTEXT_SIZE (64)
38 
39 /* SDS Memory Region */
40 #define SCP_SDS_SECURE_BASE (SCP_AP_SHARED_SECURE_BASE)
41 #define SCP_SDS_SECURE_SIZE (3520)
42 
43 /* SCMI Secure Payload Areas */
44 #define SCP_SCMI_PAYLOAD_SIZE       (128)
45 #define SCP_SCMI_PAYLOAD_S_A2P_BASE (SCP_SDS_SECURE_BASE + SCP_SDS_SECURE_SIZE)
46 #define SCP_SCMI_PAYLOAD_S_P2A_BASE \
47     (SCP_SCMI_PAYLOAD_S_A2P_BASE + SCP_SCMI_PAYLOAD_SIZE)
48 
49 /* SCMI Non-Secure Payload Areas */
50 #define SCP_SCMI_PAYLOAD_NS_A2P_BASE (SCP_AP_SHARED_NONSECURE_BASE)
51 #define SCP_SCMI_PAYLOAD_NS_P2A_BASE \
52     (SCP_SCMI_PAYLOAD_NS_A2P_BASE + SCP_SCMI_PAYLOAD_SIZE)
53 
54 /* SDS non secure region */
55 #define SCP_SDS_NONSECURE_BASE \
56     (SCP_SCMI_PAYLOAD_NS_P2A_BASE + SCP_SCMI_PAYLOAD_SIZE)
57 #define SCP_SDS_NONSECURE_SIZE (1024)
58 
59 /*
60  * SCMI Fastchannel memory region. Fastchannel Size as per SCMI v2
61  * specification
62  */
63 #define SCP_SCMI_FAST_CHANNEL_BASE \
64     (SCP_SDS_NONSECURE_BASE + SCP_SDS_NONSECURE_SIZE)
65 
66 #endif /* SCP_SOFTWARE_MMAP_H */
67