c802b0a2ed
Currently on Qualcomm SoC, download_mode is enabled if CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is selected or passed a boolean value from command line. Refactor the code such that it supports multiple download modes and drop CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT config instead, give interface to set the download mode from module parameter while being backword compatible at the same time. Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> Link: https://lore.kernel.org/r/20240715155655.1811178-1-quic_mojha@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
78 lines
2.4 KiB
Plaintext
78 lines
2.4 KiB
Plaintext
# 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
|