Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / firmware / qcom / Kconfig
blobb477d54b495a623d568ae3f2e192dd3647484e52
1 # SPDX-License-Identifier: GPL-2.0-only
3 # For a description of the syntax of this configuration file,
4 # see Documentation/kbuild/kconfig-language.rst.
7 menu "Qualcomm firmware drivers"
9 config QCOM_SCM
10         select QCOM_TZMEM
11         tristate
13 config QCOM_TZMEM
14         tristate
15         select GENERIC_ALLOCATOR
17 choice
18         prompt "TrustZone interface memory allocator mode"
19         depends on QCOM_TZMEM
20         default QCOM_TZMEM_MODE_GENERIC
21         help
22           Selects the mode of the memory allocator providing memory buffers of
23           suitable format for sharing with the TrustZone. If in doubt, select
24           'Generic'.
26 config QCOM_TZMEM_MODE_GENERIC
27         bool "Generic"
28         help
29           Use the generic allocator mode. The memory is page-aligned, non-cachable
30           and physically contiguous.
32 config QCOM_TZMEM_MODE_SHMBRIDGE
33         bool "SHM Bridge"
34         help
35           Use Qualcomm Shared Memory Bridge. The memory has the same alignment as
36           in the 'Generic' allocator but is also explicitly marked as an SHM Bridge
37           buffer.
39           With this selected, all buffers passed to the TrustZone must be allocated
40           using the TZMem allocator or else the TrustZone will refuse to use them.
42 endchoice
44 config QCOM_QSEECOM
45         bool "Qualcomm QSEECOM interface driver"
46         depends on QCOM_SCM=y
47         select AUXILIARY_BUS
48         help
49           Various Qualcomm SoCs have a Secure Execution Environment (SEE) running
50           in the Trust Zone. This module provides an interface to that via the
51           QSEECOM mechanism, using SCM calls.
53           The QSEECOM interface allows, among other things, access to applications
54           running in the SEE. An example of such an application is 'uefisecapp',
55           which is required to access UEFI variables on certain systems. If
56           selected, the interface will also attempt to detect and register client
57           devices for supported applications.
59           Select Y here to enable the QSEECOM interface driver.
61 config QCOM_QSEECOM_UEFISECAPP
62         bool "Qualcomm SEE UEFI Secure App client driver"
63         depends on QCOM_QSEECOM
64         depends on EFI
65         help
66           Various Qualcomm SoCs do not allow direct access to EFI variables.
67           Instead, these need to be accessed via the UEFI Secure Application
68           (uefisecapp), residing in the Secure Execution Environment (SEE).
70           This module provides a client driver for uefisecapp, installing efivar
71           operations to allow the kernel accessing EFI variables, and via that also
72           provide user-space with access to EFI variables via efivarfs.
74           Select Y here to provide access to EFI variables on the aforementioned
75           platforms.
77 endmenu