blob: a5105aa54f45f9521ce7bf50dfdf18a2b66524ca [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-only
menu "Qualcomm technologies inc. MSM specific device drivers"
depends on ARCH_QCOM
config MSM_EXT_DISPLAY
bool "MSM External Display Driver"
help
Enabling this option adds MSM External Display Driver.
External Display driver was added to support the communication
between external display driver and its counterparts.
This should be enabled to support audio & video over HDMI or
DP for hot pluggable sink devices.
config QPNP_REVID
tristate "QPNP Revision ID Peripheral"
depends on SPMI
help
Say 'y' here to include support for the Qualcomm Technologies, Inc.
QPNP REVID peripheral. REVID prints out the PMIC type and revision
numbers in the kernel log along with the PMIC option status. The PMIC
type is mapped to a QTI chip part number and logged as well.
config SPS
bool "SPS support"
select GENERIC_ALLOCATOR
help
The SPS (Smart Peripheral Switch) is a DMA engine.
It can move data in the following modes:
1. Peripheral-to-Peripheral.
2. Peripheral-to-Memory.
3. Memory-to-Memory.
config SPS_SUPPORT_BAMDMA
bool "SPS support BAM DMA"
depends on SPS
default n
help
The BAM-DMA is used for Memory-to-Memory transfers.
The main use cases is RPC between processors.
The BAM-DMA hardware has 2 registers sets:
1. A BAM HW like all the peripherals.
2. A DMA channel configuration (i.e. channel priority).
config SPS_SUPPORT_NDP_BAM
bool "SPS support NDP BAM"
depends on SPS
default n
help
No-Data-Path BAM is used to improve BAM performance.
NDP BAMs enables peripherals with fast fabric connectivity
to do the actual data transfer themselves, instead of the
BAM.
config GSI
bool "GSI support"
help
This driver provides the transport needed to talk to the
IPA core. It replaces the BAM transport used previously.
The GSI connects to a peripheral component via uniform TLV
interface, and allows it to interface with other peripherals
and CPUs over various types of interfaces such as MHI, xDCI,
xHCI, GPI, WDI, Ethernet, etc.
config GSI_REGISTER_VERSION_2
bool "GSI core Version 2 Registers SWI Support"
depends on GSI
help
GSI core registers Software interface version 2 has updated
registers interface to communicate with GSI. This includes
new registers offsets, new registers fields structure and
new registers.
config IPA3
tristate "IPA3 support"
select GSI
depends on NET
help
This driver supports the Internet Packet Accelerator (IPA3) core.
IPA is a programmable protocol processor HW block.
It is designed to support generic HW processing of UL/DL IP packets
for various use cases independent of radio technology.
The driver support client connection and configuration
for the IPA core.
Kernel and user-space processes can call the IPA driver
to configure IPA core.
config IPA_DEBUG
bool "IPA DEBUG for non-perf build"
depends on IPA3
help
This driver support more debug info for non-perf build.
If you use the non-perf build and want to have more debug
info enabled, then this flag can be enabled.
It is not suggested to enable this flag for perf build.
config IPA_WDI_UNIFIED_API
bool "IPA WDI unified API support"
depends on IPA3
help
This driver supports IPA WDI unified API.
WDI is the interface between IPA micro controller and WLAN chipset.
It is designed to support IPA HW accelerating path for WLAN use case.
The IPA WDI unified API supports all WDI versions through a unified
interface.
config RMNET_IPA3
tristate "IPA3 RMNET WWAN Network Device"
depends on IPA3 && QCOM_QMI_HELPERS
help
This WWAN Network Driver implements network stack class device.
It supports Embedded data transfer from A7 to Q6. Configures IPA HW
for RmNet Data Driver and also exchange of QMI messages between
A7 and Q6 IPA-driver.
config ECM_IPA
tristate "STD ECM LAN Driver support"
depends on IPA3
help
Enables LAN between applications processor and a tethered
host using the STD ECM protocol.
This Network interface is aimed to allow data path go through
IPA core while using STD ECM protocol.
config RNDIS_IPA
tristate "RNDIS_IPA Network Interface Driver support"
depends on IPA3
help
Enables LAN between applications processor and a tethered
host using the RNDIS protocol.
This Network interface is aimed to allow data path go through
IPA core while using RNDIS protocol.
config IPA3_MHI_PROXY
tristate "IPA3 MHI proxy driver"
depends on RMNET_IPA3
help
This driver is used as a proxy between modem and MHI host driver.
Its main functionality is to setup MHI Satellite channels on behalf of
modem and provide the ability of modem to MHI device communication.
Once the configuration is done modem will communicate directly with
the MHI device without AP involvement, with the exception of
power management.
config IPA3_MHI_PRIME_MANAGER
tristate "IPA3_MHI Prime Manager driver"
depends on IPA3
help
This driver functionality is to setup MHI Prime channels between Host and
modem and enable the ability for MHI Prime communication.
Once the configuration is done modem will communicate directly with
the Host without AP involvement for tethering data offload.
config IPA_UT
tristate "IPA Unit-Test Framework and Test Suites"
depends on IPA3 && DEBUG_FS
help
This Module implements IPA in-kernel test framework.
The framework supports defining and running tests, grouped
into suites according to the sub-unit of the IPA being tested.
The user interface to run and control the tests is debugfs file
system.
config MSM_11AD
tristate "Platform driver for 11ad chip"
depends on PCI
depends on PCI_MSM
default n
help
This module adds required platform support for wireless adapter based on
Qualcomm Technologies, Inc. 11ad chip, integrated into MSM platform
If you choose to build it as a module, it will be called
msm_11ad_proxy.
config IPA_EMULATION
bool "IPA on X86 Linux (IPA emulation support)"
depends on X86 && IPA3
help
This options is used only when building the X86 version of
the IPA/GSI driver. On this mode, IPA driver will be probed
as PCIE device (and not platform device) where IPA emulation
shall be connected via PCIE to X86 machine.
config USB_BAM
bool "USB BAM Driver"
depends on SPS && USB_GADGET
help
Enabling this option adds USB BAM Driver.
USB BAM driver was added to supports Smart Peripheral Subsystem
Peripheral-to-Peripheral transfers between the USB and other
peripheral.
config QCOM_GENI_SE
tristate "QCOM GENI Serial Engine Driver"
help
This module is used to interact with GENI based Serial Engines on
Qualcomm Technologies, Inc. Universal Peripheral(QUPv3). This
module is used to configure and read the configuration from the
Serial Engines.
config IPA3_REGDUMP
bool "Dump or collect IPA/GSI register values on Linux crash"
depends on IPA3
help
This option is to be used when the saving of IPA register state is
desired upon a fatal system exception. When an exception occurs,
an IPA register collection algorithm will be run in the context of
the exception handler. A predefined set of registers will be read
and their values will be placed into a static hierarchical data
structure that can be perused post crash.
choice
prompt "Platform whose registers are to be dumped/collected"
depends on IPA3_REGDUMP
help
The choices within represent the possible platforms this build is
intended for. The choices are mutually exclusive. By selecting
one, you effect the inclusion path used, such that the relevant
register definitions will be found. Each platform has unique
register definitions.
config IPA3_REGDUMP_IPA_4_5
bool "The 4.5 IPA"
depends on IPA3_REGDUMP
depends on ARCH_KONA
help
Set this to enable the 4.5 IPA's registers to be dumped/collected.
endchoice
config IPA3_REGDUMP_NUM_EXTRA_ENDP_REGS
int "The number of extra endp registers for remaining pipes"
depends on IPA3_REGDUMP
default 0
help
If the platform has extra endpoint registers for remaining
pipes, please express how many here.
endmenu