| # 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_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 |
| depends on (ARCH_QCOM || COMPILE_TEST) && ARM64 |
| |
| 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_PD_MAPPER |
| tristate "Qualcomm Protection Domain Mapper" |
| select QCOM_QMI_HELPERS |
| select QCOM_PDR_MSG |
| select AUXILIARY_BUS |
| depends on NET && QRTR |
| default QCOM_RPROC_COMMON |
| help |
| The Protection Domain Mapper maps registered services to the domains |
| and instances handled by the remote DSPs. This is a kernel-space |
| implementation of the service. It is a simpler alternative to the |
| userspace daemon. |
| |
| config QCOM_PDR_HELPERS |
| tristate |
| select QCOM_QMI_HELPERS |
| select QCOM_PDR_MSG |
| depends on NET |
| |
| config QCOM_PDR_MSG |
| tristate |
| |
| 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. |
| |
| 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 |
| select DRM_AUX_HPD_BRIDGE |
| 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. |
| |
| 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. |
| |
| 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_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 |
| depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n |
| 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 MAILBOX |
| 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 |
| depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n |
| 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. |
| |
| config QCOM_INLINE_CRYPTO_ENGINE |
| tristate |
| select QCOM_SCM |
| |
| 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. |
| |
| endmenu |