2019-05-19 12:07:45 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2014-04-24 16:31:21 +00:00
|
|
|
#
|
|
|
|
# QCOM Soc drivers
|
|
|
|
#
|
2017-07-26 15:27:16 +00:00
|
|
|
menu "Qualcomm SoC drivers"
|
|
|
|
|
2019-06-12 04:45:34 +00:00
|
|
|
config QCOM_AOSS_QMP
|
|
|
|
tristate "Qualcomm AOSS Driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on MAILBOX
|
2019-06-14 21:47:48 +00:00
|
|
|
depends on COMMON_CLK && PM
|
2019-06-12 04:45:34 +00:00
|
|
|
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).
|
|
|
|
|
2018-04-10 17:57:23 +00:00
|
|
|
config QCOM_COMMAND_DB
|
2020-10-01 15:41:44 +00:00
|
|
|
tristate "Qualcomm Command DB"
|
2018-05-25 16:08:24 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
depends on OF_RESERVED_MEM
|
2018-04-10 17:57:23 +00:00
|
|
|
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.
|
|
|
|
|
2018-03-30 17:08:17 +00:00
|
|
|
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.
|
|
|
|
|
2014-04-24 16:31:21 +00:00
|
|
|
config QCOM_GSBI
|
2019-11-20 13:39:25 +00:00
|
|
|
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.
|
2014-04-24 16:31:21 +00:00
|
|
|
|
2018-05-24 00:35:21 +00:00
|
|
|
config QCOM_LLCC
|
|
|
|
tristate "Qualcomm Technologies, Inc. LLCC driver"
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2022-11-29 07:11:59 +00:00
|
|
|
select REGMAP_MMIO
|
2018-05-24 00:35:21 +00:00
|
|
|
help
|
|
|
|
Qualcomm Technologies, Inc. platform specific
|
2019-07-18 13:02:36 +00:00
|
|
|
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.
|
2018-05-24 00:35:21 +00:00
|
|
|
|
2020-07-03 08:49:41 +00:00
|
|
|
config QCOM_KRYO_L2_ACCESSORS
|
|
|
|
bool
|
2023-01-23 20:26:01 +00:00
|
|
|
depends on (ARCH_QCOM || COMPILE_TEST) && ARM64
|
2020-07-03 08:49:41 +00:00
|
|
|
|
2017-01-27 11:12:57 +00:00
|
|
|
config QCOM_MDT_LOADER
|
|
|
|
tristate
|
|
|
|
select QCOM_SCM
|
|
|
|
|
2019-08-23 12:16:35 +00:00
|
|
|
config QCOM_OCMEM
|
|
|
|
tristate "Qualcomm On Chip Memory (OCMEM) driver"
|
|
|
|
depends on ARCH_QCOM
|
|
|
|
select QCOM_SCM
|
|
|
|
help
|
2019-11-20 13:39:25 +00:00
|
|
|
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.
|
2019-08-23 12:16:35 +00:00
|
|
|
|
2020-03-12 12:08:40 +00:00
|
|
|
config QCOM_PDR_HELPERS
|
|
|
|
tristate
|
|
|
|
select QCOM_QMI_HELPERS
|
2023-02-06 19:37:58 +00:00
|
|
|
depends on NET
|
2020-03-12 12:08:40 +00:00
|
|
|
|
2023-09-08 10:53:49 +00:00
|
|
|
config QCOM_PMIC_PDCHARGER_ULOG
|
|
|
|
tristate "Qualcomm PMIC PDCharger ULOG driver"
|
|
|
|
depends on RPMSG
|
|
|
|
depends on EVENT_TRACING
|
|
|
|
help
|
|
|
|
The Qualcomm PMIC PDCharger ULOG driver provides access to logs of
|
|
|
|
the ADSP firmware PDCharger module in charge of Battery and Power
|
|
|
|
Delivery on modern systems.
|
|
|
|
|
|
|
|
Say yes here to support PDCharger ULOG event tracing on modern
|
|
|
|
Qualcomm platforms.
|
|
|
|
|
2023-02-01 04:18:51 +00:00
|
|
|
config QCOM_PMIC_GLINK
|
|
|
|
tristate "Qualcomm PMIC GLINK driver"
|
|
|
|
depends on RPMSG
|
|
|
|
depends on TYPEC
|
|
|
|
depends on DRM
|
2023-02-06 19:37:58 +00:00
|
|
|
depends on NET
|
|
|
|
depends on OF
|
2023-02-01 04:18:51 +00:00
|
|
|
select AUXILIARY_BUS
|
|
|
|
select QCOM_PDR_HELPERS
|
2023-12-03 11:43:32 +00:00
|
|
|
select DRM_AUX_HPD_BRIDGE
|
2023-02-01 04:18:51 +00:00
|
|
|
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.
|
|
|
|
|
2017-12-05 17:43:06 +00:00
|
|
|
config QCOM_QMI_HELPERS
|
|
|
|
tristate
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on NET
|
2017-12-05 17:43:06 +00:00
|
|
|
|
2022-11-17 13:29:56 +00:00
|
|
|
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.
|
|
|
|
|
2017-10-16 18:17:08 +00:00
|
|
|
config QCOM_RMTFS_MEM
|
|
|
|
tristate "Qualcomm Remote Filesystem memory driver"
|
|
|
|
depends on ARCH_QCOM
|
2018-02-13 01:37:23 +00:00
|
|
|
select QCOM_SCM
|
2017-10-16 18:17:08 +00:00
|
|
|
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-04-20 17:36:18 +00: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.
|
|
|
|
|
2018-06-20 13:26:58 +00:00
|
|
|
config QCOM_RPMH
|
2020-10-05 05:59:56 +00:00
|
|
|
tristate "Qualcomm RPM-Hardened (RPMH) Communication"
|
2020-05-29 11:02:38 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2020-10-08 04:09:07 +00:00
|
|
|
depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
|
2018-06-20 13:26:58 +00:00
|
|
|
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.
|
|
|
|
|
2015-08-28 18:23:33 +00:00
|
|
|
config QCOM_SMEM
|
|
|
|
tristate "Qualcomm Shared Memory Manager (SMEM)"
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2015-10-13 15:05:39 +00:00
|
|
|
depends on HWSPINLOCK
|
2015-08-28 18:23:33 +00:00
|
|
|
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.
|
|
|
|
|
2015-07-28 03:20:32 +00:00
|
|
|
config QCOM_SMD_RPM
|
|
|
|
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2018-08-29 07:57:19 +00:00
|
|
|
depends on RPMSG
|
2023-06-15 16:50:42 +00:00
|
|
|
depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n
|
2015-07-28 03:20:32 +00:00
|
|
|
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".
|
2015-09-25 01:25:01 +00:00
|
|
|
|
|
|
|
config QCOM_SMEM_STATE
|
|
|
|
bool
|
2015-09-25 01:25:02 +00:00
|
|
|
|
2015-09-25 01:25:03 +00:00
|
|
|
config QCOM_SMP2P
|
2015-11-20 10:32:21 +00:00
|
|
|
tristate "Qualcomm Shared Memory Point to Point support"
|
2017-11-30 00:00:40 +00:00
|
|
|
depends on MAILBOX
|
2015-09-25 01:25:03 +00:00
|
|
|
depends on QCOM_SMEM
|
|
|
|
select QCOM_SMEM_STATE
|
2018-08-29 07:57:17 +00:00
|
|
|
select IRQ_DOMAIN
|
2015-09-25 01:25:03 +00:00
|
|
|
help
|
|
|
|
Say yes here to support the Qualcomm Shared Memory Point to Point
|
|
|
|
protocol.
|
|
|
|
|
2015-09-25 01:25:02 +00:00
|
|
|
config QCOM_SMSM
|
2015-11-20 10:32:21 +00:00
|
|
|
tristate "Qualcomm Shared Memory State Machine"
|
2015-09-25 01:25:02 +00:00
|
|
|
depends on QCOM_SMEM
|
|
|
|
select QCOM_SMEM_STATE
|
2018-08-29 07:57:18 +00:00
|
|
|
select IRQ_DOMAIN
|
2015-09-25 01:25:02 +00:00
|
|
|
help
|
|
|
|
Say yes here to support the Qualcomm Shared Memory State Machine.
|
|
|
|
The state machine is represented by bits in shared memory.
|
2015-09-21 17:52:55 +00:00
|
|
|
|
2019-07-23 22:35:13 +00:00
|
|
|
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.
|
|
|
|
|
2021-07-29 15:56:05 +00:00
|
|
|
config QCOM_SPM
|
|
|
|
tristate "Qualcomm Subsystem Power Manager (SPM)"
|
2021-10-19 15:42:02 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2021-07-29 15:56:05 +00:00
|
|
|
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.
|
|
|
|
|
2021-10-13 06:38:21 +00:00
|
|
|
config QCOM_STATS
|
|
|
|
tristate "Qualcomm Technologies, Inc. (QTI) Sleep stats driver"
|
|
|
|
depends on (ARCH_QCOM && DEBUG_FS) || COMPILE_TEST
|
|
|
|
depends on QCOM_SMEM
|
2023-12-06 04:38:40 +00:00
|
|
|
depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
|
2021-10-13 06:38:21 +00:00
|
|
|
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.
|
|
|
|
|
2015-09-21 17:52:55 +00:00
|
|
|
config QCOM_WCNSS_CTRL
|
|
|
|
tristate "Qualcomm WCNSS control driver"
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2017-03-28 05:26:33 +00:00
|
|
|
depends on RPMSG
|
2015-09-21 17:52:55 +00:00
|
|
|
help
|
|
|
|
Client driver for the WCNSS_CTRL SMD channel, used to download nv
|
|
|
|
firmware to a newly booted WCNSS chip.
|
2017-07-26 15:27:16 +00:00
|
|
|
|
2018-05-09 12:56:13 +00:00
|
|
|
config QCOM_APR
|
2021-09-27 13:55:42 +00:00
|
|
|
tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
|
2018-08-29 07:57:23 +00:00
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
2018-05-09 12:56:13 +00:00
|
|
|
depends on RPMSG
|
2020-03-16 22:03:53 +00:00
|
|
|
depends on NET
|
2020-03-12 12:08:42 +00:00
|
|
|
select QCOM_PDR_HELPERS
|
2018-05-09 12:56:13 +00:00
|
|
|
help
|
2019-11-20 13:39:25 +00:00
|
|
|
Enable APR IPC protocol support between
|
|
|
|
application processor and QDSP6. APR is
|
|
|
|
used by audio driver to configure QDSP6
|
|
|
|
ASM, ADM and AFE modules.
|
2022-07-04 12:17:28 +00:00
|
|
|
|
|
|
|
config QCOM_ICC_BWMON
|
|
|
|
tristate "QCOM Interconnect Bandwidth Monitor driver"
|
|
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
|
|
select PM_OPP
|
2022-11-29 07:20:22 +00:00
|
|
|
select REGMAP_MMIO
|
2022-07-04 12:17:28 +00:00
|
|
|
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-04-07 10:50:26 +00:00
|
|
|
config QCOM_INLINE_CRYPTO_ENGINE
|
|
|
|
tristate
|
|
|
|
select QCOM_SCM
|
|
|
|
|
2024-02-01 20:44:24 +00:00
|
|
|
config QCOM_PBS
|
|
|
|
tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
|
|
|
|
depends on SPMI
|
|
|
|
help
|
|
|
|
This driver supports configuring software programmable boot sequencer (PBS)
|
|
|
|
trigger event through PBS RAM on Qualcomm Technologies, Inc. PMICs.
|
|
|
|
This module provides the APIs to the client drivers that wants to send the
|
|
|
|
PBS trigger event to the PBS RAM.
|
|
|
|
|
2017-07-26 15:27:16 +00:00
|
|
|
endmenu
|