1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 25d144e36SAndy Gross# 35d144e36SAndy Gross# QCOM Soc drivers 45d144e36SAndy Gross# 52a464815SSrinivas Kandagatlamenu "Qualcomm SoC drivers" 62a464815SSrinivas Kandagatla 722094814SBjorn Anderssonconfig QCOM_AOSS_QMP 822094814SBjorn Andersson tristate "Qualcomm AOSS Driver" 922094814SBjorn Andersson depends on ARCH_QCOM || COMPILE_TEST 1022094814SBjorn Andersson depends on MAILBOX 116b9d226bSRandy Dunlap depends on COMMON_CLK && PM 1222094814SBjorn Andersson select PM_GENERIC_DOMAINS 1322094814SBjorn Andersson help 1422094814SBjorn Andersson This driver provides the means of communicating with and controlling 1522094814SBjorn Andersson the low-power state for resources related to the remoteproc 1622094814SBjorn Andersson subsystems as well as controlling the debug clocks exposed by the Always On 1722094814SBjorn Andersson Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP). 1822094814SBjorn Andersson 19312416d9SMahesh Sivasubramanianconfig QCOM_COMMAND_DB 20312416d9SMahesh Sivasubramanian bool "Qualcomm Command DB" 210ea3fa15SArnd Bergmann depends on ARCH_QCOM || COMPILE_TEST 220ea3fa15SArnd Bergmann depends on OF_RESERVED_MEM 23312416d9SMahesh Sivasubramanian help 24312416d9SMahesh Sivasubramanian Command DB queries shared memory by key string for shared system 25312416d9SMahesh Sivasubramanian resources. Platform drivers that require to set state of a shared 26312416d9SMahesh Sivasubramanian resource on a RPM-hardened platform must use this database to get 27312416d9SMahesh Sivasubramanian SoC specific identifier and information for the shared resources. 28312416d9SMahesh Sivasubramanian 29eddac5afSKarthikeyan Ramasubramanianconfig QCOM_GENI_SE 30eddac5afSKarthikeyan Ramasubramanian tristate "QCOM GENI Serial Engine Driver" 31eddac5afSKarthikeyan Ramasubramanian depends on ARCH_QCOM || COMPILE_TEST 32eddac5afSKarthikeyan Ramasubramanian help 33eddac5afSKarthikeyan Ramasubramanian This driver is used to manage Generic Interface (GENI) firmware based 34eddac5afSKarthikeyan Ramasubramanian Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This 35eddac5afSKarthikeyan Ramasubramanian driver is also used to manage the common aspects of multiple Serial 36eddac5afSKarthikeyan Ramasubramanian Engines present in the QUP. 37eddac5afSKarthikeyan Ramasubramanian 38c4d77d5fSBjorn Anderssonconfig QCOM_GLINK_SSR 39c4d77d5fSBjorn Andersson tristate "Qualcomm Glink SSR driver" 40c4d77d5fSBjorn Andersson depends on RPMSG 41c4d77d5fSBjorn Andersson depends on QCOM_RPROC_COMMON 42c4d77d5fSBjorn Andersson help 43c4d77d5fSBjorn Andersson Say y here to enable GLINK SSR support. The GLINK SSR driver 44c4d77d5fSBjorn Andersson implements the SSR protocol for notifying the remote processor about 45c4d77d5fSBjorn Andersson neighboring subsystems going up or down. 46c4d77d5fSBjorn Andersson 475d144e36SAndy Grossconfig QCOM_GSBI 485d144e36SAndy Gross tristate "QCOM General Serial Bus Interface" 49ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 50e5fdad68SAndy Gross select MFD_SYSCON 515d144e36SAndy Gross help 525d144e36SAndy Gross Say y here to enable GSBI support. The GSBI provides control 535d144e36SAndy Gross functions for connecting the underlying serial UART, SPI, and I2C 545d144e36SAndy Gross devices to the output pins. 555d144e36SAndy Gross 56a3134fb0SRishabh Bhatnagarconfig QCOM_LLCC 57a3134fb0SRishabh Bhatnagar tristate "Qualcomm Technologies, Inc. LLCC driver" 58ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 59a3134fb0SRishabh Bhatnagar help 60a3134fb0SRishabh Bhatnagar Qualcomm Technologies, Inc. platform specific 61a3134fb0SRishabh Bhatnagar Last Level Cache Controller(LLCC) driver. This provides interfaces 62a3134fb0SRishabh Bhatnagar to clients that use the LLCC. Say yes here to enable LLCC slice 63a3134fb0SRishabh Bhatnagar driver. 64a3134fb0SRishabh Bhatnagar 65a3134fb0SRishabh Bhatnagarconfig QCOM_SDM845_LLCC 66a3134fb0SRishabh Bhatnagar tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver" 67a3134fb0SRishabh Bhatnagar depends on QCOM_LLCC 68a3134fb0SRishabh Bhatnagar help 69a3134fb0SRishabh Bhatnagar Say yes here to enable the LLCC driver for SDM845. This provides 70a3134fb0SRishabh Bhatnagar data required to configure LLCC so that clients can start using the 71a3134fb0SRishabh Bhatnagar LLCC slices. 72a3134fb0SRishabh Bhatnagar 732aad40d9SBjorn Anderssonconfig QCOM_MDT_LOADER 742aad40d9SBjorn Andersson tristate 752aad40d9SBjorn Andersson select QCOM_SCM 762aad40d9SBjorn Andersson 777ce75bb2SLina Iyerconfig QCOM_PM 787ce75bb2SLina Iyer bool "Qualcomm Power Management" 797ce75bb2SLina Iyer depends on ARCH_QCOM && !ARM64 80d9d6888fSArnd Bergmann select ARM_CPU_SUSPEND 8123b38cebSLina Iyer select QCOM_SCM 827ce75bb2SLina Iyer help 837ce75bb2SLina Iyer QCOM Platform specific power driver to manage cores and L2 low power 847ce75bb2SLina Iyer modes. It interface with various system drivers to put the cores in 857ce75bb2SLina Iyer low power modes. 864b638df4SBjorn Andersson 879b8a11e8SBjorn Anderssonconfig QCOM_QMI_HELPERS 889b8a11e8SBjorn Andersson tristate 89ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 90ccfb464cSNiklas Cassel depends on NET 919b8a11e8SBjorn Andersson 92d1de6d6cSBjorn Anderssonconfig QCOM_RMTFS_MEM 93d1de6d6cSBjorn Andersson tristate "Qualcomm Remote Filesystem memory driver" 94d1de6d6cSBjorn Andersson depends on ARCH_QCOM 95fa65f804SBjorn Andersson select QCOM_SCM 96d1de6d6cSBjorn Andersson help 97d1de6d6cSBjorn Andersson The Qualcomm remote filesystem memory driver is used for allocating 98d1de6d6cSBjorn Andersson and exposing regions of shared memory with remote processors for the 99d1de6d6cSBjorn Andersson purpose of exchanging sector-data between the remote filesystem 100d1de6d6cSBjorn Andersson service and its clients. 101d1de6d6cSBjorn Andersson 102d1de6d6cSBjorn Andersson Say y here if you intend to boot the modem remoteproc. 103d1de6d6cSBjorn Andersson 104658628e7SLina Iyerconfig QCOM_RPMH 105658628e7SLina Iyer bool "Qualcomm RPM-Hardened (RPMH) Communication" 106c62615b1SNiklas Cassel depends on ARCH_QCOM && ARM64 || COMPILE_TEST 107658628e7SLina Iyer help 108658628e7SLina Iyer Support for communication with the hardened-RPM blocks in 109658628e7SLina Iyer Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an 110658628e7SLina Iyer internal bus to transmit state requests for shared resources. A set 111658628e7SLina Iyer of hardware components aggregate requests for these resources and 112658628e7SLina Iyer help apply the aggregated state on the resource. 113658628e7SLina Iyer 114279b7e8aSRajendra Nayakconfig QCOM_RPMHPD 115279b7e8aSRajendra Nayak bool "Qualcomm RPMh Power domain driver" 116279b7e8aSRajendra Nayak depends on QCOM_RPMH && QCOM_COMMAND_DB 117279b7e8aSRajendra Nayak help 118279b7e8aSRajendra Nayak QCOM RPMh Power domain driver to support power-domains with 119279b7e8aSRajendra Nayak performance states. The driver communicates a performance state 120279b7e8aSRajendra Nayak value to RPMh which then translates it into corresponding voltage 121279b7e8aSRajendra Nayak for the voltage rail. 122279b7e8aSRajendra Nayak 123bbe3a66cSRajendra Nayakconfig QCOM_RPMPD 124bbe3a66cSRajendra Nayak bool "Qualcomm RPM Power domain driver" 1254eccc154SRajendra Nayak depends on QCOM_SMD_RPM=y 126bbe3a66cSRajendra Nayak help 127bbe3a66cSRajendra Nayak QCOM RPM Power domain driver to support power-domains with 128bbe3a66cSRajendra Nayak performance states. The driver communicates a performance state 129bbe3a66cSRajendra Nayak value to RPM which then translates it into corresponding voltage 130bbe3a66cSRajendra Nayak for the voltage rail. 131bbe3a66cSRajendra Nayak 1327d0c8beeSStephen Boydconfig QCOM_SMEM 1337d0c8beeSStephen Boyd tristate "Qualcomm Shared Memory Manager (SMEM)" 134ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 13573ebb854SArnd Bergmann depends on HWSPINLOCK 1367d0c8beeSStephen Boyd help 1377d0c8beeSStephen Boyd Say y here to enable support for the Qualcomm Shared Memory Manager. 1387d0c8beeSStephen Boyd The driver provides an interface to items in a heap shared among all 1397d0c8beeSStephen Boyd processors in a Qualcomm platform. 1407d0c8beeSStephen Boyd 141936f14cfSBjorn Anderssonconfig QCOM_SMD_RPM 142936f14cfSBjorn Andersson tristate "Qualcomm Resource Power Manager (RPM) over SMD" 143ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 144a09b440aSNiklas Cassel depends on RPMSG 145936f14cfSBjorn Andersson help 146936f14cfSBjorn Andersson If you say yes to this option, support will be included for the 147936f14cfSBjorn Andersson Resource Power Manager system found in the Qualcomm 8974 based 148936f14cfSBjorn Andersson devices. 149936f14cfSBjorn Andersson 150936f14cfSBjorn Andersson This is required to access many regulators, clocks and bus 151936f14cfSBjorn Andersson frequencies controlled by the RPM on these devices. 152936f14cfSBjorn Andersson 153936f14cfSBjorn Andersson Say M here if you want to include support for the Qualcomm RPM as a 154936f14cfSBjorn Andersson module. This will build a module called "qcom-smd-rpm". 1559460ae2fSBjorn Andersson 1569460ae2fSBjorn Anderssonconfig QCOM_SMEM_STATE 1579460ae2fSBjorn Andersson bool 158c97c4090SBjorn Andersson 15950e99641SBjorn Anderssonconfig QCOM_SMP2P 16010475d59SArnd Bergmann tristate "Qualcomm Shared Memory Point to Point support" 161e7180264SBjorn Andersson depends on MAILBOX 16250e99641SBjorn Andersson depends on QCOM_SMEM 16350e99641SBjorn Andersson select QCOM_SMEM_STATE 164810f11a9SNiklas Cassel select IRQ_DOMAIN 16550e99641SBjorn Andersson help 16650e99641SBjorn Andersson Say yes here to support the Qualcomm Shared Memory Point to Point 16750e99641SBjorn Andersson protocol. 16850e99641SBjorn Andersson 169c97c4090SBjorn Anderssonconfig QCOM_SMSM 17010475d59SArnd Bergmann tristate "Qualcomm Shared Memory State Machine" 171c97c4090SBjorn Andersson depends on QCOM_SMEM 172c97c4090SBjorn Andersson select QCOM_SMEM_STATE 1730a5cdb41SNiklas Cassel select IRQ_DOMAIN 174c97c4090SBjorn Andersson help 175c97c4090SBjorn Andersson Say yes here to support the Qualcomm Shared Memory State Machine. 176c97c4090SBjorn Andersson The state machine is represented by bits in shared memory. 177ea7a1f27SBjorn Andersson 178*efb448d0SImran Khanconfig QCOM_SOCINFO 179*efb448d0SImran Khan tristate "Qualcomm socinfo driver" 180*efb448d0SImran Khan depends on QCOM_SMEM 181*efb448d0SImran Khan select SOC_BUS 182*efb448d0SImran Khan help 183*efb448d0SImran Khan Say yes here to support the Qualcomm socinfo driver, providing 184*efb448d0SImran Khan information about the SoC to user space. 185*efb448d0SImran Khan 186ea7a1f27SBjorn Anderssonconfig QCOM_WCNSS_CTRL 187ea7a1f27SBjorn Andersson tristate "Qualcomm WCNSS control driver" 188ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 1895052de8dSBjorn Andersson depends on RPMSG 190ea7a1f27SBjorn Andersson help 191ea7a1f27SBjorn Andersson Client driver for the WCNSS_CTRL SMD channel, used to download nv 192ea7a1f27SBjorn Andersson firmware to a newly booted WCNSS chip. 1932a464815SSrinivas Kandagatla 1946adba21eSSrinivas Kandagatlaconfig QCOM_APR 1956adba21eSSrinivas Kandagatla tristate "Qualcomm APR Bus (Asynchronous Packet Router)" 196ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 1976adba21eSSrinivas Kandagatla depends on RPMSG 1986adba21eSSrinivas Kandagatla help 1996adba21eSSrinivas Kandagatla Enable APR IPC protocol support between 2006adba21eSSrinivas Kandagatla application processor and QDSP6. APR is 2016adba21eSSrinivas Kandagatla used by audio driver to configure QDSP6 2026adba21eSSrinivas Kandagatla ASM, ADM and AFE modules. 2032a464815SSrinivas Kandagatlaendmenu 204