alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 1 | #---------------------------------------------------------------------------- |
| 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-200 design |
| 19 | ################################################################################################### |
| 20 | # Application specific config # |
| 21 | ################################################################################################### |
| 22 | |
| 23 | # This parameter is based on the linker/scatter script for SSE-200. Do not change this parameter |
| 24 | # in isolation. |
| 25 | set(ACTIVATION_BUF_SRAM_SZ "0x00200000" CACHE STRING "Maximum SRAM size for activation buffers") |
| 26 | set(DESIGN_NAME "SSE-200" CACHE STRING "Design name") |
| 27 | ################################################################################################### |
| 28 | # Mem sizes # |
| 29 | ################################################################################################### |
| 30 | set(ITCM_SIZE "0x00100000" CACHE STRING "ITCM size: 1 MiB") |
| 31 | set(DTCM_BLK_SIZE "0x00100000" CACHE STRING "DTCM size: 1 MiB, 4 banks") |
| 32 | set(BRAM_SIZE "0x00200000" CACHE STRING "BRAM size: 2 MiB") |
| 33 | set(QSPI_SRAM_SIZE "0x00800000" CACHE STRING "QSPI Flash size: 8 MiB") |
| 34 | set(DDR4_BLK_SIZE "0x10000000" CACHE STRING "DDR4 block size: 256 MiB") |
| 35 | |
| 36 | ################################################################################################### |
| 37 | # Base addresses # |
| 38 | ################################################################################################### |
| 39 | set(ITCM_BASE_NS "0x00000000" CACHE STRING "Instruction TCM Non-Secure base address") |
| 40 | set(BRAM_BASE_NS "0x01000000" CACHE STRING "CODE SRAM Non-Secure base address") |
| 41 | set(DTCM0_BASE_NS "0x20000000" CACHE STRING "Data TCM block 0 Non-Secure base address") |
| 42 | set(DTCM1_BASE_NS "0x20100000" CACHE STRING "Data TCM block 1 Non-Secure base address") |
| 43 | set(DTCM2_BASE_NS "0x20200000" CACHE STRING "Data TCM block 2 Non-Secure base address") |
| 44 | set(DTCM3_BASE_NS "0x20300000" CACHE STRING "Data TCM block 3 Non-Secure base address") |
| 45 | set(QSPI_SRAM_BASE_NS "0x28000000" CACHE STRING "QSPI SRAM Non-Secure base address") |
| 46 | set(DDR4_BLK0_BASE_NS "0x60000000" CACHE STRING "DDR4 block 0 Non-Secure base address") |
| 47 | set(DDR4_BLK1_BASE_NS "0x80000000" CACHE STRING "DDR4 block 1 Non-Secure base address") |
| 48 | set(DDR4_BLK2_BASE_NS "0xA0000000" CACHE STRING "DDR4 block 2 Non-Secure base address") |
| 49 | set(DDR4_BLK3_BASE_NS "0xC0000000" CACHE STRING "DDR4 block 3 Non-Secure base address") |
| 50 | |
| 51 | set(ITCM_BASE_S "0x10000000" CACHE STRING "Instruction TCM Secure base address") |
| 52 | set(BRAM_BASE_S "0x11000000" CACHE STRING "CODE SRAM Secure base address") |
| 53 | set(DTCM0_BASE_S "0x30000000" CACHE STRING "Data TCM block 0 Secure base address") |
| 54 | set(DTCM1_BASE_S "0x30100000" CACHE STRING "Data TCM block 1 Secure base address") |
| 55 | set(DTCM2_BASE_S "0x30200000" CACHE STRING "Data TCM block 2 Secure base address") |
| 56 | set(DTCM3_BASE_S "0x30300000" CACHE STRING "Data TCM block 3 Secure base address") |
| 57 | set(DDR4_BLK0_BASE_S "0x70000000" CACHE STRING "DDR4 block 0 Secure base address") |
| 58 | set(DDR4_BLK1_BASE_S "0x90000000" CACHE STRING "DDR4 block 1 Secure base address") |
| 59 | set(DDR4_BLK2_BASE_S "0xB0000000" CACHE STRING "DDR4 block 2 Secure base address") |
| 60 | set(DDR4_BLK3_BASE_S "0xD0000000" CACHE STRING "DDR4 block 3 Secure base address") |
| 61 | |
| 62 | set(CMSDK_GPIO0_BASE "0x41100000" CACHE STRING "User GPIO 0 Base Address") |
| 63 | set(CMSDK_GPIO1_BASE "0x41101000" CACHE STRING "User GPIO 1 Base Address") |
| 64 | set(CMSDK_GPIO2_BASE "0x41102000" CACHE STRING "User GPIO 2 Base Address") |
| 65 | set(CMSDK_GPIO3_BASE "0x41103000" CACHE STRING "User GPIO 3 Base Address") |
| 66 | |
| 67 | if (ETHOS_U55_ENABLED) |
| 68 | set(ETHOS_U55_BASE "0x41700000" CACHE STRING "Ethos-U55 base address") |
| 69 | set(ETHOS_U55_TA0_BASE "0x41701000" CACHE STRING "Ethos-U55's timing adapter 0 base address") |
| 70 | set(ETHOS_U55_TA1_BASE "0x41701200" CACHE STRING "Ethos-U55's timing adapter 1 base address") |
| 71 | endif () |
| 72 | |
| 73 | set(MPS3_I2C0_BASE "0x41200000" CACHE STRING "Touch Screen I2C Base Address ") |
| 74 | set(MPS3_I2C1_BASE "0x41201000" CACHE STRING "Audio Interface I2C Base Address ") |
| 75 | set(MPS3_SSP2_BASE "0x41202000" CACHE STRING "ADC SPI PL022 Base Address") |
| 76 | set(MPS3_SSP3_BASE "0x41203000" CACHE STRING "Shield 0 SPI PL022 Base Address") |
| 77 | |
| 78 | set(MPS3_SSP4_BASE "0x41204000" CACHE STRING "Shield 1 SPI PL022 Base Address") |
| 79 | set(MPS3_I2C2_BASE "0x41205000" CACHE STRING "Shield 0 SBCon Base Address ") |
| 80 | set(MPS3_I2C3_BASE "0x41206000" CACHE STRING "Shield 1 SBCon Base Address ") |
| 81 | |
| 82 | set(MPS3_I2C4_BASE "0x41207000" CACHE STRING "HDMI I2C SBCon Base Address ") |
| 83 | set(MPS3_I2C5_BASE "0x41208000" CACHE STRING "DDR EPROM I2C SBCon Base Address ") |
| 84 | set(MPS3_SCC_BASE "0x41300000" CACHE STRING "SCC Base Address ") |
| 85 | set(MPS3_AAIC_I2S_BASE "0x41301000" CACHE STRING "Audio Interface I2S Base Address ") |
| 86 | set(MPS3_FPGAIO_BASE "0x41302000" CACHE STRING "FPGA IO Base Address ") |
| 87 | set(CMSDK_UART0_BASE "0x41303000" CACHE STRING "UART 0 Base Address ") |
| 88 | set(CMSDK_UART1_BASE "0x41304000" CACHE STRING "UART 1 Base Address ") |
| 89 | set(CMSDK_UART2_BASE "0x41305000" CACHE STRING "UART 2 Base Address ") |
| 90 | set(CMSDK_UART3_BASE "0x41306000" CACHE STRING "UART 3 Base Address Shield 0") |
| 91 | |
| 92 | set(CMSDK_UART4_BASE "0x41307000" CACHE STRING "UART 4 Base Address Shield 1") |
| 93 | set(CMSDK_UART5_BASE "0x41308000" CACHE STRING "UART 5 Base Address ") |
| 94 | set(HDMI_AUDIO_BASE "0x41309000" CACHE STRING "HDMI AUDIO Base Address ") |
| 95 | set(CLCD_CONFIG_BASE "0x4130A000" CACHE STRING "CLCD CONFIG Base Address ") |
| 96 | set(RTC_BASE "0x4130B000" CACHE STRING "RTC Base address ") |
| 97 | set(SMSC9220_BASE "0x41400000" CACHE STRING "Ethernet SMSC9220 Base Address ") |
| 98 | set(USB_BASE "0x41500000" CACHE STRING "USB Base Address ") |
| 99 | |
| 100 | set(MPS3_eMMC_BASE "0x41702000" CACHE STRING "User eMMC Base Address") |
| 101 | set(USER_BASE "0x41703000" CACHE STRING "User ? Base Address ") |
| 102 | |
| 103 | set(QSPI_XIP_BASE "0x41800000" CACHE STRING "QSPI XIP config Base Address ") |
| 104 | set(QSPI_WRITE_BASE "0x41801000" CACHE STRING "QSPI write config Base Address ") |
| 105 | |
| 106 | set(SEC_CMSDK_GPIO0_BASE "0x51100000" CACHE STRING "User GPIO 0 Base Address") |
| 107 | set(SEC_CMSDK_GPIO1_BASE "0x51101000" CACHE STRING "User GPIO 0 Base Address") |
| 108 | set(SEC_CMSDK_GPIO2_BASE "0x51102000" CACHE STRING "User GPIO 0 Base Address") |
| 109 | set(SEC_CMSDK_GPIO3_BASE "0x51103000" CACHE STRING "User GPIO 0 Base Address") |
| 110 | |
| 111 | set(SEC_MPS3_I2C0_BASE "0x51200000" CACHE STRING "Touch Screen I2C Base Address ") |
| 112 | set(SEC_MPS3_I2C1_BASE "0x51201000" CACHE STRING "Audio Interface I2C Base Address ") |
| 113 | set(SEC_MPS3_SSP2_BASE "0x51202000" CACHE STRING "ADC SPI PL022 Base Address") |
| 114 | set(SEC_MPS3_SSP3_BASE "0x51203000" CACHE STRING "Shield 0 SPI PL022 Base Address") |
| 115 | |
| 116 | set(SEC_MPS3_SSP4_BASE "0x51204000" CACHE STRING "Shield 1 SPI PL022 Base Address") |
| 117 | set(SEC_MPS3_I2C2_BASE "0x51205000" CACHE STRING "Shield 0 SBCon Base Address ") |
| 118 | set(SEC_MPS3_I2C3_BASE "0x51206000" CACHE STRING "Shield 1 SBCon Base Address ") |
| 119 | |
| 120 | set(SEC_MPS3_I2C4_BASE "0x51207000" CACHE STRING "HDMI I2C SBCon Base Address ") |
| 121 | set(SEC_MPS3_I2C5_BASE "0x51208000" CACHE STRING "DDR EPROM I2C SBCon Base Address ") |
| 122 | set(SEC_MPS3_SCC_BASE "0x51300000" CACHE STRING "SCC Base Address ") |
| 123 | set(SEC_MPS3_AAIC_I2S_BASE "0x51301000" CACHE STRING "Audio Interface I2S Base Address ") |
| 124 | set(SEC_MPS3_FPGAIO_BASE "0x51302000" CACHE STRING "FPGA IO Base Address ") |
| 125 | set(SEC_CMSDK_UART0_BASE "0x51303000" CACHE STRING "UART 0 Base Address ") |
| 126 | set(SEC_CMSDK_UART1_BASE "0x51304000" CACHE STRING "UART 1 Base Address ") |
| 127 | set(SEC_CMSDK_UART2_BASE "0x51305000" CACHE STRING "UART 2 Base Address ") |
| 128 | set(SEC_CMSDK_UART3_BASE "0x51306000" CACHE STRING "UART 3 Base Address Shield 0") |
| 129 | |
| 130 | set(SEC_CMSDK_UART4_BASE "0x51307000" CACHE STRING "UART 4 Base Address Shield 1") |
| 131 | set(SEC_CMSDK_UART5_BASE "0x51308000" CACHE STRING "UART 5 Base Address ") |
| 132 | set(SEC_HDMI_AUDIO_BASE "0x51309000" CACHE STRING "HDMI AUDIO Base Address ") |
| 133 | set(SEC_CLCD_CONFIG_BASE "0x5130A000" CACHE STRING "CLCD CONFIG Base Address ") |
| 134 | set(SEC_RTC_BASE "0x5130B000" CACHE STRING "RTC Base address ") |
| 135 | set(SEC_SMSC9220_BASE "0x51400000" CACHE STRING "Ethernet SMSC9220 Base Address ") |
| 136 | set(SEC_USB_BASE "0x51500000" CACHE STRING "USB Base Address ") |
| 137 | |
| 138 | if (ETHOS_U55_ENABLED) |
| 139 | set(SEC_ETHOS_U55_BASE "0x51700000" CACHE STRING "Ethos-U55 base address") |
| 140 | set(SEC_ETHOS_U55_TA0_BASE "0x51701000" CACHE STRING "Ethos-U55's timing adapter 0 base address") |
| 141 | set(SEC_ETHOS_U55_TA1_BASE "0x51701200" CACHE STRING "Ethos-U55's timing adapter 1 base address") |
| 142 | endif () |
| 143 | |
| 144 | set(SEC_MMC_BASE "0x51702000" CACHE STRING "User eMMC Base Address") |
| 145 | set(SEC_USER_BASE "0x51703000" CACHE STRING "User ? Base Address ") |
| 146 | |
| 147 | set(SEC_QSPI_XIP_BASE "0x51800000" CACHE STRING "QSPI XIP config Base Address ") |
| 148 | set(SEC_QSPI_WRITE_BASE "0x51801000" CACHE STRING "QSPI write config Base Address ") |
| 149 | |
| 150 | ################################################################################################### |
| 151 | # IRQ numbers # |
| 152 | ################################################################################################### |
| 153 | set(NONSEC_WATCHDOG_RESET_IRQn " 0" CACHE STRING " Non-Secure Watchdog Reset Interrupt") |
| 154 | set(NONSEC_WATCHDOG_IRQn " 1" CACHE STRING " Non-Secure Watchdog Interrupt ") |
| 155 | set(S32K_TIMER_IRQn " 2" CACHE STRING " S32K Timer Interrupt ") |
| 156 | set(TIMER0_IRQn " 3" CACHE STRING " TIMER 0 Interrupt ") |
| 157 | set(TIMER1_IRQn " 4" CACHE STRING " TIMER 1 Interrupt ") |
| 158 | set(DUALTIMER_IRQn " 5" CACHE STRING " Dual Timer Interrupt ") |
| 159 | set(MPC_IRQn " 9" CACHE STRING " MPC Combined (Secure) Interrupt ") |
| 160 | set(PPC_IRQn "10" CACHE STRING " PPC Combined (Secure) Interrupt ") |
| 161 | set(MSC_IRQn "11" CACHE STRING " MSC Combined (Secure) Interrput ") |
| 162 | set(BRIDGE_ERROR_IRQn "12" CACHE STRING " Bridge Error Combined (Secure) Interrupt ") |
| 163 | |
| 164 | set(UARTRX0_IRQn "32" CACHE STRING " UART 0 RX Interrupt ") |
| 165 | set(UARTTX0_IRQn "33" CACHE STRING " UART 0 TX Interrupt ") |
| 166 | set(UARTRX1_IRQn "34" CACHE STRING " UART 1 RX Interrupt ") |
| 167 | set(UARTTX1_IRQn "35" CACHE STRING " UART 1 TX Interrupt ") |
| 168 | set(UARTRX2_IRQn "36" CACHE STRING " UART 2 RX Interrupt ") |
| 169 | set(UARTTX2_IRQn "37" CACHE STRING " UART 2 TX Interrupt ") |
| 170 | set(UARTRX3_IRQn "38" CACHE STRING " UART 3 RX Interrupt ") |
| 171 | set(UARTTX3_IRQn "39" CACHE STRING " UART 3 TX Interrupt ") |
| 172 | set(UARTRX4_IRQn "40" CACHE STRING " UART 4 RX Interrupt ") |
| 173 | set(UARTTX4_IRQn "41" CACHE STRING " UART 4 TX Interrupt ") |
| 174 | set(UART0_IRQn "42" CACHE STRING " UART 0 combined Interrupt ") |
| 175 | set(UART1_IRQn "43" CACHE STRING " UART 1 combined Interrupt ") |
| 176 | set(UART2_IRQn "44" CACHE STRING " UART 2 combined Interrupt ") |
| 177 | set(UART3_IRQn "45" CACHE STRING " UART 3 combined Interrupt ") |
| 178 | set(UART4_IRQn "46" CACHE STRING " UART 4 combined Interrupt ") |
| 179 | set(UARTOVF_IRQn "47" CACHE STRING " UART 0,1,2,3,4 Overflow Interrupt ") |
| 180 | set(ETHERNET_IRQn "48" CACHE STRING " Ethernet Interrupt ") |
| 181 | set(I2S_IRQn "49" CACHE STRING " I2S Interrupt ") |
| 182 | set(TSC_IRQn "50" CACHE STRING " Touch Screen Interrupt ") |
| 183 | set(SPI2_IRQn "52" CACHE STRING " SPI 2 Interrupt ") |
| 184 | set(SPI3_IRQn "53" CACHE STRING " SPI 3 Interrupt ") |
| 185 | set(SPI4_IRQn "54" CACHE STRING " SPI 4 Interrupt ") |
| 186 | |
| 187 | if (ETHOS_U55_ENABLED) |
| 188 | if (CPU_CORTEX_M55 EQUAL 1) |
| 189 | set(EthosU_IRQn "55" CACHE STRING " Ethos-U55 Interrupt ") |
| 190 | elseif (CPU_CORTEX_M33 EQUAL 1) |
| 191 | set(EthosU_IRQn "67" CACHE STRING " Ethos-U55 Interrupt ") |
| 192 | endif() |
| 193 | endif () |
| 194 | |
| 195 | set(GPIO0_IRQn "68" CACHE STRING " GPIO 0 Combined Interrupt ") |
| 196 | set(GPIO1_IRQn "69" CACHE STRING " GPIO 1 Combined Interrupt ") |
| 197 | set(GPIO2_IRQn "70" CACHE STRING " GPIO 2 Combined Interrupt ") |
| 198 | set(GPIO3_IRQn "71" CACHE STRING " GPIO 3 Combined Interrupt ") |
| 199 | |
| 200 | set(GPIO0_0_IRQn "72" CACHE STRING "") |
| 201 | set(GPIO0_1_IRQn "73" CACHE STRING "") |
| 202 | set(GPIO0_2_IRQn "74" CACHE STRING "") |
| 203 | set(GPIO0_3_IRQn "75" CACHE STRING "") |
| 204 | set(GPIO0_4_IRQn "76" CACHE STRING "") |
| 205 | set(GPIO0_5_IRQn "77" CACHE STRING "") |
| 206 | set(GPIO0_6_IRQn "78" CACHE STRING "") |
| 207 | set(GPIO0_7_IRQn "79" CACHE STRING "") |
| 208 | set(GPIO0_8_IRQn "80" CACHE STRING "") |
| 209 | set(GPIO0_9_IRQn "81" CACHE STRING "") |
| 210 | set(GPIO0_10_IRQn "82" CACHE STRING "") |
| 211 | set(GPIO0_11_IRQn "83" CACHE STRING "") |
| 212 | set(GPIO0_12_IRQn "84" CACHE STRING "") |
| 213 | set(GPIO0_13_IRQn "85" CACHE STRING "") |
| 214 | set(GPIO0_14_IRQn "86" CACHE STRING "") |
| 215 | set(GPIO0_15_IRQn "87" CACHE STRING "") |
| 216 | set(GPIO1_0_IRQn "88" CACHE STRING "") |
| 217 | set(GPIO1_1_IRQn "89" CACHE STRING "") |
| 218 | set(GPIO1_2_IRQn "90" CACHE STRING "") |
| 219 | set(GPIO1_3_IRQn "91" CACHE STRING "") |
| 220 | set(GPIO1_4_IRQn "92" CACHE STRING "") |
| 221 | set(GPIO1_5_IRQn "93" CACHE STRING "") |
| 222 | set(GPIO1_6_IRQn "94" CACHE STRING "") |
| 223 | set(GPIO1_7_IRQn "95" CACHE STRING "") |
| 224 | set(GPIO1_8_IRQn "96" CACHE STRING "") |
| 225 | set(GPIO1_9_IRQn "97" CACHE STRING "") |
| 226 | set(GPIO1_10_IRQn "98" CACHE STRING "") |
| 227 | set(GPIO1_11_IRQn "99" CACHE STRING "") |
| 228 | set(GPIO1_12_IRQn "100" CACHE STRING "") |
| 229 | set(GPIO1_13_IRQn "101" CACHE STRING "") |
| 230 | set(GPIO1_14_IRQn "102" CACHE STRING "") |
| 231 | set(GPIO1_15_IRQn "103" CACHE STRING "") |
| 232 | set(GPIO2_0_IRQn "104" CACHE STRING "") |
| 233 | set(GPIO2_1_IRQn "105" CACHE STRING "") |
| 234 | set(GPIO2_2_IRQn "106" CACHE STRING "") |
| 235 | set(GPIO2_3_IRQn "107" CACHE STRING "") |
| 236 | set(GPIO2_4_IRQn "108" CACHE STRING "") |
| 237 | set(GPIO2_5_IRQn "109" CACHE STRING "") |
| 238 | set(GPIO2_6_IRQn "110" CACHE STRING "") |
| 239 | set(GPIO2_7_IRQn "111" CACHE STRING "") |
| 240 | set(GPIO2_8_IRQn "112" CACHE STRING "") |
| 241 | set(GPIO2_9_IRQn "113" CACHE STRING "") |
| 242 | set(GPIO2_10_IRQn "114" CACHE STRING "") |
| 243 | set(GPIO2_11_IRQn "115" CACHE STRING "") |
| 244 | set(GPIO2_12_IRQn "116" CACHE STRING "") |
| 245 | set(GPIO2_13_IRQn "117" CACHE STRING "") |
| 246 | set(GPIO2_14_IRQn "118" CACHE STRING "") |
| 247 | set(GPIO2_15_IRQn "119" CACHE STRING "") |
| 248 | set(GPIO3_0_IRQn "120" CACHE STRING "") |
| 249 | set(GPIO3_1_IRQn "121" CACHE STRING "") |
| 250 | set(GPIO3_2_IRQn "122" CACHE STRING "") |
| 251 | set(GPIO3_3_IRQn "123" CACHE STRING "") |
| 252 | set(UARTRX5_IRQn "124" CACHE STRING "UART 5 RX Interrupt") |
| 253 | set(UARTTX5_IRQn "125" CACHE STRING "UART 5 TX Interrupt") |
| 254 | set(UART5_IRQn "126" CACHE STRING "UART 5 combined Interrupt") |
| 255 | set(HDCLCD_IRQn "127" CACHE STRING "HDCLCD Interrupt") |