1# SPDX-License-Identifier: GPL-2.0-only 2# 3# For a description of the syntax of this configuration file, 4# see Documentation/kbuild/kconfig-language.rst. 5# 6 7menu "Qualcomm firmware drivers" 8 9config QCOM_PAS 10 tristate "Qualcomm generic PAS interface driver" if COMPILE_TEST 11 help 12 Enable the generic Peripheral Authentication Service (PAS) provided 13 by the firmware. It acts as the common layer with different TZ 14 backends plugged in whether it's an SCM implementation or a proper 15 TEE bus based PAS service implementation. 16 17config QCOM_PAS_TEE 18 tristate "Qualcomm PAS TEE interface driver" 19 depends on ARCH_QCOM || COMPILE_TEST 20 select QCOM_PAS 21 depends on TEE 22 depends on !CPU_BIG_ENDIAN 23 default m if ARCH_QCOM 24 help 25 Enable the generic Peripheral Authentication Service (PAS) provided 26 by the firmware TEE implementation as the backend. 27 28config QCOM_SCM 29 tristate "Qualcomm PAS SCM interface driver" if ARCH_QCOM || COMPILE_TEST 30 select QCOM_PAS 31 select QCOM_TZMEM 32 default y if ARCH_QCOM 33 34config QCOM_TZMEM 35 tristate 36 select GENERIC_ALLOCATOR 37 38config QCOM_TZMEM_MODE_SHMBRIDGE 39 bool "TrustZone interface memory allocator: SHM Bridge" 40 depends on QCOM_TZMEM 41 help 42 Use Qualcomm Shared Memory Bridge as memory allocator. The memory has the 43 same alignment as in the 'Generic' allocator, which is used when this option 44 is disabled, but is also explicitly marked as an SHM Bridge buffer. 45 46 With this selected, all buffers passed to the TrustZone must be allocated 47 using the TZMem allocator or else the TrustZone will refuse to use them. 48 49config QCOM_QSEECOM 50 bool "Qualcomm QSEECOM interface driver" 51 depends on QCOM_SCM=y 52 select AUXILIARY_BUS 53 help 54 Various Qualcomm SoCs have a Secure Execution Environment (SEE) running 55 in the Trust Zone. This module provides an interface to that via the 56 QSEECOM mechanism, using SCM calls. 57 58 The QSEECOM interface allows, among other things, access to applications 59 running in the SEE. An example of such an application is 'uefisecapp', 60 which is required to access UEFI variables on certain systems. If 61 selected, the interface will also attempt to detect and register client 62 devices for supported applications. 63 64 Select Y here to enable the QSEECOM interface driver. 65 66config QCOM_QSEECOM_UEFISECAPP 67 bool "Qualcomm SEE UEFI Secure App client driver" 68 depends on QCOM_QSEECOM 69 depends on EFI 70 help 71 Various Qualcomm SoCs do not allow direct access to EFI variables. 72 Instead, these need to be accessed via the UEFI Secure Application 73 (uefisecapp), residing in the Secure Execution Environment (SEE). 74 75 This module provides a client driver for uefisecapp, installing efivar 76 operations to allow the kernel accessing EFI variables, and via that also 77 provide user-space with access to EFI variables via efivarfs. 78 79 Select Y here to provide access to EFI variables on the aforementioned 80 platforms. 81 82endmenu 83