Add platform specific TRNG driver

Adds platform specific TRNG driver to Crypto opteesp deployment.
Fetches and builds the TZ-TRNG driver from its external
repo and includes it when the crypto/opteesp is built for
the arm/fvp/fvp_base_revc-2xaemv8a platform.  Device region
information provided as external configuration data is
not yet integrated to the TRNG hardware is not yet used.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I8a2946643a279dfcc3aff608427c85e674f0e084
diff --git a/platform/interface/device_region.h b/platform/interface/device_region.h
new file mode 100644
index 0000000..1ad1721
--- /dev/null
+++ b/platform/interface/device_region.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef TS_PLATFORM_INTERFACE_DEVICE_REGION_H
+#define TS_PLATFORM_INTERFACE_DEVICE_REGION_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Defines a structure for describing a contiguous IO memory region
+ * and other configuration information about a peripheral.  This may be based on
+ * buildtime or runtime configuration information e.g. from device tree.
+ */
+struct device_region
+{
+    char dev_class[16];     /**< Identifier for class of device e.g. 'trng' */
+    int dev_instance;       /**< Instance of the class of device on a platform */
+    uint8_t *base_addr;     /**< Base address or region */
+    size_t io_region_size;  /**< Size of I/O region in bytes */
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* TS_PLATFORM_INTERFACE_DEVICE_REGION_H */