MLECO-2985 Adding Corstone-310 support

Change-Id: Ifa4b11154478355c10cb3e747b9938a74afd242b
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
diff --git a/scripts/cmake/toolchains/bare-metal-armclang.cmake b/scripts/cmake/toolchains/bare-metal-armclang.cmake
index d0b0824..97da76f 100644
--- a/scripts/cmake/toolchains/bare-metal-armclang.cmake
+++ b/scripts/cmake/toolchains/bare-metal-armclang.cmake
@@ -31,7 +31,7 @@
 set(CMAKE_C_COMPILER_WORKS          1)
 set(CMAKE_CXX_COMPILER_WORKS        1)
 
-if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR)
+if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED CMAKE_SYSTEM_ARCH)
     set(CMAKE_SYSTEM_PROCESSOR      cortex-m55)
 endif()
 
@@ -39,13 +39,27 @@
     # Flags for cortex-m55
     set(CPU_ID                      M55)
     set(CPU_COMPILE_DEF             CPU_CORTEX_${CPU_ID})
-    set(CPU_NAME                    ${CMAKE_SYSTEM_PROCESSOR})
     set(ARM_CPU                     "ARMC${CPU_ID}")
     set(FLOAT_ABI                   hard)
     set(ARM_MATH_DSP                1)
     set(ARM_MATH_LOOPUNROLL         1)
     set(CPU_HEADER_FILE             "${ARM_CPU}.h")
+    set(CPU_COMPILE_OPTION          "-mcpu=${CMAKE_SYSTEM_PROCESSOR}")
     set(CPU_LINK_OPT                "--cpu=Cortex-${CPU_ID}")
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m85 OR CMAKE_SYSTEM_ARCH STREQUAL armv8.1-m.main)
+    # Flags for Cortex-M85
+    set(CPU_ID                      ARMv81MML_DSP_DP_MVE_FP)
+    set(ARM_CPU                     "ARMv81MML")
+    set(CPU_COMPILE_DEF             ${CPU_ID})
+    set(FLOAT_ABI                   hard)
+    set(ARM_MATH_DSP                1)
+    set(ARM_MATH_LOOPUNROLL         1)
+
+    # @TODO: Revise once we have the CPU file in CMSIS and CPU flags
+    # are supported by toolchains.
+    set(CPU_HEADER_FILE             "${CPU_ID}.h")
+    set(CPU_COMPILE_OPTION          "-march=armv8.1-m.main+mve.fp+fp.dp")
+    set(CPU_LINK_OPT                "--cpu=8.1-M.Main.mve.fp")
 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m33)
     # Flags for cortex-m33 to go here
 endif()
@@ -67,11 +81,11 @@
 # Arch compile options:
 add_compile_options(
     -mthumb
-    -mcpu=${CPU_NAME}
     -mfloat-abi=${FLOAT_ABI}
     --target=arm-arm-non-eabi
     -mlittle-endian
-    -MD)
+    -MD
+    ${CPU_COMPILE_OPTION})
 
 # Compile definitions:
 add_compile_definitions(