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