hikey: Add UEFI sources for reference

UEFI needs to be built outside Android build system.
Please follow the instructions in README.

The sources correspond to:
https://github.com/96boards/edk2/commit/14eae0c12e71fd33c4c0fc51e4475e8db02566cf
https://github.com/96boards/arm-trusted-firmware/commit/e9b4909dcd75fc4ae7041cfb83d28ab9adb7afdf
https://github.com/96boards/l-loader/commit/6b784ad5c4ab00e2b1c6f53cd5f74054e5d00a78
https://git.linaro.org/uefi/uefi-tools.git/commit/abe618f8ab72034fff1ce46c9c006a2c6bd40a7e

Change-Id: Ieeefdb63e673e0c8e64e0a1f02c7bddc63b2c7fb
Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
diff --git a/uefi/linaro-edk2/Nt32Pkg/Include/Ppi/NtAutoscan.h b/uefi/linaro-edk2/Nt32Pkg/Include/Ppi/NtAutoscan.h
new file mode 100644
index 0000000..49c0294
--- /dev/null
+++ b/uefi/linaro-edk2/Nt32Pkg/Include/Ppi/NtAutoscan.h
@@ -0,0 +1,66 @@
+/**@file

+

+Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>

+This program and the accompanying materials                          

+are licensed and made available under the terms and conditions of the BSD License         

+which accompanies this distribution.  The full text of the license may be found at        

+http://opensource.org/licenses/bsd-license.php                                            

+                                                                                          

+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     

+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             

+

+Module Name:

+

+  NtAutoscan.h

+

+Abstract:

+

+Nt Autoscan PPI

+

+**/

+

+#ifndef __NT_PEI_AUTOSCAN_H__

+#define __NT_PEI_AUTOSCAN_H__

+

+#include <WinNtDxe.h>

+

+#define PEI_NT_AUTOSCAN_PPI_GUID \

+  { \

+    0xdce384d, 0x7c, 0x4ba5, {0x94, 0xbd, 0xf, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 } \

+  }

+

+typedef

+EFI_STATUS

+(EFIAPI *PEI_NT_AUTOSCAN) (

+  IN  UINTN                 Index,

+  OUT EFI_PHYSICAL_ADDRESS  * MemoryBase,

+  OUT UINT64                *MemorySize

+  );

+

+/*++

+

+Routine Description:

+  This service is called from Index == 0 until it returns EFI_UNSUPPORTED.

+  It allows discontiguous memory regions to be supported by the emulator.

+  It uses gSystemMemory[] and gSystemMemoryCount that were created by

+  parsing the Windows environment variable EFI_MEMORY_SIZE.

+  The size comes from the varaible and the address comes from the call to

+  WinNtOpenFile. 

+

+Arguments:

+  Index      - Which memory region to use

+  MemoryBase - Return Base address of memory region

+  MemorySize - Return size in bytes of the memory region

+

+Returns:

+  EFI_SUCCESS - If memory region was mapped

+  EFI_UNSUPPORTED - If Index is not supported

+

+--*/

+typedef struct {

+  PEI_NT_AUTOSCAN NtAutoScan;

+} PEI_NT_AUTOSCAN_PPI;

+

+extern EFI_GUID gPeiNtAutoScanPpiGuid;

+

+#endif