2023-08-30 17:31:07 +02:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#
|
|
|
|
# QCOM Soc drivers
|
|
|
|
#
|
|
|
|
menu "Qualcomm SoC drivers"
|
|
|
|
|
|
|
|
config QCOM_AOSS_QMP
|
|
|
|
tristate "Qualcomm AOSS Driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on MAILBOX
|
|
|
|
depends on COMMON_CLK && PM
|
|
|
|
select PM_GENERIC_DOMAINS
|
|
|
|
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 QCOM_COMMAND_DB
|
|
|
|
tristate "Qualcomm Command DB"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on OF_RESERVED_MEM
|
|
|
|
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 QCOM_CPR
|
|
|
|
tristate "QCOM Core Power Reduction (CPR) support"
|
|
|
|
depends on ARCH_QCOM && HAS_IOMEM
|
|
|
|
select PM_OPP
|
|
|
|
select REGMAP
|
|
|
|
help
|
|
|
|
Say Y here to enable support for the CPR hardware found on Qualcomm
|
|
|
|
SoCs like QCS404.
|
|
|
|
|
|
|
|
This driver populates CPU OPPs tables and makes adjustments to the
|
|
|
|
tables based on feedback from the CPR hardware. If you want to do
|
|
|
|
CPUfrequency scaling say Y here.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
|
|
be called qcom-cpr
|
|
|
|
|
|
|
|
config QCOM_GENI_SE
|
|
|
|
tristate "QCOM GENI Serial Engine Driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
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 QCOM_GSBI
|
|
|
|
tristate "QCOM General Serial Bus Interface"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
select MFD_SYSCON
|
|
|
|
help
|
|
|
|
Say y here to enable GSBI support. The GSBI provides control
|
|
|
|
functions for connecting the underlying serial UART, SPI, and I2C
|
|
|
|
devices to the output pins.
|
|
|
|
|
|
|
|
config QCOM_LLCC
|
|
|
|
tristate "Qualcomm Technologies, Inc. LLCC driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
select REGMAP_MMIO
|
|
|
|
help
|
|
|
|
Qualcomm Technologies, Inc. platform specific
|
|
|
|
Last Level Cache Controller(LLCC) driver for platforms such as,
|
|
|
|
SDM845. This provides interfaces to clients that use the LLCC.
|
|
|
|
Say yes here to enable LLCC slice driver.
|
|
|
|
|
|
|
|
config QCOM_KRYO_L2_ACCESSORS
|
|
|
|
bool
|
2023-10-24 12:59:35 +02:00
|
|
|
depends on (ARCH_QCOM || COMPILE_TEST) && ARM64
|
2023-08-30 17:31:07 +02:00
|
|
|
|
|
|
|
config QCOM_MDT_LOADER
|
|
|
|
tristate
|
|
|
|
select QCOM_SCM
|
|
|
|
|
|
|
|
config QCOM_OCMEM
|
|
|
|
tristate "Qualcomm On Chip Memory (OCMEM) driver"
|
|
|
|
depends on ARCH_QCOM
|
|
|
|
select QCOM_SCM
|
|
|
|
help
|
|
|
|
The On Chip Memory (OCMEM) allocator allows various clients to
|
|
|
|
allocate memory from OCMEM based on performance, latency and power
|
|
|
|
requirements. This is typically used by the GPU, camera/video, and
|
|
|
|
audio components on some Snapdragon SoCs.
|
|
|
|
|
|
|
|
config QCOM_PDR_HELPERS
|
|
|
|
tristate
|
|
|
|
select QCOM_QMI_HELPERS
|
|
|
|
depends on NET
|
|
|
|
|
|
|
|
config QCOM_PMIC_GLINK
|
|
|
|
tristate "Qualcomm PMIC GLINK driver"
|
|
|
|
depends on RPMSG
|
|
|
|
depends on TYPEC
|
|
|
|
depends on DRM
|
|
|
|
depends on NET
|
|
|
|
depends on OF
|
|
|
|
select AUXILIARY_BUS
|
|
|
|
select QCOM_PDR_HELPERS
|
|
|
|
help
|
|
|
|
The Qualcomm PMIC GLINK driver provides access, over GLINK, to the
|
|
|
|
USB and battery firmware running on one of the coprocessors in
|
|
|
|
several modern Qualcomm platforms.
|
|
|
|
|
|
|
|
Say yes here to support USB-C and battery status on modern Qualcomm
|
|
|
|
platforms.
|
|
|
|
|
|
|
|
config QCOM_QMI_HELPERS
|
|
|
|
tristate
|
|
|
|
depends on NET
|
|
|
|
|
|
|
|
config QCOM_RAMP_CTRL
|
|
|
|
tristate "Qualcomm Ramp Controller driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
help
|
|
|
|
The Ramp Controller is used to program the sequence ID for pulse
|
|
|
|
swallowing, enable sequence and link sequence IDs for the CPU
|
|
|
|
cores on some Qualcomm SoCs.
|
|
|
|
Say y here to enable support for the ramp controller.
|
|
|
|
|
|
|
|
config QCOM_RMTFS_MEM
|
|
|
|
tristate "Qualcomm Remote Filesystem memory driver"
|
|
|
|
depends on ARCH_QCOM
|
|
|
|
select QCOM_SCM
|
|
|
|
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.
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
config QCOM_RPM_MASTER_STATS
|
|
|
|
tristate "Qualcomm RPM Master stats"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
help
|
|
|
|
The RPM Master sleep stats driver provides detailed per-subsystem
|
|
|
|
sleep/wake data, read from the RPM message RAM. It can be used to
|
|
|
|
assess whether all the low-power modes available are entered as
|
|
|
|
expected or to check which part of the SoC prevents it from sleeping.
|
|
|
|
|
|
|
|
Say y here if you intend to debug or monitor platform sleep.
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
config QCOM_RPMH
|
|
|
|
tristate "Qualcomm RPM-Hardened (RPMH) Communication"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
|
|
|
|
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. A set
|
|
|
|
of hardware components aggregate requests for these resources and
|
|
|
|
help apply the aggregated state on the resource.
|
|
|
|
|
|
|
|
config QCOM_RPMHPD
|
|
|
|
tristate "Qualcomm RPMh Power domain driver"
|
|
|
|
depends on QCOM_RPMH && QCOM_COMMAND_DB
|
|
|
|
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 QCOM_RPMPD
|
|
|
|
tristate "Qualcomm RPM Power domain driver"
|
|
|
|
depends on PM && OF
|
|
|
|
depends on QCOM_SMD_RPM
|
|
|
|
select PM_GENERIC_DOMAINS
|
|
|
|
select PM_GENERIC_DOMAINS_OF
|
|
|
|
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 QCOM_SMEM
|
|
|
|
tristate "Qualcomm Shared Memory Manager (SMEM)"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on HWSPINLOCK
|
|
|
|
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 QCOM_SMD_RPM
|
|
|
|
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on RPMSG
|
|
|
|
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 M here if you want to include support for the Qualcomm RPM as a
|
|
|
|
module. This will build a module called "qcom-smd-rpm".
|
|
|
|
|
|
|
|
config QCOM_SMEM_STATE
|
|
|
|
bool
|
|
|
|
|
|
|
|
config QCOM_SMP2P
|
|
|
|
tristate "Qualcomm Shared Memory Point to Point support"
|
|
|
|
depends on MAILBOX
|
|
|
|
depends on QCOM_SMEM
|
|
|
|
select QCOM_SMEM_STATE
|
|
|
|
select IRQ_DOMAIN
|
|
|
|
help
|
|
|
|
Say yes here to support the Qualcomm Shared Memory Point to Point
|
|
|
|
protocol.
|
|
|
|
|
|
|
|
config QCOM_SMSM
|
|
|
|
tristate "Qualcomm Shared Memory State Machine"
|
|
|
|
depends on QCOM_SMEM
|
|
|
|
select QCOM_SMEM_STATE
|
|
|
|
select IRQ_DOMAIN
|
|
|
|
help
|
|
|
|
Say yes here to support the Qualcomm Shared Memory State Machine.
|
|
|
|
The state machine is represented by bits in shared memory.
|
|
|
|
|
|
|
|
config QCOM_SOCINFO
|
|
|
|
tristate "Qualcomm socinfo driver"
|
|
|
|
depends on QCOM_SMEM
|
|
|
|
select SOC_BUS
|
|
|
|
help
|
|
|
|
Say yes here to support the Qualcomm socinfo driver, providing
|
|
|
|
information about the SoC to user space.
|
|
|
|
|
|
|
|
config QCOM_SPM
|
|
|
|
tristate "Qualcomm Subsystem Power Manager (SPM)"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
select QCOM_SCM
|
|
|
|
help
|
|
|
|
Enable the support for the Qualcomm Subsystem Power Manager, used
|
|
|
|
to manage cores, L2 low power modes and to configure the internal
|
|
|
|
Adaptive Voltage Scaler parameters, where supported.
|
|
|
|
|
|
|
|
config QCOM_STATS
|
|
|
|
tristate "Qualcomm Technologies, Inc. (QTI) Sleep stats driver"
|
|
|
|
depends on (ARCH_QCOM && DEBUG_FS) || COMPILE_TEST
|
|
|
|
depends on QCOM_SMEM
|
|
|
|
help
|
|
|
|
Qualcomm Technologies, Inc. (QTI) Sleep stats driver to read
|
|
|
|
the shared memory exported by the remote processor related to
|
|
|
|
various SoC level low power modes statistics and export to debugfs
|
|
|
|
interface.
|
|
|
|
|
|
|
|
config QCOM_WCNSS_CTRL
|
|
|
|
tristate "Qualcomm WCNSS control driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on RPMSG
|
|
|
|
help
|
|
|
|
Client driver for the WCNSS_CTRL SMD channel, used to download nv
|
|
|
|
firmware to a newly booted WCNSS chip.
|
|
|
|
|
|
|
|
config QCOM_APR
|
|
|
|
tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on RPMSG
|
|
|
|
depends on NET
|
|
|
|
select QCOM_PDR_HELPERS
|
|
|
|
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.
|
|
|
|
|
|
|
|
config QCOM_ICC_BWMON
|
|
|
|
tristate "QCOM Interconnect Bandwidth Monitor driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
select PM_OPP
|
|
|
|
select REGMAP_MMIO
|
|
|
|
help
|
|
|
|
Sets up driver monitoring bandwidth on various interconnects and
|
|
|
|
based on that voting for interconnect bandwidth, adjusting their
|
|
|
|
speed to current demand.
|
|
|
|
Current implementation brings support for BWMON v4, used for example
|
|
|
|
on SDM845 to measure bandwidth between CPU (gladiator_noc) and Last
|
|
|
|
Level Cache (memnoc). Usage of this BWMON allows to remove some of
|
|
|
|
the fixed bandwidth votes from cpufreq (CPU nodes) thus achieve high
|
|
|
|
memory throughput even with lower CPU frequencies.
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
config QCOM_INLINE_CRYPTO_ENGINE
|
|
|
|
tristate
|
|
|
|
select QCOM_SCM
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
endmenu
|