| /* |
| * Copyright (c) 2019 The Fuchsia Authors |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #ifndef _TA_HELPER_H_ |
| #define _TA_HELPER_H_ |
| |
| #include <common.h> |
| #include <tee.h> |
| |
| /** |
| * Context about an open session with a particular TA. |
| */ |
| struct ta_context { |
| struct udevice *tee; |
| uint32_t session; |
| }; |
| |
| /** |
| * Connect to TA, call specified function, and close connection. |
| */ |
| int ta_call(const struct tee_optee_ta_uuid *uuid, uint32_t func, |
| uint32_t num_params, struct tee_param *params); |
| |
| /** |
| * Connect to a TA and return a context. |
| */ |
| int ta_open(const struct tee_optee_ta_uuid *uuid, |
| struct ta_context *out_context); |
| |
| /** |
| * Close an open session with a TA. |
| */ |
| void ta_close(struct ta_context *context); |
| |
| /** |
| * Invoke a function provided by a TA. |
| */ |
| int ta_invoke(const struct ta_context *context, uint32_t func, |
| uint32_t num_params, struct tee_param *params); |
| |
| #endif // _TA_HELPER_H_ |