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 61a14b8203SVivek Gautam Last Level Cache Controller(LLCC) driver for platforms such as, 62a14b8203SVivek Gautam SDM845. This provides interfaces to clients that use the LLCC. 63a14b8203SVivek Gautam Say yes here to enable LLCC slice driver. 64a3134fb0SRishabh Bhatnagar 652aad40d9SBjorn Anderssonconfig QCOM_MDT_LOADER 662aad40d9SBjorn Andersson tristate 672aad40d9SBjorn Andersson select QCOM_SCM 682aad40d9SBjorn Andersson 6988c1e940SBrian Masneyconfig QCOM_OCMEM 7088c1e940SBrian Masney tristate "Qualcomm On Chip Memory (OCMEM) driver" 7188c1e940SBrian Masney depends on ARCH_QCOM 7288c1e940SBrian Masney select QCOM_SCM 7388c1e940SBrian Masney help 7488c1e940SBrian Masney The On Chip Memory (OCMEM) allocator allows various clients to 7588c1e940SBrian Masney allocate memory from OCMEM based on performance, latency and power 7688c1e940SBrian Masney requirements. This is typically used by the GPU, camera/video, and 7788c1e940SBrian Masney audio components on some Snapdragon SoCs. 7888c1e940SBrian Masney 79fbe639b4SSibi Sankarconfig QCOM_PDR_HELPERS 80fbe639b4SSibi Sankar tristate 81fbe639b4SSibi Sankar select QCOM_QMI_HELPERS 82fbe639b4SSibi Sankar 837ce75bb2SLina Iyerconfig QCOM_PM 847ce75bb2SLina Iyer bool "Qualcomm Power Management" 857ce75bb2SLina Iyer depends on ARCH_QCOM && !ARM64 86d9d6888fSArnd Bergmann select ARM_CPU_SUSPEND 8723b38cebSLina Iyer select QCOM_SCM 887ce75bb2SLina Iyer help 897ce75bb2SLina Iyer QCOM Platform specific power driver to manage cores and L2 low power 907ce75bb2SLina Iyer modes. It interface with various system drivers to put the cores in 917ce75bb2SLina Iyer low power modes. 924b638df4SBjorn Andersson 939b8a11e8SBjorn Anderssonconfig QCOM_QMI_HELPERS 949b8a11e8SBjorn Andersson tristate 95ccfb464cSNiklas Cassel depends on NET 969b8a11e8SBjorn Andersson 97d1de6d6cSBjorn Anderssonconfig QCOM_RMTFS_MEM 98d1de6d6cSBjorn Andersson tristate "Qualcomm Remote Filesystem memory driver" 99d1de6d6cSBjorn Andersson depends on ARCH_QCOM 100fa65f804SBjorn Andersson select QCOM_SCM 101d1de6d6cSBjorn Andersson help 102d1de6d6cSBjorn Andersson The Qualcomm remote filesystem memory driver is used for allocating 103d1de6d6cSBjorn Andersson and exposing regions of shared memory with remote processors for the 104d1de6d6cSBjorn Andersson purpose of exchanging sector-data between the remote filesystem 105d1de6d6cSBjorn Andersson service and its clients. 106d1de6d6cSBjorn Andersson 107d1de6d6cSBjorn Andersson Say y here if you intend to boot the modem remoteproc. 108d1de6d6cSBjorn Andersson 109658628e7SLina Iyerconfig QCOM_RPMH 110658628e7SLina Iyer bool "Qualcomm RPM-Hardened (RPMH) Communication" 111c62615b1SNiklas Cassel depends on ARCH_QCOM && ARM64 || COMPILE_TEST 112658628e7SLina Iyer help 113658628e7SLina Iyer Support for communication with the hardened-RPM blocks in 114658628e7SLina Iyer Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an 115658628e7SLina Iyer internal bus to transmit state requests for shared resources. A set 116658628e7SLina Iyer of hardware components aggregate requests for these resources and 117658628e7SLina Iyer help apply the aggregated state on the resource. 118658628e7SLina Iyer 119279b7e8aSRajendra Nayakconfig QCOM_RPMHPD 120279b7e8aSRajendra Nayak bool "Qualcomm RPMh Power domain driver" 121279b7e8aSRajendra Nayak depends on QCOM_RPMH && QCOM_COMMAND_DB 122279b7e8aSRajendra Nayak help 123279b7e8aSRajendra Nayak QCOM RPMh Power domain driver to support power-domains with 124279b7e8aSRajendra Nayak performance states. The driver communicates a performance state 125279b7e8aSRajendra Nayak value to RPMh which then translates it into corresponding voltage 126279b7e8aSRajendra Nayak for the voltage rail. 127279b7e8aSRajendra Nayak 128bbe3a66cSRajendra Nayakconfig QCOM_RPMPD 129bbe3a66cSRajendra Nayak bool "Qualcomm RPM Power domain driver" 1304eccc154SRajendra Nayak depends on QCOM_SMD_RPM=y 131bbe3a66cSRajendra Nayak help 132bbe3a66cSRajendra Nayak QCOM RPM Power domain driver to support power-domains with 133bbe3a66cSRajendra Nayak performance states. The driver communicates a performance state 134bbe3a66cSRajendra Nayak value to RPM which then translates it into corresponding voltage 135bbe3a66cSRajendra Nayak for the voltage rail. 136bbe3a66cSRajendra Nayak 1377d0c8beeSStephen Boydconfig QCOM_SMEM 1387d0c8beeSStephen Boyd tristate "Qualcomm Shared Memory Manager (SMEM)" 139ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 14073ebb854SArnd Bergmann depends on HWSPINLOCK 1417d0c8beeSStephen Boyd help 1427d0c8beeSStephen Boyd Say y here to enable support for the Qualcomm Shared Memory Manager. 1437d0c8beeSStephen Boyd The driver provides an interface to items in a heap shared among all 1447d0c8beeSStephen Boyd processors in a Qualcomm platform. 1457d0c8beeSStephen Boyd 146936f14cfSBjorn Anderssonconfig QCOM_SMD_RPM 147936f14cfSBjorn Andersson tristate "Qualcomm Resource Power Manager (RPM) over SMD" 148ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 149a09b440aSNiklas Cassel depends on RPMSG 150936f14cfSBjorn Andersson help 151936f14cfSBjorn Andersson If you say yes to this option, support will be included for the 152936f14cfSBjorn Andersson Resource Power Manager system found in the Qualcomm 8974 based 153936f14cfSBjorn Andersson devices. 154936f14cfSBjorn Andersson 155936f14cfSBjorn Andersson This is required to access many regulators, clocks and bus 156936f14cfSBjorn Andersson frequencies controlled by the RPM on these devices. 157936f14cfSBjorn Andersson 158936f14cfSBjorn Andersson Say M here if you want to include support for the Qualcomm RPM as a 159936f14cfSBjorn Andersson module. This will build a module called "qcom-smd-rpm". 1609460ae2fSBjorn Andersson 1619460ae2fSBjorn Anderssonconfig QCOM_SMEM_STATE 1629460ae2fSBjorn Andersson bool 163c97c4090SBjorn Andersson 16450e99641SBjorn Anderssonconfig QCOM_SMP2P 16510475d59SArnd Bergmann tristate "Qualcomm Shared Memory Point to Point support" 166e7180264SBjorn Andersson depends on MAILBOX 16750e99641SBjorn Andersson depends on QCOM_SMEM 16850e99641SBjorn Andersson select QCOM_SMEM_STATE 169810f11a9SNiklas Cassel select IRQ_DOMAIN 17050e99641SBjorn Andersson help 17150e99641SBjorn Andersson Say yes here to support the Qualcomm Shared Memory Point to Point 17250e99641SBjorn Andersson protocol. 17350e99641SBjorn Andersson 174c97c4090SBjorn Anderssonconfig QCOM_SMSM 17510475d59SArnd Bergmann tristate "Qualcomm Shared Memory State Machine" 176c97c4090SBjorn Andersson depends on QCOM_SMEM 177c97c4090SBjorn Andersson select QCOM_SMEM_STATE 1780a5cdb41SNiklas Cassel select IRQ_DOMAIN 179c97c4090SBjorn Andersson help 180c97c4090SBjorn Andersson Say yes here to support the Qualcomm Shared Memory State Machine. 181c97c4090SBjorn Andersson The state machine is represented by bits in shared memory. 182ea7a1f27SBjorn Andersson 183efb448d0SImran Khanconfig QCOM_SOCINFO 184efb448d0SImran Khan tristate "Qualcomm socinfo driver" 185efb448d0SImran Khan depends on QCOM_SMEM 186efb448d0SImran Khan select SOC_BUS 187efb448d0SImran Khan help 188efb448d0SImran Khan Say yes here to support the Qualcomm socinfo driver, providing 189efb448d0SImran Khan information about the SoC to user space. 190efb448d0SImran Khan 191ea7a1f27SBjorn Anderssonconfig QCOM_WCNSS_CTRL 192ea7a1f27SBjorn Andersson tristate "Qualcomm WCNSS control driver" 193ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 1945052de8dSBjorn Andersson depends on RPMSG 195ea7a1f27SBjorn Andersson help 196ea7a1f27SBjorn Andersson Client driver for the WCNSS_CTRL SMD channel, used to download nv 197ea7a1f27SBjorn Andersson firmware to a newly booted WCNSS chip. 1982a464815SSrinivas Kandagatla 1996adba21eSSrinivas Kandagatlaconfig QCOM_APR 2006adba21eSSrinivas Kandagatla tristate "Qualcomm APR Bus (Asynchronous Packet Router)" 201ccfb464cSNiklas Cassel depends on ARCH_QCOM || COMPILE_TEST 2026adba21eSSrinivas Kandagatla depends on RPMSG 203de722e41SBjorn Andersson depends on NET 20483473566SSibi Sankar select QCOM_PDR_HELPERS 2056adba21eSSrinivas Kandagatla help 2066adba21eSSrinivas Kandagatla Enable APR IPC protocol support between 2076adba21eSSrinivas Kandagatla application processor and QDSP6. APR is 2086adba21eSSrinivas Kandagatla used by audio driver to configure QDSP6 2096adba21eSSrinivas Kandagatla ASM, ADM and AFE modules. 2102a464815SSrinivas Kandagatlaendmenu 211