# SPDX-License-Identifier: GPL-2.0-only
#
# QCOM Soc drivers
#
menu "Qualcomm SoC drivers"
config [31mCONFIG_QCOM_AOSS_QMP[0m
tristate "Qualcomm AOSS Driver"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_MAILBOX[0m
depends on [31mCONFIG_COMMON_CLK[0m && [31mCONFIG_PM[0m
select [31mCONFIG_PM_GENERIC_DOMAINS[0m
help
This driver provides the means of communicating with and controlling
the low-power state for resources related to the remoteproc
subsystems as well as controlling the debug clocks exposed by the Always On
Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP).
config [31mCONFIG_QCOM_COMMAND_DB[0m
bool "Qualcomm Command DB"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_OF_RESERVED_MEM[0m
help
Command DB queries shared memory by key string for shared system
resources. Platform drivers that require to set state of a shared
resource on a RPM-hardened platform must use this database to get
SoC specific identifier and information for the shared resources.
config [31mCONFIG_QCOM_GENI_SE[0m
tristate "QCOM GENI Serial Engine Driver"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
help
This driver is used to manage Generic Interface (GENI) firmware based
Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
driver is also used to manage the common aspects of multiple Serial
Engines present in the QUP.
config [31mCONFIG_QCOM_GLINK_SSR[0m
tristate "Qualcomm Glink SSR driver"
depends on [31mCONFIG_RPMSG[0m
depends on [31mCONFIG_QCOM_RPROC_COMMON[0m
help
Say y here to enable GLINK SSR support. The GLINK SSR driver
implements the SSR protocol for notifying the remote processor about
neighboring subsystems going up or down.
config [31mCONFIG_QCOM_GSBI[0m
tristate "QCOM General Serial Bus Interface"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_MFD_SYSCON[0m
help
Say y here to enable GSBI support. The GSBI provides control
functions for connecting the underlying serial UART, [31mCONFIG_SPI[0m, and [31mCONFIG_I2C[0m
devices to the output pins.
config [31mCONFIG_QCOM_LLCC[0m
tristate "Qualcomm Technologies, Inc. LLCC driver"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
help
Qualcomm Technologies, Inc. platform specific
Last Level Cache Controller(LLCC) driver. This provides interfaces
to clients that use the LLCC. Say yes here to enable LLCC slice
driver.
config [31mCONFIG_QCOM_SDM845_LLCC[0m
tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
depends on [31mCONFIG_QCOM_LLCC[0m
help
Say yes here to enable the LLCC driver for SDM845. This provides
data required to configure LLCC so that clients can start using the
LLCC slices.
config [31mCONFIG_QCOM_MDT_LOADER[0m
tristate
select [31mCONFIG_QCOM_SCM[0m
config [31mCONFIG_QCOM_PM[0m
bool "Qualcomm Power Management"
depends on [31mCONFIG_ARCH_QCOM[0m && ![31mCONFIG_ARM64[0m
select [31mCONFIG_ARM_CPU_SUSPEND[0m
select [31mCONFIG_QCOM_SCM[0m
help
QCOM Platform specific power driver to manage cores and L2 low power
modes. It interface with various system drivers to put the cores in
low power modes.
config [31mCONFIG_QCOM_QMI_HELPERS[0m
tristate
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_NET[0m
config [31mCONFIG_QCOM_RMTFS_MEM[0m
tristate "Qualcomm Remote Filesystem memory driver"
depends on [31mCONFIG_ARCH_QCOM[0m
select [31mCONFIG_QCOM_SCM[0m
help
The Qualcomm remote filesystem memory driver is used for allocating
and exposing regions of shared memory with remote processors for the
purpose of exchanging sector-data between the remote filesystem
service and its clients.
Say y here if you intend to boot the modem remoteproc.
config [31mCONFIG_QCOM_RPMH[0m
bool "Qualcomm RPM-Hardened (RPMH) Communication"
depends on [31mCONFIG_ARCH_QCOM[0m && [31mCONFIG_ARM64[0m || [31mCONFIG_COMPILE_TEST[0m
help
Support for communication with the hardened-RPM blocks in
Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
internal bus to transmit state requests for shared resources. [31mCONFIG_A[0m set
of hardware components aggregate requests for these resources and
help apply the aggregated state on the resource.
config [31mCONFIG_QCOM_RPMHPD[0m
bool "Qualcomm RPMh Power domain driver"
depends on [31mCONFIG_QCOM_RPMH[0m && [31mCONFIG_QCOM_COMMAND_DB[0m
help
QCOM RPMh Power domain driver to support power-domains with
performance states. The driver communicates a performance state
value to RPMh which then translates it into corresponding voltage
for the voltage rail.
config [31mCONFIG_QCOM_RPMPD[0m
bool "Qualcomm RPM Power domain driver"
depends on [31mCONFIG_QCOM_SMD_RPM[0m=y
help
QCOM RPM Power domain driver to support power-domains with
performance states. The driver communicates a performance state
value to RPM which then translates it into corresponding voltage
for the voltage rail.
config [31mCONFIG_QCOM_SMEM[0m
tristate "Qualcomm Shared Memory Manager (SMEM)"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_HWSPINLOCK[0m
help
Say y here to enable support for the Qualcomm Shared Memory Manager.
The driver provides an interface to items in a heap shared among all
processors in a Qualcomm platform.
config [31mCONFIG_QCOM_SMD_RPM[0m
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_RPMSG[0m
help
If you say yes to this option, support will be included for the
Resource Power Manager system found in the Qualcomm 8974 based
devices.
This is required to access many regulators, clocks and bus
frequencies controlled by the RPM on these devices.
Say [31mCONFIG_M[0m here if you want to include support for the Qualcomm RPM as a
module. This will build a module called "qcom-smd-rpm".
config [31mCONFIG_QCOM_SMEM_STATE[0m
bool
config [31mCONFIG_QCOM_SMP2P[0m
tristate "Qualcomm Shared Memory Point to Point support"
depends on [31mCONFIG_MAILBOX[0m
depends on [31mCONFIG_QCOM_SMEM[0m
select [31mCONFIG_QCOM_SMEM_STATE[0m
select [31mCONFIG_IRQ_DOMAIN[0m
help
Say yes here to support the Qualcomm Shared Memory Point to Point
protocol.
config [31mCONFIG_QCOM_SMSM[0m
tristate "Qualcomm Shared Memory State Machine"
depends on [31mCONFIG_QCOM_SMEM[0m
select [31mCONFIG_QCOM_SMEM_STATE[0m
select [31mCONFIG_IRQ_DOMAIN[0m
help
Say yes here to support the Qualcomm Shared Memory State Machine.
The state machine is represented by bits in shared memory.
config [31mCONFIG_QCOM_SOCINFO[0m
tristate "Qualcomm socinfo driver"
depends on [31mCONFIG_QCOM_SMEM[0m
select [31mCONFIG_SOC_BUS[0m
help
Say yes here to support the Qualcomm socinfo driver, providing
information about the SoC to user space.
config [31mCONFIG_QCOM_WCNSS_CTRL[0m
tristate "Qualcomm WCNSS control driver"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_RPMSG[0m
help
Client driver for the WCNSS_CTRL SMD channel, used to download nv
firmware to a newly booted WCNSS chip.
config [31mCONFIG_QCOM_APR[0m
tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_RPMSG[0m
help
Enable APR IPC protocol support between
application processor and QDSP6. APR is
used by audio driver to configure QDSP6
ASM, ADM and AFE modules.
endmenu