--- /dev/null
+/** @file\r
+*\r
+* Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
+* \r
+* This program and the accompanying materials \r
+* are licensed and made available under the terms and conditions of the BSD License \r
+* which accompanies this distribution. The full text of the license may be found at \r
+* http://opensource.org/licenses/bsd-license.php \r
+*\r
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+*\r
+**/\r
+\r
+#ifndef __ARM_TRUSTZONE_H__\r
+#define __ARM_TRUSTZONE_H__\r
+\r
+#include <Uefi.h>\r
+\r
+// Setup TZ Protection Controller\r
+#define TZPC_DECPROT_0 0\r
+#define TZPC_DECPROT_1 1\r
+#define TZPC_DECPROT_2 2\r
+#define TZPC_DECPROT_MAX 2\r
+\r
+/**\r
+ FIXME: Need documentation\r
+**/\r
+EFI_STATUS\r
+TZPCSetDecProtBits (\r
+ IN UINTN TzpcBase,\r
+ IN UINTN TzpcId,\r
+ IN UINTN Bits\r
+ );\r
+\r
+/**\r
+ FIXME: Need documentation\r
+**/\r
+EFI_STATUS\r
+TZPCClearDecProtBits (\r
+ IN UINTN TzpcBase,\r
+ IN UINTN TzpcId,\r
+ IN UINTN Bits\r
+ );\r
+\r
+// Setup TZ Address Space Controller\r
+#define TZASC_REGION_ENABLED 1\r
+#define TZASC_REGION_DISABLED 0\r
+#define TZASC_REGION_SIZE_32KB 0xE\r
+#define TZASC_REGION_SIZE_64KB 0xF\r
+#define TZASC_REGION_SIZE_128KB 0x10\r
+#define TZASC_REGION_SIZE_256KB 0x11\r
+#define TZASC_REGION_SIZE_512KB 0x12\r
+#define TZASC_REGION_SIZE_1MB 0x13\r
+#define TZASC_REGION_SIZE_2MB 0x14\r
+#define TZASC_REGION_SIZE_4MB 0x15\r
+#define TZASC_REGION_SIZE_8MB 0x16\r
+#define TZASC_REGION_SIZE_16MB 0x17\r
+#define TZASC_REGION_SIZE_32MB 0x18\r
+#define TZASC_REGION_SIZE_64MB 0x19\r
+#define TZASC_REGION_SIZE_128MB 0x1A\r
+#define TZASC_REGION_SIZE_256MB 0x1B\r
+#define TZASC_REGION_SIZE_512MB 0x1C\r
+#define TZASC_REGION_SIZE_1GB 0x1D\r
+#define TZASC_REGION_SIZE_2GB 0x1E\r
+#define TZASC_REGION_SIZE_4GB 0x1F\r
+#define TZASC_REGION_SECURITY_SR (1 << 3)\r
+#define TZASC_REGION_SECURITY_SW (1 << 2)\r
+#define TZASC_REGION_SECURITY_SRW (TZASC_REGION_SECURITY_SR|TZASC_REGION_SECURITY_SW)\r
+#define TZASC_REGION_SECURITY_NSR (1 << 1)\r
+#define TZASC_REGION_SECURITY_NSW 1\r
+#define TZASC_REGION_SECURITY_NSRW (TZASC_REGION_SECURITY_NSR|TZASC_REGION_SECURITY_NSW)\r
+\r
+/**\r
+ FIXME: Need documentation\r
+**/\r
+EFI_STATUS\r
+TZASCSetRegion (\r
+ IN INTN TzascBase,\r
+ IN UINTN RegionId,\r
+ IN UINTN Enabled,\r
+ IN UINTN LowAddress,\r
+ IN UINTN HighAddress,\r
+ IN UINTN Size,\r
+ IN UINTN Security\r
+ );\r
+\r
+#endif\r