1/*
2 * Copyright (c) 2018-2022 Arm Limited
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef __REGION_LIMITS_H__
18#define __REGION_LIMITS_H__
19
20/* **************************************************************
21 * WARNING: this file is parsed both by the C/C++ compiler
22 * and the linker. As a result the syntax must be valid not only
23 * for C/C++ but for the linker scripts too.
24 * Beware of the following limitations:
25 *   - LD (GCC linker) requires white space around operators.
26 *   - UL postfix for macros is not suported by the linker script
27 ****************************************************************/
28
29/* Secure Code */
30#define S_ROM_ALIAS               (0x10000000) /* ITCM_BASE_S */
31#define TOTAL_S_ROM_SIZE          (0x00080000) /* 512 kB */
32
33/* Secure Data */
34#define S_RAM_ALIAS               (0x30000000) /* DTCM_BASE_S */
35#define TOTAL_S_RAM_SIZE          (0x00080000) /* 512 kB */
36
37/* Secure DDR4 */
38#define S_DDR4_ALIAS              (0x70000000) /* DDR4_BLK1_BASE_S */
39#define TOTAL_S_DDR4_SIZE         (0x10000000) /* 256 MB */
40
41/* Heap and Stack sizes for secure and nonsecure applications */
42#define HEAP_SIZE                 (0x00000400) /* 1 KiB */
43#define STACK_SIZE                (0x00000400) /* 1 KiB */
44
45#endif /* __REGION_LIMITS_H__ */
46