1# Copyright (c) 2025 IAR Systems AB 2# 3# SPDX-License-Identifier: Apache-2.0 4 5# Determines what argument to give to --cpu= based on the 6# KConfig'uration and sets this to ICCARM_CPU 7 8if("${ARCH}" STREQUAL "arm") 9 if(CONFIG_CPU_CORTEX_M0) 10 set(ICCARM_CPU Cortex-M0) 11 elseif(CONFIG_CPU_CORTEX_M0PLUS) 12 set(ICCARM_CPU Cortex-M0+) 13 elseif(CONFIG_CPU_CORTEX_M1) 14 set(ICCARM_CPU Cortex-M1) 15 elseif(CONFIG_CPU_CORTEX_M3) 16 set(ICCARM_CPU Cortex-M3) 17 elseif(CONFIG_CPU_CORTEX_M4) 18 set(ICCARM_CPU Cortex-M4) 19 elseif(CONFIG_CPU_CORTEX_M7) 20 set(ICCARM_CPU Cortex-M7) 21 elseif(CONFIG_CPU_CORTEX_M23) 22 set(ICCARM_CPU Cortex-M23) 23 elseif(CONFIG_CPU_CORTEX_M33) 24 if(CONFIG_ARMV8_M_DSP) 25 set(ICCARM_CPU Cortex-M33) 26 else() 27 set(ICCARM_CPU Cortex-M33.no_dsp) 28 endif() 29 elseif(CONFIG_CPU_CORTEX_M55) 30 if(CONFIG_ARMV8_1_M_MVEF) 31 set(ICCARM_CPU Cortex-M55) 32 elseif(CONFIG_ARMV8_1_M_MVEI) 33 set(ICCARM_CPU Cortex-M55.no_mve) 34 elseif(CONFIG_ARMV8_M_DSP) 35 set(ICCARM_CPU Cortex-M55.no_mve) 36 else() 37 set(ICCARM_CPU Cortex-M55.no_dsp) 38 endif() 39 elseif(CONFIG_CPU_CORTEX_R4) 40 if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) 41 set(ICCARM_CPU Cortex-R4F) 42 else() 43 set(ICCARM_CPU Cortex-R4) 44 endif() 45 elseif(CONFIG_CPU_CORTEX_R5) 46 set(ICCARM_CPU Cortex-R5) 47 if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) 48 if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION) 49 set(ICCARM_CPU ${ICCARM_CPU}+fp.sp) 50 endif() 51 else() 52 set(ICCARM_CPU ${ICCARM_CPU}+fp.dp) 53 endif() 54 elseif(CONFIG_CPU_CORTEX_R7) 55 set(ICCARM_CPU Cortex-R7) 56 if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) 57 if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION) 58 set(ICCARM_CPU ${ICCARM_CPU}+fp.sp) 59 endif() 60 else() 61 set(ICCARM_CPU ${ICCARM_CPU}+fp.dp) 62 endif() 63 elseif(CONFIG_CPU_CORTEX_R52) 64 set(ICCARM_CPU Cortex-R52) 65 if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP) 66 if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION) 67 set(ICCARM_CPU ${ICCARM_CPU}+fp.sp) 68 endif() 69 endif() 70 elseif(CONFIG_CPU_CORTEX_A7) 71 set(ICCARM_CPU Cortex-A7) 72 elseif(CONFIG_CPU_CORTEX_A9) 73 set(ICCARM_CPU Cortex-A9) 74 else() 75 message(FATAL_ERROR "Expected CONFIG_CPU_CORTEX_x to be defined") 76 endif() 77elseif("${ARCH}" STREQUAL "arm64") 78 if(CONFIG_CPU_CORTEX_A53) 79 set(ICCARM_CPU Cortex-A53) 80 elseif(CONFIG_CPU_CORTEX_A55) 81 set(ICCARM_CPU Cortex-A55) 82 elseif(CONFIG_CPU_CORTEX_A76) 83 set(ICCARM_CPU cortex-a76) 84 elseif(CONFIG_CPU_CORTEX_A76_A55) 85 set(ICCARM_CPU cortex-a76) 86 elseif(CONFIG_CPU_CORTEX_A72) 87 set(ICCARM_CPU Cortex-A72) 88 elseif(CONFIG_CPU_CORTEX_R82) 89 set(ICCARM_CPU Cortex-R82) 90 endif() 91endif() 92