blob: e6cfef32ffa85bd78c406be31df53bbea41e34f2 [file] [log] [blame]
alexander3c798932021-03-26 21:42:19 +00001#----------------------------------------------------------------------------
2# Copyright (c) 2021 Arm Limited. All rights reserved.
3# SPDX-License-Identifier: Apache-2.0
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#----------------------------------------------------------------------------
17
18# CMake configuration file for peripheral memory map for simple platform. This is a stripped down
19# version of Arm Corstone-300 platform with minimal peripherals to be able to use Ethos-U55. However,
20# for ease of integration with Arm FastModel Tools, it uses PL011 as the UART component instead of
21# the CMSDK UART block used by the MPS3 FPGA and FVP implementations.
Kshitij Sisodiaf4962c82021-10-04 12:20:33 +010022###################################################################################################
23# Mem sizes #
24###################################################################################################
25set(ITCM_SIZE "0x00080000" CACHE STRING "ITCM size: 512 kiB")
26set(DTCM_BLK_SIZE "0x00020000" CACHE STRING "DTCM size: 128 kiB, 4 banks")
Kshitij Sisodia661959c2021-11-24 10:39:52 +000027set(BRAM_SIZE "0x00100000" CACHE STRING "BRAM size: 1 MiB")
28set(ISRAM0_SIZE "0x00100000" CACHE STRING "ISRAM0 size: 1 MiB")
29set(ISRAM1_SIZE "0x00100000" CACHE STRING "ISRAM1 size: 1 MiB")
Kshitij Sisodiaf4962c82021-10-04 12:20:33 +010030set(DDR4_BLK_SIZE "0x10000000" CACHE STRING "DDR4 block size: 256 MiB")
31
32###################################################################################################
33# Base addresses for memory regions #
34###################################################################################################
35set(ITCM_BASE_NS "0x00000000" CACHE STRING "Instruction TCM Non-Secure base address")
36set(BRAM_BASE_NS "0x01000000" CACHE STRING "CODE SRAM Non-Secure base address")
37set(DTCM0_BASE_NS "0x20000000" CACHE STRING "Data TCM block 0 Non-Secure base address")
38set(DTCM1_BASE_NS "0x20020000" CACHE STRING "Data TCM block 1 Non-Secure base address")
39set(DTCM2_BASE_NS "0x20040000" CACHE STRING "Data TCM block 2 Non-Secure base address")
40set(DTCM3_BASE_NS "0x20060000" CACHE STRING "Data TCM block 3 Non-Secure base address")
41set(ISRAM0_BASE_NS "0x21000000" CACHE STRING "Internal SRAM Area Non-Secure base address")
Kshitij Sisodia661959c2021-11-24 10:39:52 +000042set(ISRAM1_BASE_NS "0x21100000" CACHE STRING "Internal SRAM Area Non-Secure base address")
Kshitij Sisodiaf4962c82021-10-04 12:20:33 +010043set(QSPI_SRAM_BASE_NS "0x28000000" CACHE STRING "QSPI SRAM Non-Secure base address")
44set(DDR4_BLK0_BASE_NS "0x60000000" CACHE STRING "DDR4 block 0 Non-Secure base address")
45set(DDR4_BLK1_BASE_NS "0x80000000" CACHE STRING "DDR4 block 1 Non-Secure base address")
46set(DDR4_BLK2_BASE_NS "0xA0000000" CACHE STRING "DDR4 block 2 Non-Secure base address")
47set(DDR4_BLK3_BASE_NS "0xC0000000" CACHE STRING "DDR4 block 3 Non-Secure base address")
48
49set(ITCM_BASE_S "0x10000000" CACHE STRING "Instruction TCM Secure base address")
50set(BRAM_BASE_S "0x11000000" CACHE STRING "CODE SRAM Secure base address")
51set(DTCM0_BASE_S "0x30000000" CACHE STRING "Data TCM block 0 Secure base address")
52set(DTCM1_BASE_S "0x30020000" CACHE STRING "Data TCM block 1 Secure base address")
53set(DTCM2_BASE_S "0x30040000" CACHE STRING "Data TCM block 2 Secure base address")
54set(DTCM3_BASE_S "0x30060000" CACHE STRING "Data TCM block 3 Secure base address")
55set(ISRAM0_BASE_S "0x31000000" CACHE STRING "Internal SRAM Area Secure base address")
Kshitij Sisodia661959c2021-11-24 10:39:52 +000056set(ISRAM1_BASE_S "0x31100000" CACHE STRING "Internal SRAM Area Secure base address")
Kshitij Sisodiaf4962c82021-10-04 12:20:33 +010057set(DDR4_BLK0_BASE_S "0x70000000" CACHE STRING "DDR4 block 0 Secure base address")
58set(DDR4_BLK1_BASE_S "0x90000000" CACHE STRING "DDR4 block 1 Secure base address")
59set(DDR4_BLK2_BASE_S "0xB0000000" CACHE STRING "DDR4 block 2 Secure base address")
60set(DDR4_BLK3_BASE_S "0xD0000000" CACHE STRING "DDR4 block 3 Secure base address")
alexander3c798932021-03-26 21:42:19 +000061
62###################################################################################################
63# Application specific config #
64###################################################################################################
65
Kshitij Sisodia659fcd92021-05-19 10:30:06 +010066# This parameter is based on the linker/scatter script for simple platform. Do not change this
alexander3c798932021-03-26 21:42:19 +000067# parameter in isolation.
alexander3c798932021-03-26 21:42:19 +000068set(DESIGN_NAME "Simple platform" CACHE STRING "Design name")
69
Kshitij Sisodiaf4962c82021-10-04 12:20:33 +010070# SRAM size reserved for activation buffers
71math(EXPR ACTIVATION_BUF_SRAM_SZ "${ISRAM0_SIZE} + ${ISRAM1_SIZE}" OUTPUT_FORMAT HEXADECIMAL)
72
73
alexander3c798932021-03-26 21:42:19 +000074###################################################################################################
75# Base addresses #
76###################################################################################################
77set(PL011_UART0_BASE "0x49303000" CACHE STRING "PL011 UART 0 Base Address")
78
Cisco Cervelleraf085fa52021-08-02 09:32:07 +010079if (ETHOS_U_NPU_ENABLED)
80 set(ETHOS_U_NPU_BASE "0x48102000" CACHE STRING "Ethos-U NPU base address")
81 set(ETHOS_U_NPU_TA0_BASE "0x48103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
82 set(ETHOS_U_NPU_TA1_BASE "0x48103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
83 set(SEC_ETHOS_U_NPU_BASE "0x58102000" CACHE STRING "Ethos-U NPU base address")
84 set(SEC_ETHOS_U_NPU_TA0_BASE "0x58103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
85 set(SEC_ETHOS_U_NPU_TA1_BASE "0x58103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
alexander3c798932021-03-26 21:42:19 +000086endif ()
87
88###################################################################################################
89# IRQ numbers #
90###################################################################################################
Cisco Cervelleraf085fa52021-08-02 09:32:07 +010091if (ETHOS_U_NPU_ENABLED)
92 set(EthosU_IRQn "56" CACHE STRING "Ethos-U NPU Interrupt")
alexander3c798932021-03-26 21:42:19 +000093endif ()