projects/linux·blob master · refs

97 lines · 3.1 KiB

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"
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 select QCOM_PAS
20 depends on TEE
21 depends on !CPU_BIG_ENDIAN
22 default m if ARCH_QCOM
23 help
24 Enable the generic Peripheral Authentication Service (PAS) provided
25 by the firmware TEE implementation as the backend.
26
27config QCOM_SCM
28 tristate "Qualcomm PAS SCM interface driver"
29 select QCOM_PAS
30 select QCOM_TZMEM
31 default y if ARCH_QCOM
32
33config QCOM_TZMEM
34 tristate
35 select GENERIC_ALLOCATOR
36
37choice
38 prompt "TrustZone interface memory allocator mode"
39 depends on QCOM_TZMEM
40 default QCOM_TZMEM_MODE_GENERIC
41 help
42 Selects the mode of the memory allocator providing memory buffers of
43 suitable format for sharing with the TrustZone. If in doubt, select
44 'Generic'.
45
46config QCOM_TZMEM_MODE_GENERIC
47 bool "Generic"
48 help
49 Use the generic allocator mode. The memory is page-aligned, non-cachable
50 and physically contiguous.
51
52config QCOM_TZMEM_MODE_SHMBRIDGE
53 bool "SHM Bridge"
54 help
55 Use Qualcomm Shared Memory Bridge. The memory has the same alignment as
56 in the 'Generic' allocator but is also explicitly marked as an SHM Bridge
57 buffer.
58
59 With this selected, all buffers passed to the TrustZone must be allocated
60 using the TZMem allocator or else the TrustZone will refuse to use them.
61
62endchoice
63
64config QCOM_QSEECOM
65 bool "Qualcomm QSEECOM interface driver"
66 depends on QCOM_SCM=y
67 select AUXILIARY_BUS
68 help
69 Various Qualcomm SoCs have a Secure Execution Environment (SEE) running
70 in the Trust Zone. This module provides an interface to that via the
71 QSEECOM mechanism, using SCM calls.
72
73 The QSEECOM interface allows, among other things, access to applications
74 running in the SEE. An example of such an application is 'uefisecapp',
75 which is required to access UEFI variables on certain systems. If
76 selected, the interface will also attempt to detect and register client
77 devices for supported applications.
78
79 Select Y here to enable the QSEECOM interface driver.
80
81config QCOM_QSEECOM_UEFISECAPP
82 bool "Qualcomm SEE UEFI Secure App client driver"
83 depends on QCOM_QSEECOM
84 depends on EFI
85 help
86 Various Qualcomm SoCs do not allow direct access to EFI variables.
87 Instead, these need to be accessed via the UEFI Secure Application
88 (uefisecapp), residing in the Secure Execution Environment (SEE).
89
90 This module provides a client driver for uefisecapp, installing efivar
91 operations to allow the kernel accessing EFI variables, and via that also
92 provide user-space with access to EFI variables via efivarfs.
93
94 Select Y here to provide access to EFI variables on the aforementioned
95 platforms.
96
97endmenu