xref: /linux/drivers/firmware/qcom/Kconfig (revision 40289e35ca525f29a03989352ab207b6a9675475)
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
10*40289e35SBartosz Golaszewski	select QCOM_TZMEM
11bdac188eSBartosz Golaszewski	tristate
12bdac188eSBartosz Golaszewski
1384f5a7b6SBartosz Golaszewskiconfig QCOM_TZMEM
1484f5a7b6SBartosz Golaszewski	tristate
1584f5a7b6SBartosz Golaszewski	select GENERIC_ALLOCATOR
1684f5a7b6SBartosz Golaszewski
1784f5a7b6SBartosz Golaszewskichoice
1884f5a7b6SBartosz Golaszewski	prompt "TrustZone interface memory allocator mode"
1984f5a7b6SBartosz Golaszewski	default QCOM_TZMEM_MODE_GENERIC
2084f5a7b6SBartosz Golaszewski	help
2184f5a7b6SBartosz Golaszewski	  Selects the mode of the memory allocator providing memory buffers of
2284f5a7b6SBartosz Golaszewski	  suitable format for sharing with the TrustZone. If in doubt, select
2384f5a7b6SBartosz Golaszewski	  'Generic'.
2484f5a7b6SBartosz Golaszewski
2584f5a7b6SBartosz Golaszewskiconfig QCOM_TZMEM_MODE_GENERIC
2684f5a7b6SBartosz Golaszewski	bool "Generic"
2784f5a7b6SBartosz Golaszewski	help
2884f5a7b6SBartosz Golaszewski	  Use the generic allocator mode. The memory is page-aligned, non-cachable
2984f5a7b6SBartosz Golaszewski	  and physically contiguous.
3084f5a7b6SBartosz Golaszewski
3184f5a7b6SBartosz Golaszewskiendchoice
3284f5a7b6SBartosz Golaszewski
33bdac188eSBartosz Golaszewskiconfig QCOM_SCM_DOWNLOAD_MODE_DEFAULT
34bdac188eSBartosz Golaszewski	bool "Qualcomm download mode enabled by default"
35bdac188eSBartosz Golaszewski	depends on QCOM_SCM
36bdac188eSBartosz Golaszewski	help
37bdac188eSBartosz Golaszewski	  A device with "download mode" enabled will upon an unexpected
38bdac188eSBartosz Golaszewski	  warm-restart enter a special debug mode that allows the user to
39bdac188eSBartosz Golaszewski	  "download" memory content over USB for offline postmortem analysis.
40bdac188eSBartosz Golaszewski	  The feature can be enabled/disabled on the kernel command line.
41bdac188eSBartosz Golaszewski
42bdac188eSBartosz Golaszewski	  Say Y here to enable "download mode" by default.
43bdac188eSBartosz Golaszewski
44bdac188eSBartosz Golaszewskiconfig QCOM_QSEECOM
45bdac188eSBartosz Golaszewski	bool "Qualcomm QSEECOM interface driver"
46bdac188eSBartosz Golaszewski	depends on QCOM_SCM=y
47bdac188eSBartosz Golaszewski	select AUXILIARY_BUS
48bdac188eSBartosz Golaszewski	help
49bdac188eSBartosz Golaszewski	  Various Qualcomm SoCs have a Secure Execution Environment (SEE) running
50bdac188eSBartosz Golaszewski	  in the Trust Zone. This module provides an interface to that via the
51bdac188eSBartosz Golaszewski	  QSEECOM mechanism, using SCM calls.
52bdac188eSBartosz Golaszewski
53bdac188eSBartosz Golaszewski	  The QSEECOM interface allows, among other things, access to applications
54bdac188eSBartosz Golaszewski	  running in the SEE. An example of such an application is 'uefisecapp',
55bdac188eSBartosz Golaszewski	  which is required to access UEFI variables on certain systems. If
56bdac188eSBartosz Golaszewski	  selected, the interface will also attempt to detect and register client
57bdac188eSBartosz Golaszewski	  devices for supported applications.
58bdac188eSBartosz Golaszewski
59bdac188eSBartosz Golaszewski	  Select Y here to enable the QSEECOM interface driver.
60bdac188eSBartosz Golaszewski
61bdac188eSBartosz Golaszewskiconfig QCOM_QSEECOM_UEFISECAPP
62bdac188eSBartosz Golaszewski	bool "Qualcomm SEE UEFI Secure App client driver"
63bdac188eSBartosz Golaszewski	depends on QCOM_QSEECOM
64bdac188eSBartosz Golaszewski	depends on EFI
65bdac188eSBartosz Golaszewski	help
66bdac188eSBartosz Golaszewski	  Various Qualcomm SoCs do not allow direct access to EFI variables.
67bdac188eSBartosz Golaszewski	  Instead, these need to be accessed via the UEFI Secure Application
68bdac188eSBartosz Golaszewski	  (uefisecapp), residing in the Secure Execution Environment (SEE).
69bdac188eSBartosz Golaszewski
70bdac188eSBartosz Golaszewski	  This module provides a client driver for uefisecapp, installing efivar
71bdac188eSBartosz Golaszewski	  operations to allow the kernel accessing EFI variables, and via that also
72bdac188eSBartosz Golaszewski	  provide user-space with access to EFI variables via efivarfs.
73bdac188eSBartosz Golaszewski
74bdac188eSBartosz Golaszewski	  Select Y here to provide access to EFI variables on the aforementioned
75bdac188eSBartosz Golaszewski	  platforms.
76bdac188eSBartosz Golaszewski
77bdac188eSBartosz Golaszewskiendmenu
78