blob: 8b565fe7d836f4c52c463bd3ae1d23c50405df30 [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 MPS3 as per SSE-300 design
19###################################################################################################
20# Application specific config #
21###################################################################################################
22
23# This parameter is based on the linker/scatter script for SSE-300. Do not change this parameter
24# in isolation.
25set(ACTIVATION_BUF_SRAM_SZ "0x00400000" CACHE STRING "Maximum SRAM size for activation buffers")
26set(DESIGN_NAME "Arm Corstone-300 (SSE-300)" CACHE STRING "Design name")
27
28###################################################################################################
29# Mem sizes #
30###################################################################################################
31set(ITCM_SIZE "0x00080000" CACHE STRING "ITCM size: 512 kiB")
32set(DTCM_BLK_SIZE "0x00020000" CACHE STRING "DTCM size: 128 kiB, 4 banks")
33set(BRAM_SIZE "0x00200000" CACHE STRING "BRAM size: 2 MiB")
34set(ISRAM0_SIZE "0x00200000" CACHE STRING "ISRAM0 size: 2 MiB")
35set(ISRAM1_SIZE "0x00200000" CACHE STRING "ISRAM1 size: 2 MiB")
36set(QSPI_SRAM_SIZE "0x00800000" CACHE STRING "QSPI Flash size: 8 MiB")
37set(DDR4_BLK_SIZE "0x10000000" CACHE STRING "DDR4 block size: 256 MiB")
38
39###################################################################################################
40# Base addresses for memory regions #
41###################################################################################################
42set(ITCM_BASE_NS "0x00000000" CACHE STRING "Instruction TCM Non-Secure base address")
43set(BRAM_BASE_NS "0x01000000" CACHE STRING "CODE SRAM Non-Secure base address")
44set(DTCM0_BASE_NS "0x20000000" CACHE STRING "Data TCM block 0 Non-Secure base address")
45set(DTCM1_BASE_NS "0x20020000" CACHE STRING "Data TCM block 1 Non-Secure base address")
46set(DTCM2_BASE_NS "0x20040000" CACHE STRING "Data TCM block 2 Non-Secure base address")
47set(DTCM3_BASE_NS "0x20060000" CACHE STRING "Data TCM block 3 Non-Secure base address")
48set(ISRAM0_BASE_NS "0x21000000" CACHE STRING "Internal SRAM Area Non-Secure base address")
49set(ISRAM1_BASE_NS "0x21200000" CACHE STRING "Internal SRAM Area Non-Secure base address")
50set(QSPI_SRAM_BASE_NS "0x28000000" CACHE STRING "QSPI SRAM Non-Secure base address")
51set(DDR4_BLK0_BASE_NS "0x60000000" CACHE STRING "DDR4 block 0 Non-Secure base address")
52set(DDR4_BLK1_BASE_NS "0x80000000" CACHE STRING "DDR4 block 1 Non-Secure base address")
53set(DDR4_BLK2_BASE_NS "0xA0000000" CACHE STRING "DDR4 block 2 Non-Secure base address")
54set(DDR4_BLK3_BASE_NS "0xC0000000" CACHE STRING "DDR4 block 3 Non-Secure base address")
55
56set(ITCM_BASE_S "0x10000000" CACHE STRING "Instruction TCM Secure base address")
57set(BRAM_BASE_S "0x11000000" CACHE STRING "CODE SRAM Secure base address")
58set(DTCM0_BASE_S "0x30000000" CACHE STRING "Data TCM block 0 Secure base address")
59set(DTCM1_BASE_S "0x30020000" CACHE STRING "Data TCM block 1 Secure base address")
60set(DTCM2_BASE_S "0x30040000" CACHE STRING "Data TCM block 2 Secure base address")
61set(DTCM3_BASE_S "0x30060000" CACHE STRING "Data TCM block 3 Secure base address")
62set(ISRAM0_BASE_S "0x31000000" CACHE STRING "Internal SRAM Area Secure base address")
63set(ISRAM1_BASE_S "0x31200000" CACHE STRING "Internal SRAM Area Secure base address")
64set(DDR4_BLK0_BASE_S "0x70000000" CACHE STRING "DDR4 block 0 Secure base address")
65set(DDR4_BLK1_BASE_S "0x90000000" CACHE STRING "DDR4 block 1 Secure base address")
66set(DDR4_BLK2_BASE_S "0xB0000000" CACHE STRING "DDR4 block 2 Secure base address")
67set(DDR4_BLK3_BASE_S "0xD0000000" CACHE STRING "DDR4 block 3 Secure base address")
68
69
70###################################################################################################
71# Base addresses for peripherals - non secure #
72###################################################################################################
73set(CMSDK_GPIO0_BASE "0x41100000" CACHE STRING "User GPIO 0 Base Address (4KB)")
74set(CMSDK_GPIO1_BASE "0x41101000" CACHE STRING "User GPIO 1 Base Address (4KB)")
75set(CMSDK_GPIO2_BASE "0x41102000" CACHE STRING "User GPIO 2 Base Address (4KB)")
76set(CMSDK_GPIO3_BASE "0x41103000" CACHE STRING "User GPIO 3 Base Address (4KB)")
77
78set(AHB_USER0_BASE "0x41104000" CACHE STRING "AHB USER 0 Base Address (4KB)")
79set(AHB_USER1_BASE "0x41105000" CACHE STRING "AHB USER 1 Base Address (4KB)")
80set(AHB_USER2_BASE "0x41106000" CACHE STRING "AHB USER 2 Base Address (4KB)")
81set(AHB_USER3_BASE "0x41107000" CACHE STRING "AHB USER 3 Base Address (4KB)")
82
83set(DMA0_BASE "0x41200000" CACHE STRING "DMA0 (4KB)")
84set(DMA1_BASE "0x41201000" CACHE STRING "DMA1 (4KB)")
85set(DMA2_BASE "0x41202000" CACHE STRING "DMA2 (4KB)")
86set(DMA3_BASE "0x41203000" CACHE STRING "DMA3 (4KB)")
87
88set(SMSC9220_BASE "0x41400000" CACHE STRING "Ethernet SMSC9220 Base Address (1MB)")
89set(USB_BASE "0x41500000" CACHE STRING "USB Base Address (1MB)")
90
91set(USER_APB0_BASE "0x41700000" CACHE STRING "User APB0")
92set(USER_APB1_BASE "0x41701000" CACHE STRING "User APB1")
93set(USER_APB2_BASE "0x41702000" CACHE STRING "User APB2")
94set(USER_APB3_BASE "0x41703000" CACHE STRING "User APB3")
95
96set(QSPI_XIP_BASE "0x41800000" CACHE STRING "QSPI XIP config Base Address ")
97set(QSPI_WRITE_BASE "0x41801000" CACHE STRING "QSPI write config Base Address ")
98
99if (ETHOS_U55_ENABLED)
100 set(ETHOS_U55_BASE "0x48102000" CACHE STRING "Ethos-U55 base address")
101 set(ETHOS_U55_TA0_BASE "0x48103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
102 set(ETHOS_U55_TA1_BASE "0x48103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
103endif (ETHOS_U55_ENABLED)
104
105set(MPS3_I2C0_BASE "0x49200000" CACHE STRING "Touch Screen I2C Base Address ")
106set(MPS3_I2C1_BASE "0x49201000" CACHE STRING "Audio Interface I2C Base Address ")
107set(MPS3_SSP2_BASE "0x49202000" CACHE STRING "ADC SPI PL022 Base Address")
108set(MPS3_SSP3_BASE "0x49203000" CACHE STRING "Shield 0 SPI PL022 Base Address")
109set(MPS3_SSP4_BASE "0x49204000" CACHE STRING "Shield 1 SPI PL022 Base Address")
110set(MPS3_I2C2_BASE "0x49205000" CACHE STRING "Shield 0 SBCon Base Address ")
111set(MPS3_I2C3_BASE "0x49206000" CACHE STRING "Shield 1 SBCon Base Address ")
112
113set(USER_APB_BASE "0x49207000" CACHE STRING "User APB")
114set(MPS3_I2C5_BASE "0x49208000" CACHE STRING "DDR EPROM I2C SBCon Base Address ")
115
116set(MPS3_SCC_BASE "0x49300000" CACHE STRING "SCC Base Address ")
117set(MPS3_AAIC_I2S_BASE "0x49301000" CACHE STRING "Audio Interface I2S Base Address ")
118set(MPS3_FPGAIO_BASE "0x49302000" CACHE STRING "FPGA IO Base Address ")
119
120set(CMSDK_UART0_BASE "0x49303000" CACHE STRING "UART 0 Base Address ")
121set(CMSDK_UART1_BASE "0x49304000" CACHE STRING "UART 1 Base Address ")
122set(CMSDK_UART2_BASE "0x49305000" CACHE STRING "UART 2 Base Address ")
123set(CMSDK_UART3_BASE "0x49306000" CACHE STRING "UART 3 Base Address Shield 0")
124set(CMSDK_UART4_BASE "0x49307000" CACHE STRING "UART 4 Base Address Shield 1")
125set(CMSDK_UART5_BASE "0x49308000" CACHE STRING "UART 5 Base Address ")
126
127set(CLCD_CONFIG_BASE "0x4930A000" CACHE STRING "CLCD CONFIG Base Address ")
128set(RTC_BASE "0x4930B000" CACHE STRING "RTC Base address ")
129
130###################################################################################################
131# Base addresses for peripherals - secure #
132###################################################################################################
133set(SEC_CMSDK_GPIO0_BASE "0x51100000" CACHE STRING "User GPIO 0 Base Address (4KB)")
134set(SEC_CMSDK_GPIO1_BASE "0x51101000" CACHE STRING "User GPIO 1 Base Address (4KB)")
135set(SEC_CMSDK_GPIO2_BASE "0x51102000" CACHE STRING "User GPIO 2 Base Address (4KB)")
136set(SEC_CMSDK_GPIO3_BASE "0x51103000" CACHE STRING "User GPIO 3 Base Address (4KB)")
137
138set(SEC_AHB_USER0_BASE "0x51104000" CACHE STRING "AHB USER 0 Base Address (4KB)")
139set(SEC_AHB_USER1_BASE "0x51105000" CACHE STRING "AHB USER 1 Base Address (4KB)")
140set(SEC_AHB_USER2_BASE "0x51106000" CACHE STRING "AHB USER 2 Base Address (4KB)")
141set(SEC_AHB_USER3_BASE "0x51107000" CACHE STRING "AHB USER 3 Base Address (4KB)")
142
143set(SEC_DMA0_BASE "0x51200000" CACHE STRING "DMA0 (4KB)")
144set(SEC_DMA1_BASE "0x51201000" CACHE STRING "DMA1 (4KB)")
145set(SEC_DMA2_BASE "0x51202000" CACHE STRING "DMA2 (4KB)")
146set(SEC_DMA3_BASE "0x51203000" CACHE STRING "DMA3 (4KB)")
147
148set(SEC_SMSC9220_BASE "0x51400000" CACHE STRING "Ethernet SMSC9220 Base Address (1MB)")
149set(SEC_USB_BASE "0x51500000" CACHE STRING "USB Base Address (1MB)")
150
151set(SEC_USER_APB0_BASE "0x51700000" CACHE STRING "User APB0 Base Address")
152set(SEC_USER_APB1_BASE "0x51701000" CACHE STRING "User APB1 Base Address")
153set(SEC_USER_APB2_BASE "0x51702000" CACHE STRING "User APB2 Base Address")
154set(SEC_USER_APB3_BASE "0x51703000" CACHE STRING "User APB3 Base Address")
155
156set(SEC_QSPI_XIP_BASE "0x51800000" CACHE STRING "QSPI XIP config Base Address ")
157set(SEC_QSPI_WRITE_BASE "0x51801000" CACHE STRING "QSPI write config Base Address ")
158
159if (ETHOS_U55_ENABLED)
160 set(SEC_ETHOS_U55_BASE "0x58102000" CACHE STRING "Ethos-U55 base address")
161 set(SEC_ETHOS_U55_TA0_BASE "0x58103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
162 set(SEC_ETHOS_U55_TA1_BASE "0x58103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
163endif (ETHOS_U55_ENABLED)
164
165set(SEC_MPS3_I2C0_BASE "0x58200000" CACHE STRING "Touch Screen I2C Base Address ")
166set(SEC_MPS3_I2C1_BASE "0x58201000" CACHE STRING "Audio Interface I2C Base Address ")
167set(SEC_MPS3_SSP2_BASE "0x58202000" CACHE STRING "ADC SPI PL022 Base Address")
168set(SEC_MPS3_SSP3_BASE "0x58203000" CACHE STRING "Shield 0 SPI PL022 Base Address")
169set(SEC_MPS3_SSP4_BASE "0x58204000" CACHE STRING "Shield 1 SPI PL022 Base Address")
170set(SEC_MPS3_I2C2_BASE "0x58205000" CACHE STRING "Shield 0 SBCon Base Address ")
171set(SEC_MPS3_I2C3_BASE "0x58206000" CACHE STRING "Shield 1 SBCon Base Address ")
172
173set(SEC_USER_APB_BASE "0x58207000" CACHE STRING "User APB Base Address")
174set(SEC_MPS3_I2C5_BASE "0x58208000" CACHE STRING "DDR EPROM I2C SBCon Base Address ")
175
176set(SEC_MPS3_SCC_BASE "0x58300000" CACHE STRING "SCC Base Address ")
177set(SEC_MPS3_AAIC_I2S_BASE "0x58301000" CACHE STRING "Audio Interface I2S Base Address ")
178set(SEC_MPS3_FPGAIO_BASE "0x58302000" CACHE STRING "FPGA IO Base Address ")
179
180set(SEC_CMSDK_UART0_BASE "0x58303000" CACHE STRING "UART 0 Base Address ")
181set(SEC_CMSDK_UART1_BASE "0x58304000" CACHE STRING "UART 1 Base Address ")
182set(SEC_CMSDK_UART2_BASE "0x58305000" CACHE STRING "UART 2 Base Address ")
183set(SEC_CMSDK_UART3_BASE "0x58306000" CACHE STRING "UART 3 Base Address Shield 0")
184set(SEC_CMSDK_UART4_BASE "0x58307000" CACHE STRING "UART 4 Base Address Shield 1")
185set(SEC_CMSDK_UART5_BASE "0x58308000" CACHE STRING "UART 5 Base Address ")
186
187set(SEC_CLCD_CONFIG_BASE "0x5830A000" CACHE STRING "CLCD CONFIG Base Address ")
188set(SEC_RTC_BASE "0x5830B000" CACHE STRING "RTC Base address ")
189
190
191###################################################################################################
192# MPCs #
193###################################################################################################
194set(MPC_ISRAM0_BASE_S "0x50083000" CACHE STRING "ISRAM0 Memory Protection Controller Secure base address")
195set(MPC_ISRAM1_BASE_S "0x50084000" CACHE STRING "ISRAM1 Memory Protection Controller Secure base address")
196set(MPC_BRAM_BASE_S "0x57000000" CACHE STRING "SRAM Memory Protection Controller Secure base address")
197set(MPC_QSPI_BASE_S "0x57001000" CACHE STRING "QSPI Memory Protection Controller Secure base address")
198set(MPC_DDR4_BASE_S "0x57002000" CACHE STRING "DDR4 Memory Protection Controller Secure base address")
199
200###################################################################################################
201# IRQ numbers #
202###################################################################################################
203set(NONSEC_WATCHDOG_RESET_IRQn " 0" CACHE STRING " Non-Secure Watchdog Reset Interrupt")
204set(NONSEC_WATCHDOG_IRQn " 1" CACHE STRING " Non-Secure Watchdog Interrupt ")
205set(S32K_TIMER_IRQn " 2" CACHE STRING " S32K Timer Interrupt ")
206set(TIMER0_IRQn " 3" CACHE STRING " TIMER 0 Interrupt ")
207set(TIMER1_IRQn " 4" CACHE STRING " TIMER 1 Interrupt ")
208set(DUALTIMER_IRQn " 5" CACHE STRING " Dual Timer Interrupt ")
209set(MPC_IRQn " 9" CACHE STRING " MPC Combined (Secure) Interrupt ")
210set(PPC_IRQn "10" CACHE STRING " PPC Combined (Secure) Interrupt ")
211set(MSC_IRQn "11" CACHE STRING " MSC Combined (Secure) Interrput ")
212set(BRIDGE_ERROR_IRQn "12" CACHE STRING " Bridge Error Combined (Secure) Interrupt ")
213set(MGMT_PPU_IRQn "14" CACHE STRING " MGMT_PPU" )
214set(SYS_PPU_IRQn "15" CACHE STRING " SYS_PPU" )
215set(CPU0_PPU_IRQn "16" CACHE STRING " CPU0_PPU" )
216set(DEBUG_PPU_IRQn "26" CACHE STRING " DEBUG_PPU" )
217set(TIMER3_AON_IRQn "27" CACHE STRING " TIMER3_AON" )
218set(CPU0CTIIQ0_IRQn "28" CACHE STRING " CPU0CTIIQ0" )
219set(CPU0CTIIQ01_IRQn "29" CACHE STRING " CPU0CTIIQ01" )
220
221set(SYS_TSTAMP_COUNTER_IRQn "32" CACHE STRING " System timestamp counter interrupt" )
222set(UARTRX0_IRQn "33" CACHE STRING " UART 0 RX Interrupt ")
223set(UARTTX0_IRQn "34" CACHE STRING " UART 0 TX Interrupt ")
224set(UARTRX1_IRQn "35" CACHE STRING " UART 1 RX Interrupt ")
225set(UARTTX1_IRQn "36" CACHE STRING " UART 1 TX Interrupt ")
226set(UARTRX2_IRQn "37" CACHE STRING " UART 2 RX Interrupt ")
227set(UARTTX2_IRQn "38" CACHE STRING " UART 2 TX Interrupt ")
228set(UARTRX3_IRQn "39" CACHE STRING " UART 3 RX Interrupt ")
229set(UARTTX3_IRQn "40" CACHE STRING " UART 3 TX Interrupt ")
230set(UARTRX4_IRQn "41" CACHE STRING " UART 4 RX Interrupt ")
231set(UARTTX4_IRQn "42" CACHE STRING " UART 4 TX Interrupt ")
232set(UART0_IRQn "43" CACHE STRING " UART 0 combined Interrupt ")
233set(UART1_IRQn "44" CACHE STRING " UART 1 combined Interrupt ")
234set(UART2_IRQn "45" CACHE STRING " UART 2 combined Interrupt ")
235set(UART3_IRQn "46" CACHE STRING " UART 3 combined Interrupt ")
236set(UART4_IRQn "47" CACHE STRING " UART 4 combined Interrupt ")
237set(UARTOVF_IRQn "48" CACHE STRING " UART 0,1,2,3,4 Overflow Interrupt ")
238set(ETHERNET_IRQn "49" CACHE STRING " Ethernet Interrupt ")
239set(I2S_IRQn "50" CACHE STRING " Audio I2S Interrupt ")
240set(TSC_IRQn "51" CACHE STRING " Touch Screen Interrupt ")
241set(USB_IRQn "52" CACHE STRING " USB Interrupt ")
242set(SPI2_IRQn "53" CACHE STRING " ADC (SPI) Interrupt ")
243set(SPI3_IRQn "54" CACHE STRING " SPI 3 Interrupt (Shield 0) ")
244set(SPI4_IRQn "55" CACHE STRING " SPI 4 Interrupt (Sheild 1) ")
245
246if (ETHOS_U55_ENABLED)
247set(EthosU_IRQn "56" CACHE STRING " Ethos-U55 Interrupt ")
248endif ()
249
250set(GPIO0_IRQn "69" CACHE STRING " GPIO 0 Combined Interrupt ")
251set(GPIO1_IRQn "70" CACHE STRING " GPIO 1 Combined Interrupt ")
252set(GPIO2_IRQn "71" CACHE STRING " GPIO 2 Combined Interrupt ")
253set(GPIO3_IRQn "72" CACHE STRING " GPIO 3 Combined Interrupt ")
254
255set(GPIO0_0_IRQn "73" CACHE STRING "")
256set(GPIO0_1_IRQn "74" CACHE STRING "")
257set(GPIO0_2_IRQn "75" CACHE STRING "")
258set(GPIO0_3_IRQn "76" CACHE STRING "")
259set(GPIO0_4_IRQn "77" CACHE STRING "")
260set(GPIO0_5_IRQn "78" CACHE STRING "")
261set(GPIO0_6_IRQn "79" CACHE STRING "")
262set(GPIO0_7_IRQn "80" CACHE STRING "")
263set(GPIO0_8_IRQn "81" CACHE STRING "")
264set(GPIO0_9_IRQn "82" CACHE STRING "")
265set(GPIO0_10_IRQn "83" CACHE STRING "")
266set(GPIO0_11_IRQn "84" CACHE STRING "")
267set(GPIO0_12_IRQn "85" CACHE STRING "")
268set(GPIO0_13_IRQn "86" CACHE STRING "")
269set(GPIO0_14_IRQn "87" CACHE STRING "")
270set(GPIO0_15_IRQn "88" CACHE STRING "")
271set(GPIO1_0_IRQn "89" CACHE STRING "")
272set(GPIO1_1_IRQn "90" CACHE STRING "")
273set(GPIO1_2_IRQn "91" CACHE STRING "")
274set(GPIO1_3_IRQn "92" CACHE STRING "")
275set(GPIO1_4_IRQn "93" CACHE STRING "")
276set(GPIO1_5_IRQn "94" CACHE STRING "")
277set(GPIO1_6_IRQn "95" CACHE STRING "")
278set(GPIO1_7_IRQn "96" CACHE STRING "")
279set(GPIO1_8_IRQn "97" CACHE STRING "")
280set(GPIO1_9_IRQn "98" CACHE STRING "")
281set(GPIO1_10_IRQn "99" CACHE STRING "")
282set(GPIO1_11_IRQn "100" CACHE STRING "")
283set(GPIO1_12_IRQn "101" CACHE STRING "")
284set(GPIO1_13_IRQn "102" CACHE STRING "")
285set(GPIO1_14_IRQn "103" CACHE STRING "")
286set(GPIO1_15_IRQn "104" CACHE STRING "")
287set(GPIO2_0_IRQn "105" CACHE STRING "")
288set(GPIO2_1_IRQn "106" CACHE STRING "")
289set(GPIO2_2_IRQn "107" CACHE STRING "")
290set(GPIO2_3_IRQn "108" CACHE STRING "")
291set(GPIO2_4_IRQn "109" CACHE STRING "")
292set(GPIO2_5_IRQn "110" CACHE STRING "")
293set(GPIO2_6_IRQn "111" CACHE STRING "")
294set(GPIO2_7_IRQn "112" CACHE STRING "")
295set(GPIO2_8_IRQn "113" CACHE STRING "")
296set(GPIO2_9_IRQn "114" CACHE STRING "")
297set(GPIO2_10_IRQn "115" CACHE STRING "")
298set(GPIO2_11_IRQn "116" CACHE STRING "")
299set(GPIO2_12_IRQn "117" CACHE STRING "")
300set(GPIO2_13_IRQn "118" CACHE STRING "")
301set(GPIO2_14_IRQn "119" CACHE STRING "")
302set(GPIO2_15_IRQn "120" CACHE STRING "")
303set(GPIO3_0_IRQn "121" CACHE STRING "")
304set(GPIO3_1_IRQn "122" CACHE STRING "")
305set(GPIO3_2_IRQn "123" CACHE STRING "")
306set(GPIO3_3_IRQn "124" CACHE STRING "")
307set(UARTRX5_IRQn "125" CACHE STRING "UART 5 RX Interrupt")
308set(UARTTX5_IRQn "126" CACHE STRING "UART 5 TX Interrupt")
309set(UART5_IRQn "127" CACHE STRING "UART 5 combined Interrupt")