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 1040289e35SBartosz 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" 19*9de4ad3bSLinus Torvalds depends on QCOM_TZMEM 2084f5a7b6SBartosz Golaszewski default QCOM_TZMEM_MODE_GENERIC 2184f5a7b6SBartosz Golaszewski help 2284f5a7b6SBartosz Golaszewski Selects the mode of the memory allocator providing memory buffers of 2384f5a7b6SBartosz Golaszewski suitable format for sharing with the TrustZone. If in doubt, select 2484f5a7b6SBartosz Golaszewski 'Generic'. 2584f5a7b6SBartosz Golaszewski 2684f5a7b6SBartosz Golaszewskiconfig QCOM_TZMEM_MODE_GENERIC 2784f5a7b6SBartosz Golaszewski bool "Generic" 2884f5a7b6SBartosz Golaszewski help 2984f5a7b6SBartosz Golaszewski Use the generic allocator mode. The memory is page-aligned, non-cachable 3084f5a7b6SBartosz Golaszewski and physically contiguous. 3184f5a7b6SBartosz Golaszewski 32f86c6149SBartosz Golaszewskiconfig QCOM_TZMEM_MODE_SHMBRIDGE 33f86c6149SBartosz Golaszewski bool "SHM Bridge" 34f86c6149SBartosz Golaszewski help 35f86c6149SBartosz Golaszewski Use Qualcomm Shared Memory Bridge. The memory has the same alignment as 36f86c6149SBartosz Golaszewski in the 'Generic' allocator but is also explicitly marked as an SHM Bridge 37f86c6149SBartosz Golaszewski buffer. 38f86c6149SBartosz Golaszewski 39f86c6149SBartosz Golaszewski With this selected, all buffers passed to the TrustZone must be allocated 40f86c6149SBartosz Golaszewski using the TZMem allocator or else the TrustZone will refuse to use them. 41f86c6149SBartosz Golaszewski 4284f5a7b6SBartosz Golaszewskiendchoice 4384f5a7b6SBartosz 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