summaryrefslogtreecommitdiff
path: root/include/tee.h
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2018-09-25 17:40:15 +0300
committerTom Rini <trini@konsulko.com>2018-10-07 17:47:38 +0300
commit1cc8cc4e675e32cde76487292c8bace5fa927eee (patch)
tree1b0d3f82ae5d0b34ec92047a6c4e950daa124fae /include/tee.h
parent232cfd6d9152fd2a4e7113faec51db2a9ab8c6bd (diff)
downloadu-boot-1cc8cc4e675e32cde76487292c8bace5fa927eee.tar.xz
tee: optee: support AVB trusted application
Adds configuration option OPTEE_TA_AVB and a header file describing the interface to the Android Verified Boot 2.0 (AVB) trusted application provided by OP-TEE. Tested-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/tee.h')
-rw-r--r--include/tee.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/tee.h b/include/tee.h
index b86dbec257..98b1c9cc69 100644
--- a/include/tee.h
+++ b/include/tee.h
@@ -49,6 +49,22 @@
#define TEE_ORIGIN_TRUSTED_APP 0x00000004
struct udevice;
+
+/**
+ * struct tee_optee_ta_uuid - OP-TEE Trusted Application (TA) UUID format
+ *
+ * Used to identify an OP-TEE TA and define suitable to initialize structs
+ * of this format is distributed with the interface of the TA. The
+ * individual fields of this struct doesn't have any special meaning in
+ * OP-TEE. See RFC4122 for details on the format.
+ */
+struct tee_optee_ta_uuid {
+ u32 time_low;
+ u16 time_mid;
+ u16 time_hi_and_version;
+ u8 clock_seq_and_node[8];
+};
+
/**
* struct tee_shm - memory shared with the TEE
* @dev: The TEE device
@@ -333,4 +349,26 @@ int tee_close_session(struct udevice *dev, u32 session);
int tee_invoke_func(struct udevice *dev, struct tee_invoke_arg *arg,
uint num_param, struct tee_param *param);
+/**
+ * tee_optee_ta_uuid_from_octets() - Converts to struct tee_optee_ta_uuid
+ * @d: Destination struct
+ * @s: Source UUID octets
+ *
+ * Conversion to a struct tee_optee_ta_uuid represantion from binary octet
+ * representation.
+ */
+void tee_optee_ta_uuid_from_octets(struct tee_optee_ta_uuid *d,
+ const u8 s[TEE_UUID_LEN]);
+
+/**
+ * tee_optee_ta_uuid_to_octets() - Converts from struct tee_optee_ta_uuid
+ * @d: Destination UUID octets
+ * @s: Source struct
+ *
+ * Conversion from a struct tee_optee_ta_uuid represantion to binary octet
+ * representation.
+ */
+void tee_optee_ta_uuid_to_octets(u8 d[TEE_UUID_LEN],
+ const struct tee_optee_ta_uuid *s);
+
#endif /* __TEE_H */