xref: /linux-6.15/drivers/firmware/qcom/Kconfig (revision 84f5a7b6)
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_SCM
10	tristate
11
12config QCOM_TZMEM
13	tristate
14	select GENERIC_ALLOCATOR
15
16choice
17	prompt "TrustZone interface memory allocator mode"
18	default QCOM_TZMEM_MODE_GENERIC
19	help
20	  Selects the mode of the memory allocator providing memory buffers of
21	  suitable format for sharing with the TrustZone. If in doubt, select
22	  'Generic'.
23
24config QCOM_TZMEM_MODE_GENERIC
25	bool "Generic"
26	help
27	  Use the generic allocator mode. The memory is page-aligned, non-cachable
28	  and physically contiguous.
29
30endchoice
31
32config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
33	bool "Qualcomm download mode enabled by default"
34	depends on QCOM_SCM
35	help
36	  A device with "download mode" enabled will upon an unexpected
37	  warm-restart enter a special debug mode that allows the user to
38	  "download" memory content over USB for offline postmortem analysis.
39	  The feature can be enabled/disabled on the kernel command line.
40
41	  Say Y here to enable "download mode" by default.
42
43config QCOM_QSEECOM
44	bool "Qualcomm QSEECOM interface driver"
45	depends on QCOM_SCM=y
46	select AUXILIARY_BUS
47	help
48	  Various Qualcomm SoCs have a Secure Execution Environment (SEE) running
49	  in the Trust Zone. This module provides an interface to that via the
50	  QSEECOM mechanism, using SCM calls.
51
52	  The QSEECOM interface allows, among other things, access to applications
53	  running in the SEE. An example of such an application is 'uefisecapp',
54	  which is required to access UEFI variables on certain systems. If
55	  selected, the interface will also attempt to detect and register client
56	  devices for supported applications.
57
58	  Select Y here to enable the QSEECOM interface driver.
59
60config QCOM_QSEECOM_UEFISECAPP
61	bool "Qualcomm SEE UEFI Secure App client driver"
62	depends on QCOM_QSEECOM
63	depends on EFI
64	help
65	  Various Qualcomm SoCs do not allow direct access to EFI variables.
66	  Instead, these need to be accessed via the UEFI Secure Application
67	  (uefisecapp), residing in the Secure Execution Environment (SEE).
68
69	  This module provides a client driver for uefisecapp, installing efivar
70	  operations to allow the kernel accessing EFI variables, and via that also
71	  provide user-space with access to EFI variables via efivarfs.
72
73	  Select Y here to provide access to EFI variables on the aforementioned
74	  platforms.
75
76endmenu
77