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