MLECO-2978: Update to 22.02 dependencies

* Core-platform now a depdenency for timing adapter

Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I54f3773bdf91083fa1513be15372fcf2231bea2c
diff --git a/.gitmodules b/.gitmodules
index 66bff3c..2fc7c1a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,6 +7,6 @@
 [submodule "dependencies/core_driver"]
 	path = dependencies/core-driver
 	url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-driver
-[submodule "dependencies/core-software"]
-	path = dependencies/core-software
-	url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-software
+[submodule "dependencies/core-platform"]
+	path = dependencies/core-platform
+	url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-platform
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e693983..4ed64e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,7 +82,7 @@
 endif()
 
 project(arm_ml_embedded_evaluation_kit
-        VERSION     21.11.1
+        VERSION     22.02.0
         DESCRIPTION "ARM ML Embedded Evaluation Kit"
         LANGUAGES   C CXX ASM)
 
diff --git a/dependencies/cmsis b/dependencies/cmsis
index 1fab318..9b5df64 160000
--- a/dependencies/cmsis
+++ b/dependencies/cmsis
@@ -1 +1 @@
-Subproject commit 1fab31865cd538f12d1f74b760939404771603e3
+Subproject commit 9b5df640c777563919affb4e9201c96c657adbb2
diff --git a/dependencies/core-driver b/dependencies/core-driver
index 089a347..24455ee 160000
--- a/dependencies/core-driver
+++ b/dependencies/core-driver
@@ -1 +1 @@
-Subproject commit 089a34786cbe02863eaa79f39dc92bf061dfcda8
+Subproject commit 24455eedb9e8939f8a28ca0101a6f2d171e1b2f9
diff --git a/dependencies/core-platform b/dependencies/core-platform
new file mode 160000
index 0000000..456dbb7
--- /dev/null
+++ b/dependencies/core-platform
@@ -0,0 +1 @@
+Subproject commit 456dbb742d1b04c346047b18c993b5e7cd699aba
diff --git a/dependencies/core-software b/dependencies/core-software
deleted file mode 160000
index 02856bd..0000000
--- a/dependencies/core-software
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 02856bdd80f0ed52d09dd2fea450e61eb02372d6
diff --git a/dependencies/tensorflow b/dependencies/tensorflow
index f75696c..1a0287f 160000
--- a/dependencies/tensorflow
+++ b/dependencies/tensorflow
@@ -1 +1 @@
-Subproject commit f75696cb9e7e5cc06761af2a83f7df0e5e975363
+Subproject commit 1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393
diff --git a/docs/quick_start.md b/docs/quick_start.md
index 252b084..9808e15 100644
--- a/docs/quick_start.md
+++ b/docs/quick_start.md
@@ -63,7 +63,7 @@
 python3 -m venv env
 env/bin/python3 -m pip install --upgrade pip
 env/bin/python3 -m pip install --upgrade setuptools
-env/bin/python3 -m pip install ethos-u-vela==3.2.0
+env/bin/python3 -m pip install ethos-u-vela==3.3.0
 cd ..
 
 curl -L https://github.com/ARM-software/ML-zoo/raw/7c32b097f7d94aae2cd0b98a8ed5a3ba81e66b18/models/anomaly_detection/micronet_medium/tflite_int8/ad_medium_int8.tflite \
diff --git a/docs/sections/building.md b/docs/sections/building.md
index 895e0e6..df21250 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -76,14 +76,14 @@
 >
 > `export PATH=/path/to/cmake/bin:$PATH`
 
-- Python 3.6 or above is installed. Check your current installed version of Python by running:
+- Python 3.8 or above is installed. Check your current installed version of Python by running:
 
     ```commandline
     python3 --version
     ```
 
     ```log
-    Python 3.6.8
+    Python 3.8.12
     ```
 
 - The build system creates a Python virtual environment during the build process. Please make sure that Python virtual
@@ -101,7 +101,7 @@
   ```
 
   ```log
