299 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			299 lines
		
	
	
		
			9.5 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_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 || COMPILE_TEST) && ARM64
 | |
| 
 | |
| 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_PD_MAPPER
 | |
| 	tristate "Qualcomm Protection Domain Mapper"
 | |
| 	select QCOM_QMI_HELPERS
 | |
| 	select QCOM_PDR_MSG
 | |
| 	select AUXILIARY_BUS
 | |
| 	depends on NET && QRTR && (ARCH_QCOM || COMPILE_TEST)
 | |
| 	default QCOM_RPROC_COMMON
 | |
| 	help
 | |
| 	  The Protection Domain Mapper maps registered services to the domains
 | |
| 	  and instances handled by the remote DSPs. This is a kernel-space
 | |
| 	  implementation of the service. It is a simpler alternative to the
 | |
| 	  userspace daemon.
 | |
| 
 | |
| config QCOM_PDR_HELPERS
 | |
| 	tristate
 | |
| 	select QCOM_QMI_HELPERS
 | |
| 	select QCOM_PDR_MSG
 | |
| 	depends on NET
 | |
| 
 | |
| config QCOM_PDR_MSG
 | |
| 	tristate
 | |
| 
 | |
| config QCOM_PMIC_PDCHARGER_ULOG
 | |
| 	tristate "Qualcomm PMIC PDCharger ULOG driver"
 | |
| 	depends on RPMSG
 | |
| 	depends on EVENT_TRACING
 | |
| 	help
 | |
| 	  The Qualcomm PMIC PDCharger ULOG driver provides access to logs of
 | |
| 	  the ADSP firmware PDCharger module in charge of Battery and Power
 | |
| 	  Delivery on modern systems.
 | |
| 
 | |
| 	  Say yes here to support PDCharger ULOG event tracing on modern
 | |
| 	  Qualcomm platforms.
 | |
| 
 | |
| config QCOM_PMIC_GLINK
 | |
| 	tristate "Qualcomm PMIC GLINK driver"
 | |
| 	depends on RPMSG
 | |
| 	depends on TYPEC
 | |
| 	depends on DRM
 | |
| 	depends on NET
 | |
| 	depends on OF
 | |
| 	select AUXILIARY_BUS
 | |
| 	select QCOM_PDR_HELPERS
 | |
| 	select DRM_AUX_HPD_BRIDGE
 | |
| 	help
 | |
| 	  The Qualcomm PMIC GLINK driver provides access, over GLINK, to the
 | |
| 	  USB and battery firmware running on one of the coprocessors in
 | |
| 	  several modern Qualcomm platforms.
 | |
| 
 | |
| 	  Say yes here to support USB-C and battery status on modern Qualcomm
 | |
| 	  platforms.
 | |
| 
 | |
| config QCOM_QMI_HELPERS
 | |
| 	tristate
 | |
| 	depends on NET
 | |
| 
 | |
| config QCOM_RAMP_CTRL
 | |
| 	tristate "Qualcomm Ramp Controller driver"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	help
 | |
| 	  The Ramp Controller is used to program the sequence ID for pulse
 | |
| 	  swallowing, enable sequence and link sequence IDs for the CPU
 | |
| 	  cores on some Qualcomm SoCs.
 | |
| 	  Say y here to enable support for the ramp controller.
 | |
| 
 | |
| 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_RPM_MASTER_STATS
 | |
| 	tristate "Qualcomm RPM Master stats"
 | |
| 	depends on ARCH_QCOM || COMPILE_TEST
 | |
| 	help
 | |
| 	  The RPM Master sleep stats driver provides detailed per-subsystem
 | |
| 	  sleep/wake data, read from the RPM message RAM. It can be used to
 | |
| 	  assess whether all the low-power modes available are entered as
 | |
| 	  expected or to check which part of the SoC prevents it from sleeping.
 | |
| 
 | |
| 	  Say y here if you intend to debug or monitor platform sleep.
 | |
| 
 | |
| 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_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
 | |
| 	depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n
 | |
| 	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 MAILBOX
 | |
| 	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
 | |
| 	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
 | |
| 	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.
 | |
| 
 | |
| config QCOM_INLINE_CRYPTO_ENGINE
 | |
| 	tristate
 | |
| 	select QCOM_SCM
 | |
| 
 | |
| config QCOM_PBS
 | |
| 	tristate "PBS trigger support for Qualcomm Technologies, Inc. PMICS"
 | |
| 	depends on SPMI
 | |
| 	help
 | |
| 	  This driver supports configuring software programmable boot sequencer (PBS)
 | |
| 	  trigger event through PBS RAM on Qualcomm Technologies, Inc. PMICs.
 | |
| 	  This module provides the APIs to the client drivers that wants to send the
 | |
| 	  PBS trigger event to the PBS RAM.
 | |
| 
 | |
| endmenu
 |