252 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			252 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 | |
| 	tristate "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_CPR
 | |
| 	tristate "QCOM Core Power Reduction (CPR) support"
 | |
| 	depends on ARCH_QCOM && HAS_IOMEM
 | |
| 	select PM_OPP
 | |
| 	select REGMAP
 | |
| 	help
 | |
| 	  Say Y here to enable support for the CPR hardware found on Qualcomm
 | |
| 	  SoCs like QCS404.
 | |
| 
 | |
| 	  This driver populates CPU OPPs tables and makes adjustments to the
 | |
| 	  tables based on feedback from the CPR hardware. If you want to do
 | |
| 	  CPUfrequency scaling say Y here.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the module will
 | |
| 	  be called qcom-cpr
 | |
| 
 | |
| 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_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
 | |
| 	select REGMAP_MMIO
 | |
| 	help
 | |
| 	  Qualcomm Technologies, Inc. platform specific
 | |
| 	  Last Level Cache Controller(LLCC) driver for platforms such as,
 | |
| 	  SDM845. This provides interfaces to clients that use the LLCC.
 | |
| 	  Say yes here to enable LLCC slice driver.
 | |
| 
 | |
| config QCOM_KRYO_L2_ACCESSORS
 | |
| 	bool
 | |
| 	depends on ARCH_QCOM && ARM64 || COMPILE_TEST
 | |
| 
 | |
| config QCOM_MDT_LOADER
 | |
| 	tristate
 | |
| 	select QCOM_SCM
 | |
| 
 | |
| config QCOM_OCMEM
 | |
| 	tristate "Qualcomm On Chip Memory (OCMEM) driver"
 | |
| 	depends on ARCH_QCOM
 | |
| 	select QCOM_SCM
 | |
| 	help
 | |
| 	  The On Chip Memory (OCMEM) allocator allows various clients to
 | |
| 	  allocate memory from OCMEM based on performance, latency and power
 | |
| 	  requirements. This is typically used by the GPU, camera/video, and
 | |
| 	  audio components on some Snapdragon SoCs.
 | |
| 
 | |
| config QCOM_PDR_HELPERS
 | |
| 	tristate
 | |
| 	select QCOM_QMI_HELPERS
 | |
| 
 | |
| config QCOM_QMI_HELPERS
 | |
| 	tristate
 | |
| 	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
 | |
| 	tristate "Qualcomm RPM-Hardened (RPMH) Communication"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
 | |
| 	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
 | |
| 	tristate "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
 | |
| 	tristate "Qualcomm RPM Power domain driver"
 | |
| 	depends on PM && OF
 | |
| 	depends on QCOM_SMD_RPM
 | |
| 	select PM_GENERIC_DOMAINS
 | |
| 	select PM_GENERIC_DOMAINS_OF
 | |
| 	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 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_SPM
 | |
| 	tristate "Qualcomm Subsystem Power Manager (SPM)"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	select QCOM_SCM
 | |
| 	help
 | |
| 	  Enable the support for the Qualcomm Subsystem Power Manager, used
 | |
| 	  to manage cores, L2 low power modes and to configure the internal
 | |
| 	  Adaptive Voltage Scaler parameters, where supported.
 | |
| 
 | |
| config QCOM_STATS
 | |
| 	tristate "Qualcomm Technologies, Inc. (QTI) Sleep stats driver"
 | |
| 	depends on (ARCH_QCOM && DEBUG_FS) || COMPILE_TEST
 | |
| 	depends on QCOM_SMEM
 | |
| 	help
 | |
| 	  Qualcomm Technologies, Inc. (QTI) Sleep stats driver to read
 | |
| 	  the shared memory exported by the remote processor related to
 | |
| 	  various SoC level low power modes statistics and export to debugfs
 | |
| 	  interface.
 | |
| 
 | |
| 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/GPR Bus (Asynchronous/Generic Packet Router)"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	depends on RPMSG
 | |
| 	depends on NET
 | |
| 	select QCOM_PDR_HELPERS
 | |
| 	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 QCOM_ICC_BWMON
 | |
| 	tristate "QCOM Interconnect Bandwidth Monitor driver"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	select PM_OPP
 | |
| 	select REGMAP_MMIO
 | |
| 	help
 | |
| 	  Sets up driver monitoring bandwidth on various interconnects and
 | |
| 	  based on that voting for interconnect bandwidth, adjusting their
 | |
| 	  speed to current demand.
 | |
| 	  Current implementation brings support for BWMON v4, used for example
 | |
| 	  on SDM845 to measure bandwidth between CPU (gladiator_noc) and Last
 | |
| 	  Level Cache (memnoc).  Usage of this BWMON allows to remove some of
 | |
| 	  the fixed bandwidth votes from cpufreq (CPU nodes) thus achieve high
 | |
| 	  memory throughput even with lower CPU frequencies.
 | |
| 
 | |
| endmenu
 |