tee: add Qualcomm TEE driver
authorAmirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Fri, 12 Sep 2025 04:07:47 +0000 (21:07 -0700)
committerJens Wiklander <jens.wiklander@linaro.org>
Mon, 15 Sep 2025 15:34:06 +0000 (17:34 +0200)
commitd6e290837e50f73f88f31f19bd8a7213d92e6e46
tree1fd601f52c8c027cad52dd344f1a91ab6e8e4e20
parentbd5139306886a9626a7d794940376806eccb9547
tee: add Qualcomm TEE driver

Introduce qcomtee_object, which represents an object in both QTEE and
the kernel. QTEE clients can invoke an instance of qcomtee_object to
access QTEE services. If this invocation produces a new object in QTEE,
an instance of qcomtee_object will be returned.

Similarly, QTEE can request services from by issuing a callback
request, which invokes an instance of qcomtee_object.

Implement initial support for exporting qcomtee_object to userspace
and QTEE, enabling the invocation of objects hosted in QTEE and userspace
through the TEE subsystem.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
14 files changed:
MAINTAINERS
drivers/tee/Kconfig
drivers/tee/Makefile
drivers/tee/qcomtee/Kconfig [new file with mode: 0644]
drivers/tee/qcomtee/Makefile [new file with mode: 0644]
drivers/tee/qcomtee/async.c [new file with mode: 0644]
drivers/tee/qcomtee/call.c [new file with mode: 0644]
drivers/tee/qcomtee/core.c [new file with mode: 0644]
drivers/tee/qcomtee/qcomtee.h [new file with mode: 0644]
drivers/tee/qcomtee/qcomtee_msg.h [new file with mode: 0644]
drivers/tee/qcomtee/qcomtee_object.h [new file with mode: 0644]
drivers/tee/qcomtee/shm.c [new file with mode: 0644]
drivers/tee/qcomtee/user_obj.c [new file with mode: 0644]
include/uapi/linux/tee.h