xref: /kernel/linux/linux-5.10/drivers/soc/qcom/Kconfig (revision 8c2ecf20)
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