diff options
Diffstat (limited to 'source/hal/source/platform/mps3/CMakeLists.txt')
-rw-r--r-- | source/hal/source/platform/mps3/CMakeLists.txt | 57 |
1 files changed, 46 insertions, 11 deletions
diff --git a/source/hal/source/platform/mps3/CMakeLists.txt b/source/hal/source/platform/mps3/CMakeLists.txt index 4f77bdd..672cbcd 100644 --- a/source/hal/source/platform/mps3/CMakeLists.txt +++ b/source/hal/source/platform/mps3/CMakeLists.txt @@ -35,23 +35,59 @@ endif() if (TARGET_SUBSYSTEM STREQUAL sse-300) set(UART0_BASE "0x49303000" CACHE STRING "UART base address") set(UART0_BAUDRATE "115200" CACHE STRING "UART baudrate") - set(SYSTEM_CORE_CLOCK "25000000" CACHE STRING "System peripheral clock (Hz)") set(CLCD_CONFIG_BASE "0x4930A000" CACHE STRING "LCD configuration base address") set(ETHOS_U_IRQN "56" CACHE STRING "Ethos-U55 Interrupt") set(ETHOS_U_SEC_ENABLED "1" CACHE STRING "Ethos-U NPU Security enable") set(ETHOS_U_PRIV_ENABLED "1" CACHE STRING "Ethos-U NPU Privilege enable") - if (ETHOS_U_SEC_ENABLED) - set(ETHOS_U_BASE_ADDR "0x58102000" CACHE STRING "Ethos-U NPU base address") - if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) - set(TA0_BASE "0x58103000" CACHE STRING "Ethos-U NPU timing adapter 0") - set(TA1_BASE "0x58103200" CACHE STRING "Ethos-U NPU timing adapter 1") + if (ETHOS_U_NPU_ID STREQUAL U85) + if(ETHOS_U_NPU_CONFIG_ID MATCHES "^[A-Z]([0-9]+$)") + set(ETHOSU_MACS ${CMAKE_MATCH_1}) + else() + message(FATAL_ERROR "Couldn't work out Ethos-U number of MACS from ${ETHOS_U_NPU_CONFIG_ID}") endif() + if (ETHOS_U_SEC_ENABLED) + set(ETHOS_U_BASE_ADDR "0x58102000" CACHE STRING "Ethos-U NPU base address") + if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) + set(TA_SRAM0_BASE "0x58104000" CACHE STRING "Ethos-U NPU timing adapter SRAM0") + set(TA_SRAM1_BASE "0x58104200" CACHE STRING "Ethos-U NPU timing adapter SRAM1") + if(ETHOSU_MACS STREQUAL "2048") + set(TA_SRAM2_BASE "0x58104400" CACHE STRING "Ethos-U NPU timing adapter SRAM2") + set(TA_SRAM3_BASE "0x58104600" CACHE STRING "Ethos-U NPU timing adapter SRAM3") + endif() + set(TA_EXT0_BASE "0x58104800" CACHE STRING "Ethos-U NPU timing adapter EXT0") + if(ETHOSU_MACS STREQUAL "1024" OR ETHOSU_MACS STREQUAL "2048") + set(TA_EXT1_BASE "0x58104A00" CACHE STRING "Ethos-U NPU timing adapter EXT1") + endif() + endif() + else () + set(ETHOS_U_BASE_ADDR "0x48102000" CACHE STRING "Ethos-U NPU base address") + if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) + set(TA_SRAM0_BASE "0x48104000" CACHE STRING "Ethos-U NPU timing adapter SRAM0") + set(TA_SRAM1_BASE "0x48104200" CACHE STRING "Ethos-U NPU timing adapter SRAM1") + if(ETHOSU_MACS STREQUAL "2048") + set(TA_SRAM2_BASE "0x48104400" CACHE STRING "Ethos-U NPU timing adapter SRAM2") + set(TA_SRAM3_BASE "0x48104600" CACHE STRING "Ethos-U NPU timing adapter SRAM3") + endif() + set(TA_EXT0_BASE "0x48104800" CACHE STRING "Ethos-U NPU timing adapter EXT0") + if(ETHOSU_MACS STREQUAL "1024" OR ETHOSU_MACS STREQUAL "2048") + set(TA_EXT1_BASE "0x48104A00" CACHE STRING "Ethos-U NPU timing adapter EXT1") + endif() + endif() + endif () else () - set(ETHOS_U_BASE_ADDR "0x48102000" CACHE STRING "Ethos-U NPU base address") - if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) - set(TA0_BASE "0x48103000" CACHE STRING "Ethos-U NPU timing adapter 0") - set(TA1_BASE "0x48103200" CACHE STRING "Ethos-U NPU timing adapter 1") + if (ETHOS_U_SEC_ENABLED) + set(ETHOS_U_BASE_ADDR "0x58102000" CACHE STRING "Ethos-U NPU base address") + if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) + set(TA_SRAM0_BASE "0x58103000" CACHE STRING "Ethos-U NPU timing adapter SRAM0") + set(TA_EXT0_BASE "0x58103200" CACHE STRING "Ethos-U NPU timing adapter EXT0") + endif() + else () + set(ETHOS_U_BASE_ADDR "0x48102000" CACHE STRING "Ethos-U NPU base address") + if (ETHOS_U_NPU_TIMING_ADAPTER_ENABLED) + set(TA_SRAM0_BASE "0x48103000" CACHE STRING "Ethos-U NPU timing adapter SRAM0") + set(TA_EXT0_BASE "0x48103200" CACHE STRING "Ethos-U NPU timing adapter EXT0") + endif() endif() endif () endif() @@ -60,7 +96,6 @@ endif() if (TARGET_SUBSYSTEM STREQUAL sse-310) set(UART0_BASE "0x49303000" CACHE STRING "UART base address") set(UART0_BAUDRATE "115200" CACHE STRING "UART baudrate") - set(SYSTEM_CORE_CLOCK "25000000" CACHE STRING "System peripheral clock (Hz)") set(CLCD_CONFIG_BASE "0x4930A000" CACHE STRING "LCD configuration base address") set(ETHOS_U_IRQN "16" CACHE STRING "Ethos-U55 Interrupt") |