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