MLECO-3449: Update dependancies to 22.08 tags

Update dependencies to be aligned with 22.08 release of mlplatform
according to:
https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u/+/refs/heads/master/22.08.json
CMSIS-DSP is moved to a separate repository, this patch adds a new
repository along with user build parameter.

Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I356fb19b5dac87a21adfc34c67f9699131666074
diff --git a/.gitmodules b/.gitmodules
index 2fc7c1a..fb89583 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,6 @@
 [submodule "dependencies/core-platform"]
 	path = dependencies/core-platform
 	url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-platform
+[submodule "dependencies/cmsis-dsp"]
+	path = dependencies/cmsis-dsp
+	url = https://github.com/ARM-software/CMSIS-DSP.git
diff --git a/dependencies/cmsis b/dependencies/cmsis
index 6a18a74..ed78d6b 160000
--- a/dependencies/cmsis
+++ b/dependencies/cmsis
@@ -1 +1 @@
-Subproject commit 6a18a74b46ac1501a7a750dd83b8bfb06fb24504
+Subproject commit ed78d6b78766d71cfe0431149f2f261d1c7277a1
diff --git a/dependencies/cmsis-dsp b/dependencies/cmsis-dsp
new file mode 160000
index 0000000..305b12c
--- /dev/null
+++ b/dependencies/cmsis-dsp
@@ -0,0 +1 @@
+Subproject commit 305b12c4a7b6519fdb979d1ca6850582c7dfcad8
diff --git a/dependencies/core-platform b/dependencies/core-platform
index 089b31e..fc42c71 160000
--- a/dependencies/core-platform
+++ b/dependencies/core-platform
@@ -1 +1 @@
-Subproject commit 089b31e3482549b32792d03d256aec17ccb8f086
+Subproject commit fc42c71353d15c564558249bd4f13350119ab6a9
diff --git a/docs/sections/building.md b/docs/sections/building.md
index 973b644..5cfb1a1 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -192,9 +192,10 @@
   `dependencies/core-driver` git submodule. Repository is hosted here:
   [ethos-u-core-driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver).
 
-- `CMSIS_SRC_PATH`: The path to the CMSIS sources to be used to build TensorFlow Lite Micro library. This parameter is
-  optional and is only valid for Arm® *Cortex®-M* CPU targeted configurations. The default value points to the
-  `dependencies/cmsis` git submodule. Repository is hosted here: [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
+- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
+  These parameters are optional and are only valid for Arm® *Cortex®-M* CPU targeted configurations.  The default values
+  points to the `dependencies/cmsis` and `dependencies/cmsis-dsp` git submodules.  Repositories are hosted here:
+  [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git) and [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP).
 
 - `ETHOS_U_NPU_ENABLED`: Sets whether the use of *Ethos-U* NPU is available for the deployment target. By default, this
   is set and therefore application is built with *Ethos-U* NPU supported.
diff --git a/download_dependencies.py b/download_dependencies.py
index d2abdbc..2a81cfb 100755
--- a/download_dependencies.py
+++ b/download_dependencies.py
@@ -24,10 +24,11 @@
 from zipfile import ZipFile
 from pathlib import Path
 
-TF = "https://github.com/tensorflow/tflite-micro/archive/02715237c1fc0a23f465226364d206277f54ebce.zip"
-CMSIS = "https://github.com/ARM-software/CMSIS_5/archive/29615088b12e3ba8ce50d316cf7f38c1bd7fc620.zip"
-ETHOS_U_CORE_DRIVER = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.05.tar.gz"
-ETHOS_U_CORE_PLATFORM = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.05.tar.gz"
+TF = "https://github.com/tensorflow/tflite-micro/archive/286aeb5ff20d3571556e48a5c1af8527f84d3456.zip"
+CMSIS = "https://github.com/ARM-software/CMSIS_5/archive/ed78d6b78766d71cfe0431149f2f261d1c7277a1.zip"
+CMSIS_DSP = "https://github.com/ARM-software/CMSIS-DSP/archive/refs/tags/v1.11.0.zip"
+ETHOS_U_CORE_DRIVER = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.08.tar.gz"
+ETHOS_U_CORE_PLATFORM = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.08.tar.gz"
 
 
 def download(url_file: str, post_process=None):
@@ -67,6 +68,8 @@
 
     download(CMSIS,
              lambda file: unzip(file.name, to_path=dependencies_path / "cmsis"))
+    download(CMSIS_DSP,
+             lambda file: unzip(file.name, to_path=dependencies_path / "cmsis-dsp"))
     download(ETHOS_U_CORE_DRIVER,
              lambda file: untar(file.name, to_path=dependencies_path / "core-driver"))
     download(ETHOS_U_CORE_PLATFORM,
diff --git a/scripts/cmake/cmsis-dsp.cmake b/scripts/cmake/cmsis-dsp.cmake
index f22d5ef..fb2c43a 100644
--- a/scripts/cmake/cmsis-dsp.cmake
+++ b/scripts/cmake/cmsis-dsp.cmake
@@ -18,17 +18,18 @@
 # CMSIS-DSP library CMake helper script.
 
 # Check if CMSIS sources have been defined
+if (NOT DEFINED CMSIS_DSP_SRC_PATH)
+    message(FATAL_ERROR "CMSIS-DSP path should be defined for CMSIS-DSP library to be built")
+endif()
 if (NOT DEFINED CMSIS_SRC_PATH)
-    message(FATAL_ERROR "CMSIS path should be defined for CMSIS-DSP library to be built")
+    message(FATAL_ERROR "CMSIS-5 path should be defined to include CMSIS-CORE")
 endif()
 
 # 3. Form a list of all the sources we need in CSMS-DSP library
-set(CMSIS_DSP_PATH_SUFFIX   "CMSIS/DSP")
-set(CMSIS_CORE_PATH_SUFFIX  "CMSIS/Core")
-set(CMSIS_DSP_SRC_DIR       "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/Source")
-set(CMSIS_DSP_INC_DIR       "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/Include")
-set(CMSIS_DSP_PRI_INC_DIR   "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/PrivateInclude")
-set(CMSIS_CORE_INC_DIR      "${CMSIS_SRC_PATH}/${CMSIS_CORE_PATH_SUFFIX}/Include")
+set(CMSIS_DSP_SRC_DIR       "${CMSIS_DSP_SRC_PATH}/Source")
+set(CMSIS_DSP_INC_DIR       "${CMSIS_DSP_SRC_PATH}/Include")
+set(CMSIS_DSP_PRI_INC_DIR   "${CMSIS_DSP_SRC_PATH}/PrivateInclude")
+set(CMSIS_CORE_INC_DIR      "${CMSIS_SRC_PATH}/CMSIS/Core/Include")
 
 file(GLOB_RECURSE
     CMSIS_DSP_SRC
diff --git a/scripts/cmake/common_user_options.cmake b/scripts/cmake/common_user_options.cmake
index 7981068..36426a8 100644
--- a/scripts/cmake/common_user_options.cmake
+++ b/scripts/cmake/common_user_options.cmake
@@ -83,6 +83,10 @@
         "Path to CMSIS-5 sources"
         "${DEPENDENCY_ROOT_DIR}/cmsis"
         PATH)
+    USER_OPTION(CMSIS_DSP_SRC_PATH
+	"Path to CMSIS-5 DSP sources"
+        "${DEPENDENCY_ROOT_DIR}/cmsis-dsp"
+        PATH)
 
     # If we need NPU libraries:
     if (ETHOS_U_NPU_ENABLED)