| # 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 |
| bool "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_GLINK_SSR |
| tristate "Qualcomm Glink SSR driver" |
| depends on RPMSG |
| depends on QCOM_RPROC_COMMON |
| 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 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 |
| 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 QCOM_SDM845_LLCC |
| tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver" |
| depends on QCOM_LLCC |
| 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 IPQ_SUBSYSTEM_RAMDUMP |
| bool "QTI, Subsystem ramdump driver" |
| depends on ARCH_QCOM |
| help |
| QTI subsystem ramdump driver exposes APIs for the subsystem |
| to enable ramdump collection. |
| |
| config IPQ_SUBSYSTEM_RESTART_TEST |
| tristate "IPQ SSR test module" |
| depends on QCOM_Q6V5_WCSS || QCOM_Q6V5_MPD |
| help |
| This option enables the IPQ SSR test module. |
| |
| config QCOM_MDT_LOADER |
| tristate |
| select QCOM_SCM |
| |
| config QCA_MINIDUMP |
| bool "QCA minidump feature" |
| depends on QCOM_WDT && KALLSYMS |
| help |
| Say Y here to include QCA minidump feature. |
| This feature enables dumping desired regions |
| instead of dumping whole DDR up on system crash. |
| Currently supported on IPQ807x /IPQ60xx targets. |
| |
| config QCA_MINIDUMP_DEBUG |
| bool "QCA minidump Debug feature" |
| depends on QCA_MINIDUMP |
| help |
| Say Y here to include QCA minidump Debug logging. |
| |
| config QCOM_PM |
| bool "Qualcomm Power Management" |
| depends on ARCH_QCOM && !ARM64 |
| select ARM_CPU_SUSPEND |
| select QCOM_SCM |
| 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 QCOM_QMI_HELPERS |
| tristate |
| depends on ARCH_QCOM || COMPILE_TEST |
| depends on NET |
| |
| 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_RPMH |
| bool "Qualcomm RPM-Hardened (RPMH) Communication" |
| depends on ARCH_QCOM && ARM64 || COMPILE_TEST |
| 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 |
| bool "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 |
| bool "Qualcomm RPM Power domain driver" |
| depends on QCOM_SMD_RPM=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 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 QTI_MEMORY_DUMP_V2 |
| bool "QTI Memory Dump V2 Support" |
| help |
| This enables memory dump feature. It allows various client |
| subsystems to register respective dump regions. At the time |
| of deadlocks or cpu hangs these dump regions are captured to |
| give a snapshot of the system at the time of the crash. |
| |
| config QTI_DCC |
| bool "QTI Data Capture and Compare enigne support" |
| help |
| This option enables driver for Data Capture and Compare engine. DCC |
| driver provides interface to configure DCC block and read back |
| captured data from DCC's internal SRAM |
| |
| 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_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 Bus (Asynchronous Packet Router)" |
| depends on ARCH_QCOM || COMPILE_TEST |
| depends on RPMSG |
| 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 MSM_RPM_LOG |
| tristate "QTI Resource Power Manager Log Driver" |
| help |
| This option enables a driver which can read from a circular buffer |
| of messages produced by the RPM. These messages provide diagnostic |
| information about RPM operation. The driver outputs the messages |
| via a debugfs node. |
| |
| config QTI_TZ_LOG |
| tristate "Trust Zone (TZ) Log Driver" |
| depends on DEBUG_FS |
| help |
| This option enables a driver with a debugfs interface for messages |
| produced by the Secure code (Trust zone). These messages provide |
| diagnostic information about TZ operation. |
| |
| config QTI_CTXT_SAVE |
| tristate "QTI context save log" |
| depends on QCOM_SCM |
| help |
| Enable the context save driver, this driver provides a memory to |
| TZ for crashdump collection, also it provides a TLV buffer for |
| storing user specific buffer info into crashdump. |
| |
| config QTI_APSS_ACC |
| bool "QTI APSS Application Clock Controller" |
| depends on ARM64 && QCOM_SCM |
| help |
| The ACC provides clock, power domain, and reset control to a CPU. |
| There is one ACC register region per CPU within the APSS remapped |
| region as well as an alias register region that remaps accesses |
| to the ACC associated with the CPU accessing the region. |
| |
| If unsure, say N. |
| |
| config QTI_BT_INTERFACE |
| tristate "TTY interface support for BT over IMEM" |
| default n |
| help |
| Enable TTY support for BT host over IMEM. |
| endmenu |