Add trustzone application example

Add example project that builds both secure and nonsecure world
sides and the inference is done on the secure side.
This commit includes the mpc driver as found in the upstream
trustedfirmware git repository
https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git
(8c0a234e453b51e6606d11599d0cb15097c3da48)

The model,input and output used are described in the README.md in this
directory.

Change-Id: Ie54904a38d54df4de2d6936f066c388ea58e396b
diff --git a/applications/trustzone_inference/secure/CMakeLists.txt b/applications/trustzone_inference/secure/CMakeLists.txt
new file mode 100644
index 0000000..1e4a98b
--- /dev/null
+++ b/applications/trustzone_inference/secure/CMakeLists.txt
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed under the Apache License, Version 2.0 (the License); you may
+# not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an AS IS BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/helpers.cmake)
+
+#############################################################################
+# Configuration for secure world
+#############################################################################
+
+set(TRUSTZONE_BUILD TRUE)
+set(TRUSTZONE_SIDE secure)
+
+#############################################################################
+# TrustZone secure world
+#############################################################################
+
+ethosu_add_executable(trustzone_secure PRIVATE
+    SOURCES main_secure.cpp mpc_sie_drv.c
+    LIBRARIES ethosu_target_init)
+
+target_compile_definitions(trustzone_secure PUBLIC TRUSTZONE_BUILD)
+target_compile_definitions(trustzone_secure PUBLIC TRUSTZONE_SECURE)
+
+# Use the fast memory to support both 11.12.57 and 11.13.x release
+# of the FVP
+target_compile_definitions(
+    trustzone_secure PUBLIC ETHOSU_FAST_MEMORY_SIZE=0xa0000)
+
+target_compile_options(trustzone_secure PUBLIC -mcmse)
+
+# Add include directory for target application specifics
+target_include_directories(trustzone_secure PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../${ETHOSU_TARGET})
+
+#############################################################################
+# Additional linker configuration for trustzone
+#############################################################################
+
+# Output the secure gateway veneer library to be consumed by the build
+# process for the non-secure world
+target_link_options(trustzone_secure
+    PRIVATE --import_cmse_lib_out=${SECURE_GATEWAY_LIB})
+
+target_link_options(trustzone_secure
+    PRIVATE "--predefine=\"-I${CMAKE_CURRENT_SOURCE_DIR}/../${ETHOSU_TARGET}\"")
+
+#############################################################################
+# Helper target to extract secure binaries
+#############################################################################
+
+add_custom_target(secure_binary ALL COMMAND fromelf --bin
+    ${CMAKE_CURRENT_BINARY_DIR}/trustzone_secure.elf
+     -o ${CMAKE_CURRENT_BINARY_DIR}/s_bin
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/trustzone_secure)
+