1config BR2_PACKAGE_OPTEE_CLIENT
2	bool "optee-client"
3	depends on BR2_TOOLCHAIN_HAS_THREADS
4	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # MMC_IOC_MULTI_CMD
5	depends on BR2_USE_MMU # fork()
6	help
7	  Enable the OP-TEE client package that brings non-secure
8	  client application resources for OP-TEE support. OP-TEE
9	  client is a component delivered by the OP-TEE project.
10
11	  The client API library allows application to invoke trusted
12	  applications hosted in the OP-TEE OS secure world.  The
13	  supplicant provides services hosted by the non-secure world
14	  and invoked by the secure world.
15
16	  https://github.com/OP-TEE/optee_client
17
18if BR2_PACKAGE_OPTEE_CLIENT
19
20config BR2_PACKAGE_OPTEE_CLIENT_TEE_FS_PATH
21	string "Path for normal world OS secure storage"
22	default "/data/tee"
23	help
24	  Path to storage area for secure storage based on the
25	  normal world OS providing the actual storage via
26	  tee-supplicant.
27
28config BR2_PACKAGE_OPTEE_CLIENT_RPMB_EMU
29	bool "Enable RPMB emulation"
30	default y
31	help
32	  Enable RPMB device emulation in tee-supplicant.
33
34config BR2_PACKAGE_OPTEE_CLIENT_SUPP_PLUGINS
35	bool "Enable TEE supplicant plugins"
36	default y
37	depends on !BR2_STATIC_LIBS # dlfcn.h
38	help
39	  Enable TEE supplicant plugin support.
40
41config BR2_PACKAGE_OPTEE_CLIENT_TEEACL
42	bool "Enable TEE Access Control List login"
43	select BR2_PACKAGE_UTIL_LINUX
44	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
45	help
46	  Enable TEE ACL login identification for OP-TEE service that
47	  supports them as OP-TEE PKCS#11 services.
48
49endif
50
51comment "optee-client needs a toolchain w/ threads, headers >= 4.3"
52	depends on BR2_USE_MMU
53	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
54		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
55