Platform: Corstone-310: Add NPU driver

- Fetch Ethos-U core driver from external repository.
- Use driver to configure NPU as non-secure privilege peripheral.
- Patch driver to make configuration architecture independent and remove
  heap usage.
- Change Ethos-U55 naming to NPU0 following documentation.

Signed-off-by: Gabor Toth <gabor.toth@arm.com>
Change-Id: I04c90b75e1290a94bacd4c11086d4c1e653c8647
diff --git a/docs/platform/arm/mps3/corstone310/README.rst b/docs/platform/arm/mps3/corstone310/README.rst
index a3bd0e4..4515ea2 100644
--- a/docs/platform/arm/mps3/corstone310/README.rst
+++ b/docs/platform/arm/mps3/corstone310/README.rst
@@ -1,12 +1,12 @@
-Corstone SSE-310 with Ethos-U55 Example Subsystem for Arm Virtual Hardware, and for MPS3 (AN555)
-================================================================================================
+Corstone SSE-310 with Ethos-U55/U65 Example Subsystem for Arm Virtual Hardware, and for MPS3 (AN555)
+====================================================================================================
 
 Introduction
 ------------
 
 Corstone-310 (formerly Corstone-Polaris) is an Arm reference subsystem for
 secure System on Chips containing an Armv8.1-M Cortex-M85 processor and an
-Ethos-U55 neural network processor. It is an MPS3 based platform with the
+Ethos-U55/U65 neural network processor. It is an MPS3 based platform with the
 usual MPS3 peripherals.
 
 This platform port supports all TF-M regression tests (Secure and Non-secure)
@@ -14,7 +14,7 @@
 
 .. note::
 
-   This platform support does not provide software for Ethos-U55 IP, only
+   This platform support does not provide software for Ethos-U55/U65 IP, only
    contains base address and interrupt number for it.
 
 .. note::
@@ -26,7 +26,7 @@
 
 Follow the instructions in :doc:`Building instructions </building/tfm_build_instruction>`.
 
-For Corstone-310 Ethos-U55 Arm Virtual Hardware use the following platform name:
+For Corstone-310 Ethos-U55/U65 Arm Virtual Hardware use the following platform name:
 
 ``-DTFM_PLATFORM=arm/mps3/corstone310/fvp``
 
@@ -39,8 +39,8 @@
 
 ``-DTFM_PLATFORM=arm/mps3/corstone310/an555``
 
-To run the example code on Corstone-310 Ethos-U55 Arm Virtual Hardware
-----------------------------------------------------------------------
+To run the example code on Corstone-310 Ethos-U55/U65 Arm Virtual Hardware
+--------------------------------------------------------------------------
 
 To utilize the `Arm Virtual Hardware (AVH) <https://arm-software.github.io/AVH/main/simulation/html/Using.html>`_, you will need to create an `AWS Account <https://aws.amazon.com/>`_ if you don’t already have one.
 
diff --git a/docs/platform/platform_introduction.rst b/docs/platform/platform_introduction.rst
index 2cc103a..c18c71b 100644
--- a/docs/platform/platform_introduction.rst
+++ b/docs/platform/platform_introduction.rst
@@ -4,7 +4,7 @@
 
     - Cortex-M85 system:
 
-        - `Corstone-310 Ethos-U55 FVP.
+        - `Corstone-310 Ethos-U55/U65 FVP.
           <https://arm-software.github.io/AVH/main/simulation/html/Using.html>`_
         - `FPGA image loaded on MPS3 board (AN555).
           <https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/download-fpga-images>`_