mach-imx: bootaux: fix building with disabled bootelf
[platform/kernel/u-boot.git] / include / mm_communication.h
index e464cbb..f38f1a5 100644 (file)
@@ -6,6 +6,9 @@
  *  Copyright (c) 2017, Intel Corporation. All rights reserved.
  *  Copyright (C) 2020 Linaro Ltd. <sughosh.ganu@linaro.org>
  *  Copyright (C) 2020 Linaro Ltd. <ilias.apalodimas@linaro.org>
+ *  Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ *    Authors:
+ *      Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
  */
 
 #ifndef _MM_COMMUNICATION_H_
 
 #include <part_efi.h>
 
+#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT)
+/* MM service UUID string (big-endian format). This UUID is  common across all MM SPs */
+#define MM_SP_UUID     "33d532ed-e699-0942-c09c-a798d9cd722d"
+#endif
+
 /*
  * Interface to the pseudo Trusted Application (TA), which provides a
  * communication channel with the Standalone MM (Management Mode)
@@ -43,7 +51,7 @@
  * To avoid confusion in interpreting frames, the communication buffer should
  * always begin with efi_mm_communicate_header.
  */
-struct efi_mm_communicate_header {
+struct __packed efi_mm_communicate_header {
        efi_guid_t header_guid;
        size_t     message_len;
        u8         data[];
@@ -248,4 +256,13 @@ struct smm_variable_var_check_property {
        u16                       name[];
 };
 
+#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT)
+/* supported MM transports */
+enum mm_comms_select {
+       MM_COMMS_UNDEFINED,
+       MM_COMMS_FFA,
+       MM_COMMS_OPTEE
+};
+#endif
+
 #endif /* _MM_COMMUNICATION_H_ */