misc: mods: Add OP-TEE TA communication support

This patch adds OP-TEE TA support in the mods driver
using Linux kernel TEE API.

Jira OPTEE-40

Signed-off-by: Jason Li (SW-TEGRA) <jasl@nvidia.com>
Change-Id: I75338f3b6941419acc0745b374c79035a58c98c7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2708753
(cherry picked from commit 33520bc012e8e0b5cfb5de341ff8ff488df8a68f)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2709426
Reviewed-by: Rohith Talluri <sitalluri@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Rohith Talluri <sitalluri@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Jason Li (SW-TEGRA)
2022-05-06 11:07:56 +00:00
committed by Laxman Dewangan
parent 14ab31a527
commit aa01c9a907
5 changed files with 145 additions and 0 deletions

View File

@@ -1806,6 +1806,23 @@ struct MODS_TZ_PARAMS {
int status;
};
#define MAX_OPTEE_BUFFER_SIZE 512
/* Used by MODS_ESC_INVOKE_OPTEE_TA.
*
* Available only on Tegra.
*/
struct MODS_OPTEE_PARAMS {
/* IN */
__u8 buf[MAX_OPTEE_BUFFER_SIZE];
__u32 buf_size;
__u32 command_id;
/* OUT */
__u32 tee_ret;
__u32 out_a;
__u32 out_b;
};
/* Used by MODS_ESC_OIST_STATUS ioctl.
*
* Available only on Tegra.
@@ -2023,5 +2040,6 @@ struct MODS_TEGRA_OIST_STATUS {
#define MODS_ESC_GET_ACPI_DEV_CHILDREN MODSIO(WR, 138, MODS_GET_ACPI_DEV_CHILDREN)
#define MODS_ESC_SEND_TZ_MSG MODSIO(WR, 139, MODS_TZ_PARAMS)
#define MODS_ESC_OIST_STATUS MODSIO(WR, 140, MODS_TEGRA_OIST_STATUS)
#define MODS_ESC_INVOKE_OPTEE_TA MODSIO(WR, 141, MODS_OPTEE_PARAMS)
#endif /* _UAPI_MODS_H_ */