| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # For a description of the syntax of this configuration file, |
| # see Documentation/kbuild/kconfig-language.rst. |
| # |
| |
| menu "Qualcomm firmware drivers" |
| |
| config QCOM_SCM |
| select QCOM_TZMEM |
| tristate |
| |
| config QCOM_TZMEM |
| tristate |
| select GENERIC_ALLOCATOR |
| |
| choice |
| prompt "TrustZone interface memory allocator mode" |
| depends on QCOM_TZMEM |
| default QCOM_TZMEM_MODE_GENERIC |
| help |
| Selects the mode of the memory allocator providing memory buffers of |
| suitable format for sharing with the TrustZone. If in doubt, select |
| 'Generic'. |
| |
| config QCOM_TZMEM_MODE_GENERIC |
| bool "Generic" |
| help |
| Use the generic allocator mode. The memory is page-aligned, non-cachable |
| and physically contiguous. |
| |
| config QCOM_TZMEM_MODE_SHMBRIDGE |
| bool "SHM Bridge" |
| help |
| Use Qualcomm Shared Memory Bridge. The memory has the same alignment as |
| in the 'Generic' allocator but is also explicitly marked as an SHM Bridge |
| buffer. |
| |
| With this selected, all buffers passed to the TrustZone must be allocated |
| using the TZMem allocator or else the TrustZone will refuse to use them. |
| |
| endchoice |
| |
| config QCOM_QSEECOM |
| bool "Qualcomm QSEECOM interface driver" |
| depends on QCOM_SCM=y |
| select AUXILIARY_BUS |
| help |
| Various Qualcomm SoCs have a Secure Execution Environment (SEE) running |
| in the Trust Zone. This module provides an interface to that via the |
| QSEECOM mechanism, using SCM calls. |
| |
| The QSEECOM interface allows, among other things, access to applications |
| running in the SEE. An example of such an application is 'uefisecapp', |
| which is required to access UEFI variables on certain systems. If |
| selected, the interface will also attempt to detect and register client |
| devices for supported applications. |
| |
| Select Y here to enable the QSEECOM interface driver. |
| |
| config QCOM_QSEECOM_UEFISECAPP |
| bool "Qualcomm SEE UEFI Secure App client driver" |
| depends on QCOM_QSEECOM |
| depends on EFI |
| help |
| Various Qualcomm SoCs do not allow direct access to EFI variables. |
| Instead, these need to be accessed via the UEFI Secure Application |
| (uefisecapp), residing in the Secure Execution Environment (SEE). |
| |
| This module provides a client driver for uefisecapp, installing efivar |
| operations to allow the kernel accessing EFI variables, and via that also |
| provide user-space with access to EFI variables via efivarfs. |
| |
| Select Y here to provide access to EFI variables on the aforementioned |
| platforms. |
| |
| endmenu |