Added IRQ Controller API, implementation using ARM GIC and basic documentation
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index c99ec02..bb4ed93 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -11,6 +11,7 @@
<release version="5.0.2-dev4">
CMSIS Device:
- Added OS Tick API
+ - Added IRQ Controller API
</release>
<release version="5.0.2-dev3">
CMSIS-Core_A:
@@ -558,6 +559,12 @@
<apis>
<!-- CMSIS Device API -->
+ <api Cclass="Device" Cgroup="IRQ Controller" Capiversion="1.0.0" exclusive="1">
+ <description>Device interrupt controller interface</description>
+ <files>
+ <file category="header" name="CMSIS/Core_A/Include/irq_ctrl.h"/>
+ </files>
+ </api>
<api Cclass="Device" Cgroup="OS Tick" Capiversion="1.0.0" exclusive="1">
<description>RTOS Kernel system tick timer interface</description>
<files>
@@ -1840,6 +1847,7 @@
<require Cclass="CMSIS" Cgroup="CORE"/>
<require Cclass="Device" Cgroup="Startup"/>
<require Cclass="Device" Cgroup="OS Tick"/>
+ <require Cclass="Device" Cgroup="IRQ Controller"/>
</condition>
<condition id="RTOS2 RTX5 Lib">
<description>Components required for RTOS2 RTX5 Library</description>
@@ -1855,6 +1863,13 @@
<require Cclass="CMSIS" Cgroup="CORE"/>
<require Cclass="Device" Cgroup="Startup"/>
</condition>
+
+ <!-- OS Tick -->
+ <condition id="OS Tick PTIM">
+ <description>Components required for OS Tick Private Timer</description>
+ <require condition="CA5_CA9"/>
+ <require Cclass="Device" Cgroup="IRQ Controller"/>
+ </condition>
</conditions>
@@ -2236,8 +2251,16 @@
</files>
</component>
+ <!-- IRQ Controller -->
+ <component Cclass="Device" Cgroup="IRQ Controller" Csub="GIC" Capiversion="1.0.0" Cversion="1.0.0" condition="ARMv7-A Device">
+ <description>IRQ Controller implementation using GIC</description>
+ <files>
+ <file category="sourceC" name="CMSIS/Core_A/Source/irq_ctrl_gic.c"/>
+ </files>
+ </component>
+
<!-- OS Tick -->
- <component Cclass="Device" Cgroup="OS Tick" Csub="Private Timer" Capiversion="1.0.0" Cversion="1.0.0" condition="CA5_CA9">
+ <component Cclass="Device" Cgroup="OS Tick" Csub="Private Timer" Capiversion="1.0.0" Cversion="1.0.0" condition="OS Tick PTIM">
<description>OS Tick implementation using Private Timer</description>
<files>
<file category="sourceC" name="CMSIS/RTOS2/Source/os_tick_ptim.c"/>
@@ -2646,7 +2669,6 @@
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_msgqueue.c"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_system.c"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_evr.c"/>
- <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_gic.c"/>
<!-- RTX sources (library configuration) -->
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_lib.c"/>
<!-- RTX sources (handlers ARMCC) -->