-  pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
+  pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.8)
   ```
 
 - Make
@@ -309,7 +309,7 @@
 for the default 128 MACs configuration of the Arm® *Ethos™-U55* NPU and for the default 256 MACs configuration of the
 Arm® *Ethos™-U65* NPU.
 
-> **Note:** This script requires Python version 3.6 or higher. Please make sure all [build prerequisites](./building.md#build-prerequisites)
+> **Note:** This script requires Python version 3.8 or higher. Please make sure all [build prerequisites](./building.md#build-prerequisites)
 > are satisfied.
 
 Additional command line arguments supported by this script are:
diff --git a/download_dependencies.py b/download_dependencies.py
index 45f68be..c02d98f 100755
--- a/download_dependencies.py
+++ b/download_dependencies.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-#  Copyright (c) 2021 Arm Limited. All rights reserved.
+#  Copyright (c) 2021-2022 Arm Limited. All rights reserved.
 #  SPDX-License-Identifier: Apache-2.0
 #
 #  Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,11 +25,10 @@
 from urllib.request import urlopen
 from zipfile import ZipFile
 
-tf = "https://github.com/tensorflow/tflite-micro/archive/f75696cb9e7e5cc06761af2a83f7df0e5e975363.zip"
-cmsis = "https://github.com/ARM-software/CMSIS_5/archive/1fab31865cd538f12d1f74b760939404771603e3.zip"
-ethos_u_core_sw = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git/snapshot/ethos-u-core-software-21.11.tar.gz"
-ethos_u_core_driver = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-21.11.tar.gz"
-
+tf = "https://github.com/tensorflow/tflite-micro/archive/1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393.zip"
+cmsis = "https://github.com/ARM-software/CMSIS_5/archive/9b5df640c777563919affb4e9201c96c657adbb2.zip"
+ethos_u_core_driver = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.02.tar.gz"
+ethos_u_core_platform = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.02.tar.gz"
 
 def download(url_file: str, post_process=None):
     with urlopen(url_file) as response, tempfile.NamedTemporaryFile() as temp:
@@ -69,12 +68,12 @@
     download(cmsis,
              lambda file: unzip(file.name,
                                 to_path=os.path.join(dependencies_path, "cmsis")))
-    download(ethos_u_core_sw,
-             lambda file: untar(file.name,
-                                to_path=os.path.join(dependencies_path, "core-software")))
     download(ethos_u_core_driver,
              lambda file: untar(file.name,
                                 to_path=os.path.join(dependencies_path, "core-driver")))
+    download(ethos_u_core_platform,
+             lambda file: untar(file.name,
+                                to_path=os.path.join(dependencies_path, "core-platform")))
     download(tf,
              lambda file: unzip(file.name,
                                 to_path=os.path.join(dependencies_path, "tensorflow")))
diff --git a/release_notes.txt b/release_notes.txt
index 93d1f66..a85068a 100644
--- a/release_notes.txt
+++ b/release_notes.txt
@@ -1,3 +1,12 @@
+Changes in 22.02
+    * Support for 22.02 Ethos-U component and dependencies (core-driver, core-platform, Vela 3.3.0, CMSIS, TensorFlow Lite Micro).
+    * Added Object Detection use case.
+    * Replace DSCNN with MicroNet for KWS and KWS_ASR use cases.
+    * Increase minimum requirements of CMake to 3.15.6, armclang to 6.16 and Python to 3.8
+    * Initial restructuring of repository sources.
+    * Documentation updates.
+    * Various minor bug fixes.
+
 Changes in 21.11
     * Support for 21.11 Ethos-U component and dependencies (core-software, core-driver, Vela 3.2.0, CMSIS, TensorFlow Lite).
     * Added dynamic load support for FVP for inference runner use-case.
diff --git a/scripts/cmake/common_user_options.cmake b/scripts/cmake/common_user_options.cmake
index a077264..ae35925 100644
--- a/scripts/cmake/common_user_options.cmake
+++ b/scripts/cmake/common_user_options.cmake
@@ -88,7 +88,7 @@
     if (ETHOS_U_NPU_ENABLED)
         USER_OPTION(ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH
             "Path to Ethos-U NPU timing adapter sources"
-            "${DEPENDENCY_ROOT_DIR}/core-software/drivers/timing_adapter"
+            "${DEPENDENCY_ROOT_DIR}/core-platform/drivers/timing_adapter"
             PATH
             )
 
diff --git a/scripts/cmake/tensorflow.cmake b/scripts/cmake/tensorflow.cmake
index 284c70a..127724b 100644
--- a/scripts/cmake/tensorflow.cmake
+++ b/scripts/cmake/tensorflow.cmake
@@ -54,7 +54,7 @@
     if(ETHOS_U_NPU_ENABLED)
         # Arm Ethos-U55 NPU is the co-processor for ML workload:
         set(TENSORFLOW_LITE_MICRO_CO_PROCESSOR  "ethos_u")
-        string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH)
+        set(ETHOS_U_NPU_ID "u55")  # Currently only u55 is supported by TFLite Micro.
     endif()
 
     set(TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL  "cmsis_nn")
@@ -68,10 +68,6 @@
     list(APPEND MAKE_TARGETS_LIST "clean")
 endif()
 
-if (ETHOS_U_NPU_ID)
-    string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH)
-endif()
-
 # Primary target
 list(APPEND MAKE_TARGETS_LIST "microlite")
 message(STATUS "TensorFlow Lite Micro build to be called for these targets: ${MAKE_TARGETS_LIST}")
@@ -89,7 +85,7 @@
         BUILD_TYPE=${TENSORFLOW_LITE_MICRO_BUILD_TYPE}
         CMSIS_PATH=${CMSIS_SRC_PATH}
         # Conditional arguments
-        $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_ARCH=${ETHOSU_ARCH}>
+        $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_ARCH=${ETHOS_U_NPU_ID}>
         $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH}>
         $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_LIBS=$<TARGET_FILE:ethosu_core_driver>>
 
diff --git a/scripts/py/requirements.txt b/scripts/py/requirements.txt
index 6330f58..ce74502 100644
--- a/scripts/py/requirements.txt
+++ b/scripts/py/requirements.txt
@@ -3,7 +3,7 @@
 llvmlite==0.33.0
 MarkupSafe==1.1.1
 numba==0.50.1
-numpy==1.17.4
+numpy==1.19.2
 Pillow==7.0.0
 pycparser==2.20
 resampy==0.2.2
diff --git a/set_up_default_resources.py b/set_up_default_resources.py
index 899fbe6..3138844 100755
--- a/set_up_default_resources.py
+++ b/set_up_default_resources.py
@@ -370,7 +370,7 @@
     )
 
     metadata_dict = dict()
-    vela_version = "3.2.0"
+    vela_version = "3.3.0"
 
     setup_script_hash_verified = False
     setup_script_hash = get_md5sum_for_file(os.path.abspath(__file__))