293 lines
10 KiB
Text
293 lines
10 KiB
Text
menu "Qualcomm MSM specific device drivers"
|
|
depends on ARCH_MSM
|
|
|
|
config MSM_AVTIMER
|
|
tristate "Avtimer Driver"
|
|
depends on MSM_QDSP6_APRV2 || MSM_QDSP6_APRV3
|
|
help
|
|
This driver gets the Q6 out of power collapsed state and
|
|
exposes ioctl control to read avtimer tick.
|
|
|
|
config MSM_BUS_SCALING
|
|
bool "Bus scaling driver"
|
|
help
|
|
This option enables bus scaling on MSM devices. Bus scaling
|
|
allows devices to request the clocks be set to rates sufficient
|
|
for the active devices needs without keeping the clocks at max
|
|
frequency when a slower speed is sufficient.
|
|
|
|
config MSM_BUSPM_DEV
|
|
tristate "MSM Bus Performance Monitor Kernel Module"
|
|
depends on MSM_BUS_SCALING
|
|
help
|
|
This kernel module is used to mmap() hardware registers for the
|
|
performance monitors, counters, etc. The module can also be used to
|
|
allocate physical memory which is used by bus performance hardware to
|
|
dump performance data
|
|
|
|
config BUS_TOPOLOGY_ADHOC
|
|
bool "ad-hoc bus scaling topology"
|
|
help
|
|
This option enables a driver that can handle adhoc bus topologies.
|
|
Adhoc bus topology driver allows one to many connections and maintains
|
|
directionality of connections by explicitly listing device connections
|
|
thus avoiding illegal routes.
|
|
|
|
config DEBUG_BUS_VOTER
|
|
bool "direct client to vote bus clocks for debugging purposes"
|
|
depends on BUS_TOPOLOGY_ADHOC
|
|
default n
|
|
help
|
|
This option enables a driver that allows putting in a bus clock vote.
|
|
This driver allows clients to use the bus scaling driver to put in a
|
|
floor vote on bus clocks. This feature is meant to be a shortcut to directly
|
|
put in a vote for bus clocks instead of using the bus scaling APIs which deal
|
|
with topology end points and not bus clocks directly.
|
|
|
|
config QPNP_POWER_ON
|
|
tristate "QPNP PMIC POWER-ON Driver"
|
|
depends on OF_SPMI && (SPMI || MSM_SPMI) && MSM_QPNP_INT && INPUT
|
|
help
|
|
This driver supports the power-on functionality on Qualcomm
|
|
PNP PMIC. It currently supports reporting the change in status of
|
|
the KPDPWR_N line (connected to the power-key).
|
|
|
|
config QPNP_REVID
|
|
tristate "QPNP Revision ID Peripheral"
|
|
depends on SPMI || MSM_SPMI
|
|
help
|
|
Say 'y' here to include support for the Qualcomm 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 Qualcomm chip part number and logged as well.
|
|
|
|
config QPNP_COINCELL
|
|
tristate "Qualcomm QPNP coincell charger support"
|
|
depends on (SPMI || MSM_SPMI) && OF_SPMI
|
|
help
|
|
This driver supports the QPNP coincell peripheral found inside of
|
|
Qualcomm QPNP PMIC devices. The coincell charger provides a means to
|
|
charge a coincell battery or backup capacitor which is used to
|
|
maintain PMIC register state when the main battery is removed from the
|
|
mobile device.
|
|
|
|
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 EP_PCIE
|
|
bool "PCIe Endpoint mode support"
|
|
select GENERIC_ALLOCATOR
|
|
help
|
|
PCIe controller is in endpoint mode.
|
|
It supports the APIs to clients as a service layer, and allows
|
|
clients to enable/disable PCIe link, configure the address
|
|
mapping for the access to host memory, trigger wake interrupt
|
|
on host side to wake up host, and trigger MSI to host side.
|
|
|
|
config EP_PCIE_HW
|
|
bool "PCIe Endpoint HW driver"
|
|
depends on EP_PCIE
|
|
help
|
|
PCIe endpoint HW specific implementation.
|
|
It supports:
|
|
1. link training with Root Complex.
|
|
2. Address mapping.
|
|
3. Sideband signaling.
|
|
4. Power management.
|
|
|
|
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 SPS Peripheral-to-Peripheral
|
|
transfers between the USB and other peripheral.
|
|
|
|
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.
|
|
|
|
config QPNP_VIBRATOR
|
|
tristate "Vibrator support for QPNP PMIC"
|
|
depends on OF_SPMI
|
|
help
|
|
This option enables device driver support for the vibrator
|
|
on the Qualcomm technologies Inc's QPNP PMICs. The vibrator
|
|
is connected on the VIB_DRV_N line and can be controlled
|
|
manually or by the DTEST lines.It uses the android timed-output
|
|
framework.
|
|
|
|
config IPA
|
|
tristate "IPA support"
|
|
depends on SPS && NET
|
|
help
|
|
This driver supports the Internet Packet Accelerator (IPA) 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 IPA3
|
|
tristate "IPA3 support"
|
|
depends on SPS && 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 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 RMNET_IPA
|
|
tristate "IPA RMNET WWAN Network Device"
|
|
depends on IPA && MSM_QMI_INTERFACE
|
|
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 RMNET_IPA3
|
|
tristate "IPA3 RMNET WWAN Network Device"
|
|
depends on IPA3 && MSM_QMI_INTERFACE
|
|
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 MSM_MHI
|
|
tristate "Modem Host Interface Driver"
|
|
help
|
|
This kernel module is used to interact with PCIe endpoints
|
|
supporting MHI protocol. MHI is a data transmission protocol
|
|
involving communication between a host and a device over shared
|
|
memory. The MHI driver manages the shared memory by use of logical
|
|
unidirectional channels.
|
|
|
|
config MSM_MHI_UCI
|
|
tristate "MHI Usperspace Control Interface Driver"
|
|
depends on MSM_MHI
|
|
help
|
|
This modules enables userspace software clients to communicate
|
|
with devices supporting the MHI protocol. Userspace clients
|
|
may open the device nodes exposed by MHI UCI and perform
|
|
read, write and ioctl operations to communicate with the
|
|
attached device.
|
|
|
|
config MSM_MHI_DEBUG
|
|
bool "MHI debug support"
|
|
depends on MSM_MHI
|
|
help
|
|
Say yes here to enable debugging support in the MHI transport
|
|
and individual MHI client drivers. This option may impact
|
|
throughput as individual MHI packets and state transitions
|
|
will be logged.
|
|
|
|
config MSM_MHI_DEV
|
|
tristate "Modem Device Interface Driver"
|
|
depends on EP_PCIE && IPA
|
|
help
|
|
This kernel module is used to interact with PCIe Root complex
|
|
supporting MHI protocol. MHI is a data transmission protocol
|
|
involving communication between a host and a device over shared
|
|
memory. MHI interacts with the IPA for supporting transfers
|
|
on the HW accelerated channels between Host and device.
|
|
|
|
config PFT
|
|
bool "Per-File-Tagger driver"
|
|
default n
|
|
help
|
|
This driver is used for tagging enterprise files.
|
|
It is part of the Per-File-Encryption (PFE) feature.
|
|
The driver is tagging files when created by
|
|
registered application.
|
|
Tagged files are encrypted using the dm-req-crypt driver.
|
|
|
|
config I2C_MSM_PROF_DBG
|
|
tristate "I2C_MSM_PROF_DBG"
|
|
depends on ARCH_MSM && I2C_MSM_V2
|
|
help
|
|
This option enables the enhanced logging, profiling and debugfs
|
|
support to the i2c-msm-v2 driver. If you say yes to this option,
|
|
you can change the deugging level to adjust the amount of debugging
|
|
information as needed at run time using debugfs.
|
|
|
|
This module can also be dynamically linked as a shared kernel object.
|
|
|
|
config SEEMP_CORE
|
|
tristate "SEEMP Core"
|
|
help
|
|
This option enables Qualcomm Snapdragron Smart Protection to detect
|
|
anomalies in various activities. It records task activities in
|
|
a log and rates the actions according to whether a typical user would
|
|
use the tools.
|
|
|
|
config QPNP_HAPTIC
|
|
tristate "Haptic support for QPNP PMIC"
|
|
depends on OF_SPMI
|
|
help
|
|
This option enables device driver support for the Haptic
|
|
on the Qualcomm Technologies' QPNP PMICs. It uses the android
|
|
timed-output framework.
|
|
|
|
config GPIO_USB_DETECT
|
|
tristate "GPIO-based USB VBUS Detection"
|
|
depends on POWER_SUPPLY
|
|
help
|
|
This driver supports external USB VBUS detection circuitry whose
|
|
output is connected to a GPIO. The driver in turn notifies the
|
|
USB driver of VBUS presence/disconnection using the power_supply
|
|
framework.
|
|
|
|
config MSM_11AD
|
|
tristate "Platform driver for 11ad chip"
|
|
depends on PCI
|
|
depends on PCI_MSM
|
|
default y
|
|
---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.
|
|
|
|
source "drivers/platform/msm/spmi/Kconfig"
|
|
|
|
endmenu
|