CMSIS-Core(M): Add Cortex-M85 support
- Add generic ARMCM85 device
- Add Cortex-M85 (CM85) to SVD schema
Co-authored-by: GuentherMartin <martin.guenther@arm.com>
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index 0c0aa46..248b8ea 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -11,6 +11,7 @@
<release version="5.9.0">
Active development ...
CMSIS-Core(M): 5.6.0
+ - Arm Cortex-M85 cpu support
- Arm China STAR-MC1 cpu support
- Updated system_ARMCM55.c
CMSIS-DAP: 2.1.1 (see revision history for details)
@@ -691,6 +692,32 @@
</device>
</family>
+ <!-- ****************************** Cortex-M85 ****************************** -->
+ <family Dfamily="ARM Cortex M85" Dvendor="ARM:82">
+ <!--book name="Device/ARM/Documents/Arm Cortex-M55 Processor Datasheet.pdf" title="Arm Cortex-M55 Processor Datasheet"/-->
+ <description>
+The Arm Cortex-M85 processor is a fully synthesizable high-performance microcontroller class processor that implements the Armv8.1-M Mainline architecture which includes support for the M-profile Vector Extension (MVE).
+The processor also supports previous Armv8-M architectural features.
+The design is focused on compute applications such as Digital Signal Processing (DSP) and machine learning.
+The Arm Cortex-M85 processor is energy efficient and achieves high compute performance across scalar and vector operations while maintaining low power consumption.
+ </description>
+
+ <!-- debug svd="Device/ARM/SVD/ARMCM85.svd"/ SVD files do not contain any peripheral -->
+ <memory name="ROM_NS" access="rxn" start="0x00000000" size="0x00200000" startup="1" default="1" alias="ROM_S"/>
+ <memory name="RAM_NS" access="rwxn" start="0x20000000" size="0x00020000" init ="0" default="1" alias="RAM_S"/>
+ <memory name="ROM_S" access="rxn" start="0x10000000" size="0x00200000" startup="1" default="1"/>
+ <memory name="RAM_S" access="rwxn" start="0x30000000" size="0x00020000" init ="0" default="1"/>
+ <!--algorithm name="Device/ARM/Flash/NEW_DEVICE.FLM" start="0x00000000" size="0x00040000" default="1"/-->
+
+ <device Dname="ARMCM85">
+ <processor Dcore="Cortex-M85" DcoreVersion="r0p0" Dpacbti="PACBTI" Dmpu="MPU" Dfpu="DP_FPU" Dmve="FP_MVE" Ddsp="DSP" Dtz="TZ" Dendian="Configurable" Dclock="10000000"/>
+ <description>
+ Floating Point Vector Extensions, DSP Instructions, Double Precision Floating Point Unit, TrustZone, PACBTI
+ </description>
+ <compile header="Device/ARM/ARMCM85/Include/ARMCM85.h" define="ARMCM85"/>
+ </device>
+ </family>
+
<!-- ****************************** ARMSC000 ****************************** -->
<family Dfamily="ARM SC000" Dvendor="ARM:82">
<description>
@@ -1095,6 +1122,7 @@
<description>Armv8.1-M main line architecture based device</description>
<accept Dcore="ARMV81MML"/>
<accept Dcore="Cortex-M55"/>
+ <accept Dcore="Cortex-M85"/>
</condition>
<condition id="ARMv8x-MML Device">
<description>Armv8-M/Armv8.1-M architecture based device</description>
@@ -1214,6 +1242,12 @@
<require Cclass="CMSIS" Cgroup="CORE"/>
</condition>
+ <condition id="ARMCM85 CMSIS">
+ <description>Generic Arm Cortex-M85 device startup and depends on CMSIS Core</description>
+ <require Dvendor="ARM:82" Dname="ARMCM85*"/>
+ <require Cclass="CMSIS" Cgroup="CORE"/>
+ </condition>
+
<condition id="ARMSC000 CMSIS">
<description>Generic Arm SC000 device startup and depends on CMSIS Core</description>
<require Dvendor="ARM:82" Dname="ARMSC000"/>
@@ -1939,6 +1973,23 @@
</files>
</component>
+ <!-- Cortex-M85 -->
+ <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="1.0.0" condition="ARMCM85 CMSIS" isDefaultVariant="true">
+ <description>System and Startup for Generic Cortex-M85 device</description>
+ <files>
+ <!-- include folder / device header file -->
+ <file category="include" name="Device/ARM/ARMCM85/Include/"/>
+ <!-- startup / system file -->
+ <file category="sourceC" name="Device/ARM/ARMCM85/Source/startup_ARMCM85.c" version="1.0.0" attr="config"/>
+ <file category="linkerScript" name="Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct" version="1.0.0" attr="config" condition="Startup ARMCC6 Secure"/>
+ <file category="linkerScript" name="Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct" version="1.0.0" attr="config" condition="Startup ARMCC6 Unsecure"/>
+ <file category="linkerScript" name="Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld" version="1.0.0" attr="config" condition="GCC"/>
+ <file category="sourceC" name="Device/ARM/ARMCM85/Source/system_ARMCM85.c" version="1.0.0" attr="config"/>
+ <!-- SAU configuration -->
+ <file category="header" name="Device/ARM/ARMCM85/Include/Template/partition_ARMCM85.h" version="1.0.0" attr="config" condition="TZ Secure"/>
+ </files>
+ </component>
+
<!-- Cortex-SC000 -->
<component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.3" condition="ARMSC000 CMSIS" isDefaultVariant="true">
<description>System and Startup for Generic Arm SC000 device</description>