CMSIS-DAP: Update version and revision history
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index c201d5f..0c0aa46 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -13,6 +13,8 @@
       CMSIS-Core(M): 5.6.0
        - Arm China STAR-MC1 cpu support
        - Updated system_ARMCM55.c
+      CMSIS-DAP: 2.1.1 (see revision history for details)
+       - Allow default clock frequency to use fast clock mode
       CMSIS-DSP: 1.10.0 (see revision history for details)
       CMSIS-NN: 3.1.0 (see revision history for details)
        - Support for int16 convolution and fully connected for reference implementation
diff --git a/CMSIS/DAP/Firmware/Include/DAP.h b/CMSIS/DAP/Firmware/Include/DAP.h
index 9d8f7fd..55cf686 100644
--- a/CMSIS/DAP/Firmware/Include/DAP.h
+++ b/CMSIS/DAP/Firmware/Include/DAP.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2021 ARM Limited. All rights reserved.
+ * Copyright (c) 2013-2022 ARM Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -17,8 +17,8 @@
  *
  * ----------------------------------------------------------------------
  *
- * $Date:        26. May 2021
- * $Revision:    V2.1.0
+ * $Date:        26. April 2022
+ * $Revision:    V2.1.1
  *
  * Project:      CMSIS-DAP Include
  * Title:        DAP.h Definitions
@@ -33,7 +33,7 @@
 #ifdef  DAP_FW_V1
 #define DAP_FW_VER                      "1.3.0"
 #else
-#define DAP_FW_VER                      "2.1.0"
+#define DAP_FW_VER                      "2.1.1"
 #endif
 
 // DAP Command IDs
diff --git a/CMSIS/DAP/Firmware/Source/DAP.c b/CMSIS/DAP/Firmware/Source/DAP.c
index 2e071c0..606917e 100644
--- a/CMSIS/DAP/Firmware/Source/DAP.c
+++ b/CMSIS/DAP/Firmware/Source/DAP.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2021 ARM Limited. All rights reserved.
+ * Copyright (c) 2013-2022 ARM Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -17,7 +17,7 @@
  *
  * ----------------------------------------------------------------------
  *
- * $Date:        7. September 2021
+ * $Date:        26. April 2022
  * $Revision:    V2.1.1
  *
  * Project:      CMSIS-DAP Source
@@ -45,7 +45,6 @@
 
 
 // Clock Macros
-
 #define MAX_SWJ_CLOCK(delay_cycles) \
   ((CPU_CLOCK/2U) / (IO_PORT_WRITE_CYCLES + delay_cycles))
 
@@ -57,6 +56,29 @@
 static const char DAP_FW_Ver [] = DAP_FW_VER;
 
 
+// Common clock delay calculation routine
+//   clock:    requested SWJ frequency in Hertz
+static void Set_Clock_Delay(uint32_t clock) {
+  uint32_t delay;
+
+  if (clock >= MAX_SWJ_CLOCK(DELAY_FAST_CYCLES)) {
+    DAP_Data.fast_clock  = 1U;
+    DAP_Data.clock_delay = 1U;
+  } else {
+    DAP_Data.fast_clock  = 0U;
+
+    delay = ((CPU_CLOCK/2U) + (clock - 1U)) / clock;
+    if (delay > IO_PORT_WRITE_CYCLES) {
+      delay -= IO_PORT_WRITE_CYCLES;
+      delay  = (delay + (DELAY_SLOW_CYCLES - 1U)) / DELAY_SLOW_CYCLES;
+    } else {
+      delay  = 1U;
+    }
+
+    DAP_Data.clock_delay = delay;
+  }
+}
+
 
 // Get DAP Information
 //   id:      info identifier
@@ -375,31 +397,6 @@
 }
 
 
-// Common clock delay calculation routine
-//   clock:    requested SWJ frequency in Hertz
-//   return:   void
-static void Set_DAP_Clock_Delay(uint32_t clock) {
-  uint32_t delay;
-
-  if (clock >= MAX_SWJ_CLOCK(DELAY_FAST_CYCLES)) {
-    DAP_Data.fast_clock  = 1U;
-    DAP_Data.clock_delay = 1U;
-  } else {
-    DAP_Data.fast_clock  = 0U;
-
-    delay = ((CPU_CLOCK/2U) + (clock - 1U)) / clock;
-    if (delay > IO_PORT_WRITE_CYCLES) {
-      delay -= IO_PORT_WRITE_CYCLES;
-      delay  = (delay + (DELAY_SLOW_CYCLES - 1U)) / DELAY_SLOW_CYCLES;
-    } else {
-      delay  = 1U;
-    }
-
-    DAP_Data.clock_delay = delay;
-  }
-}
-
-
 // Process SWJ Clock command and prepare response
 //   request:  pointer to request data
 //   response: pointer to response data
@@ -420,7 +417,7 @@
     return ((4U << 16) | 1U);
   }
 
-  Set_DAP_Clock_Delay(clock);
+  Set_Clock_Delay(clock);
 
   *response = DAP_OK;
 #else
@@ -1809,7 +1806,7 @@
 #endif
 
   // Sets DAP_Data.fast_clock and DAP_Data.clock_delay.
-  Set_DAP_Clock_Delay(DAP_DEFAULT_SWJ_CLOCK);
+  Set_Clock_Delay(DAP_DEFAULT_SWJ_CLOCK);
 
   DAP_SETUP();  // Device specific setup
 }
diff --git a/CMSIS/DoxyGen/DAP/dap.dxy b/CMSIS/DoxyGen/DAP/dap.dxy
index 969e219..458299c 100644
--- a/CMSIS/DoxyGen/DAP/dap.dxy
+++ b/CMSIS/DoxyGen/DAP/dap.dxy
@@ -38,7 +38,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = "Version 2.1.0"
+PROJECT_NUMBER         = "Version 2.1.1"
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/CMSIS/DoxyGen/DAP/src/dap.txt b/CMSIS/DoxyGen/DAP/src/dap.txt
index 27165dd..fb506f0 100644
--- a/CMSIS/DoxyGen/DAP/src/dap.txt
+++ b/CMSIS/DoxyGen/DAP/src/dap.txt
@@ -104,6 +104,12 @@
       <th>Description</th>
     </tr>
     <tr>
+      <td>V2.1.1</td>
+      <td>
+         Allow default clock frequency to use fast clock mode
+      </td>
+    </tr>
+    <tr>
       <td>V2.1.0</td>
       <td>
          Added: \ref DAP_uart_gr to support target communication via extra UART\n