18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# QCOM Soc drivers 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_cimenu "Qualcomm SoC drivers" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciconfig QCOM_AOSS_QMP 88c2ecf20Sopenharmony_ci tristate "Qualcomm AOSS Driver" 98c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 108c2ecf20Sopenharmony_ci depends on MAILBOX 118c2ecf20Sopenharmony_ci depends on COMMON_CLK && PM 128c2ecf20Sopenharmony_ci select PM_GENERIC_DOMAINS 138c2ecf20Sopenharmony_ci help 148c2ecf20Sopenharmony_ci This driver provides the means of communicating with and controlling 158c2ecf20Sopenharmony_ci the low-power state for resources related to the remoteproc 168c2ecf20Sopenharmony_ci subsystems as well as controlling the debug clocks exposed by the Always On 178c2ecf20Sopenharmony_ci Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP). 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciconfig QCOM_COMMAND_DB 208c2ecf20Sopenharmony_ci bool "Qualcomm Command DB" 218c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 228c2ecf20Sopenharmony_ci depends on OF_RESERVED_MEM 238c2ecf20Sopenharmony_ci help 248c2ecf20Sopenharmony_ci Command DB queries shared memory by key string for shared system 258c2ecf20Sopenharmony_ci resources. Platform drivers that require to set state of a shared 268c2ecf20Sopenharmony_ci resource on a RPM-hardened platform must use this database to get 278c2ecf20Sopenharmony_ci SoC specific identifier and information for the shared resources. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig QCOM_CPR 308c2ecf20Sopenharmony_ci tristate "QCOM Core Power Reduction (CPR) support" 318c2ecf20Sopenharmony_ci depends on ARCH_QCOM && HAS_IOMEM 328c2ecf20Sopenharmony_ci select PM_OPP 338c2ecf20Sopenharmony_ci select REGMAP 348c2ecf20Sopenharmony_ci help 358c2ecf20Sopenharmony_ci Say Y here to enable support for the CPR hardware found on Qualcomm 368c2ecf20Sopenharmony_ci SoCs like QCS404. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci This driver populates CPU OPPs tables and makes adjustments to the 398c2ecf20Sopenharmony_ci tables based on feedback from the CPR hardware. If you want to do 408c2ecf20Sopenharmony_ci CPUfrequency scaling say Y here. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module will 438c2ecf20Sopenharmony_ci be called qcom-cpr 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciconfig QCOM_GENI_SE 468c2ecf20Sopenharmony_ci tristate "QCOM GENI Serial Engine Driver" 478c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 488c2ecf20Sopenharmony_ci help 498c2ecf20Sopenharmony_ci This driver is used to manage Generic Interface (GENI) firmware based 508c2ecf20Sopenharmony_ci Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This 518c2ecf20Sopenharmony_ci driver is also used to manage the common aspects of multiple Serial 528c2ecf20Sopenharmony_ci Engines present in the QUP. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciconfig QCOM_GSBI 558c2ecf20Sopenharmony_ci tristate "QCOM General Serial Bus Interface" 568c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 578c2ecf20Sopenharmony_ci select MFD_SYSCON 588c2ecf20Sopenharmony_ci help 598c2ecf20Sopenharmony_ci Say y here to enable GSBI support. The GSBI provides control 608c2ecf20Sopenharmony_ci functions for connecting the underlying serial UART, SPI, and I2C 618c2ecf20Sopenharmony_ci devices to the output pins. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciconfig QCOM_LLCC 648c2ecf20Sopenharmony_ci tristate "Qualcomm Technologies, Inc. LLCC driver" 658c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 668c2ecf20Sopenharmony_ci select REGMAP_MMIO 678c2ecf20Sopenharmony_ci help 688c2ecf20Sopenharmony_ci Qualcomm Technologies, Inc. platform specific 698c2ecf20Sopenharmony_ci Last Level Cache Controller(LLCC) driver for platforms such as, 708c2ecf20Sopenharmony_ci SDM845. This provides interfaces to clients that use the LLCC. 718c2ecf20Sopenharmony_ci Say yes here to enable LLCC slice driver. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciconfig QCOM_KRYO_L2_ACCESSORS 748c2ecf20Sopenharmony_ci bool 758c2ecf20Sopenharmony_ci depends on ARCH_QCOM && ARM64 || COMPILE_TEST 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciconfig QCOM_MDT_LOADER 788c2ecf20Sopenharmony_ci tristate 798c2ecf20Sopenharmony_ci select QCOM_SCM 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciconfig QCOM_OCMEM 828c2ecf20Sopenharmony_ci tristate "Qualcomm On Chip Memory (OCMEM) driver" 838c2ecf20Sopenharmony_ci depends on ARCH_QCOM 848c2ecf20Sopenharmony_ci select QCOM_SCM 858c2ecf20Sopenharmony_ci help 868c2ecf20Sopenharmony_ci The On Chip Memory (OCMEM) allocator allows various clients to 878c2ecf20Sopenharmony_ci allocate memory from OCMEM based on performance, latency and power 888c2ecf20Sopenharmony_ci requirements. This is typically used by the GPU, camera/video, and 898c2ecf20Sopenharmony_ci audio components on some Snapdragon SoCs. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciconfig QCOM_PDR_HELPERS 928c2ecf20Sopenharmony_ci tristate 938c2ecf20Sopenharmony_ci select QCOM_QMI_HELPERS 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig QCOM_QMI_HELPERS 968c2ecf20Sopenharmony_ci tristate 978c2ecf20Sopenharmony_ci depends on NET 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciconfig QCOM_RMTFS_MEM 1008c2ecf20Sopenharmony_ci tristate "Qualcomm Remote Filesystem memory driver" 1018c2ecf20Sopenharmony_ci depends on ARCH_QCOM 1028c2ecf20Sopenharmony_ci select QCOM_SCM 1038c2ecf20Sopenharmony_ci help 1048c2ecf20Sopenharmony_ci The Qualcomm remote filesystem memory driver is used for allocating 1058c2ecf20Sopenharmony_ci and exposing regions of shared memory with remote processors for the 1068c2ecf20Sopenharmony_ci purpose of exchanging sector-data between the remote filesystem 1078c2ecf20Sopenharmony_ci service and its clients. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci Say y here if you intend to boot the modem remoteproc. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig QCOM_RPMH 1128c2ecf20Sopenharmony_ci bool "Qualcomm RPM-Hardened (RPMH) Communication" 1138c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci Support for communication with the hardened-RPM blocks in 1168c2ecf20Sopenharmony_ci Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an 1178c2ecf20Sopenharmony_ci internal bus to transmit state requests for shared resources. A set 1188c2ecf20Sopenharmony_ci of hardware components aggregate requests for these resources and 1198c2ecf20Sopenharmony_ci help apply the aggregated state on the resource. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig QCOM_RPMHPD 1228c2ecf20Sopenharmony_ci tristate "Qualcomm RPMh Power domain driver" 1238c2ecf20Sopenharmony_ci depends on QCOM_RPMH && QCOM_COMMAND_DB 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci QCOM RPMh Power domain driver to support power-domains with 1268c2ecf20Sopenharmony_ci performance states. The driver communicates a performance state 1278c2ecf20Sopenharmony_ci value to RPMh which then translates it into corresponding voltage 1288c2ecf20Sopenharmony_ci for the voltage rail. 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciconfig QCOM_RPMPD 1318c2ecf20Sopenharmony_ci tristate "Qualcomm RPM Power domain driver" 1328c2ecf20Sopenharmony_ci depends on PM 1338c2ecf20Sopenharmony_ci depends on QCOM_SMD_RPM 1348c2ecf20Sopenharmony_ci help 1358c2ecf20Sopenharmony_ci QCOM RPM Power domain driver to support power-domains with 1368c2ecf20Sopenharmony_ci performance states. The driver communicates a performance state 1378c2ecf20Sopenharmony_ci value to RPM which then translates it into corresponding voltage 1388c2ecf20Sopenharmony_ci for the voltage rail. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciconfig QCOM_SMEM 1418c2ecf20Sopenharmony_ci tristate "Qualcomm Shared Memory Manager (SMEM)" 1428c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 1438c2ecf20Sopenharmony_ci depends on HWSPINLOCK 1448c2ecf20Sopenharmony_ci help 1458c2ecf20Sopenharmony_ci Say y here to enable support for the Qualcomm Shared Memory Manager. 1468c2ecf20Sopenharmony_ci The driver provides an interface to items in a heap shared among all 1478c2ecf20Sopenharmony_ci processors in a Qualcomm platform. 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ciconfig QCOM_SMD_RPM 1508c2ecf20Sopenharmony_ci tristate "Qualcomm Resource Power Manager (RPM) over SMD" 1518c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 1528c2ecf20Sopenharmony_ci depends on RPMSG 1538c2ecf20Sopenharmony_ci help 1548c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for the 1558c2ecf20Sopenharmony_ci Resource Power Manager system found in the Qualcomm 8974 based 1568c2ecf20Sopenharmony_ci devices. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci This is required to access many regulators, clocks and bus 1598c2ecf20Sopenharmony_ci frequencies controlled by the RPM on these devices. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci Say M here if you want to include support for the Qualcomm RPM as a 1628c2ecf20Sopenharmony_ci module. This will build a module called "qcom-smd-rpm". 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciconfig QCOM_SMEM_STATE 1658c2ecf20Sopenharmony_ci bool 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ciconfig QCOM_SMP2P 1688c2ecf20Sopenharmony_ci tristate "Qualcomm Shared Memory Point to Point support" 1698c2ecf20Sopenharmony_ci depends on MAILBOX 1708c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1718c2ecf20Sopenharmony_ci select QCOM_SMEM_STATE 1728c2ecf20Sopenharmony_ci select IRQ_DOMAIN 1738c2ecf20Sopenharmony_ci help 1748c2ecf20Sopenharmony_ci Say yes here to support the Qualcomm Shared Memory Point to Point 1758c2ecf20Sopenharmony_ci protocol. 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciconfig QCOM_SMSM 1788c2ecf20Sopenharmony_ci tristate "Qualcomm Shared Memory State Machine" 1798c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1808c2ecf20Sopenharmony_ci select QCOM_SMEM_STATE 1818c2ecf20Sopenharmony_ci select IRQ_DOMAIN 1828c2ecf20Sopenharmony_ci help 1838c2ecf20Sopenharmony_ci Say yes here to support the Qualcomm Shared Memory State Machine. 1848c2ecf20Sopenharmony_ci The state machine is represented by bits in shared memory. 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ciconfig QCOM_SOCINFO 1878c2ecf20Sopenharmony_ci tristate "Qualcomm socinfo driver" 1888c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1898c2ecf20Sopenharmony_ci select SOC_BUS 1908c2ecf20Sopenharmony_ci help 1918c2ecf20Sopenharmony_ci Say yes here to support the Qualcomm socinfo driver, providing 1928c2ecf20Sopenharmony_ci information about the SoC to user space. 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ciconfig QCOM_WCNSS_CTRL 1958c2ecf20Sopenharmony_ci tristate "Qualcomm WCNSS control driver" 1968c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 1978c2ecf20Sopenharmony_ci depends on RPMSG 1988c2ecf20Sopenharmony_ci help 1998c2ecf20Sopenharmony_ci Client driver for the WCNSS_CTRL SMD channel, used to download nv 2008c2ecf20Sopenharmony_ci firmware to a newly booted WCNSS chip. 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ciconfig QCOM_APR 2038c2ecf20Sopenharmony_ci tristate "Qualcomm APR Bus (Asynchronous Packet Router)" 2048c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 2058c2ecf20Sopenharmony_ci depends on RPMSG 2068c2ecf20Sopenharmony_ci depends on NET 2078c2ecf20Sopenharmony_ci select QCOM_PDR_HELPERS 2088c2ecf20Sopenharmony_ci help 2098c2ecf20Sopenharmony_ci Enable APR IPC protocol support between 2108c2ecf20Sopenharmony_ci application processor and QDSP6. APR is 2118c2ecf20Sopenharmony_ci used by audio driver to configure QDSP6 2128c2ecf20Sopenharmony_ci ASM, ADM and AFE modules. 2138c2ecf20Sopenharmony_ciendmenu 214