android_kernel_samsung_msm8976/drivers/platform/msm/Kconfig

309 lines
10 KiB
Plaintext

menu "Qualcomm MSM specific device drivers"
depends on ARCH_MSM
config MSM_SSBI
bool "Qualcomm Single-wire Serial Bus Interface (SSBI)"
help
If you say yes to this option, support will be included for the
built-in SSBI interface on Qualcomm MSM family processors.
This is required for communicating with Qualcomm PMICs and
other devices that have the SSBI interface.
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
boolean "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_POWER_ON
tristate "QPNP PMIC POWER-ON Driver"
depends on OF_SPMI && 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_RESIN
bool "QPNP support RESIN"
depends on QPNP_POWER_ON
default n
help
This supports the resin functionality on Qualcomm PNP PMIC.
It supports reporting the change in status of the RESIN line
(connected to the volume down key).
config QPNP_CLKDIV
tristate "QPNP PMIC clkdiv driver"
depends on OF_SPMI && SPMI
help
This driver supports the clkdiv functionality on the Qualcomm
PNP PMIC. It configures the frequency of clkdiv outputs on the
PMIC. These clocks are typically wired through alternate functions
on gpio pins.
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'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 QPNP_REVID
tristate "QPNP Revision ID Peripheral"
depends on 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 && 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 QPNP_USB_DETECT
tristate "Qualcomm QPNP USB VBUS Detection"
depends on POWER_SUPPLY
help
This driver supports external USB VBUS detection circuitry which
can be connected to Qualcomm QPNP PMIC devices. The driver will
configure a GPIO from the detector's output line and in turn notify
the USB driver of VBUS presence/disconnection using the power_supply
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 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 KLM
boolean "KLM Driver"
help
This driver handles the power management of the KLM (Key Ladder Module).
config MSM_AVTIMER
tristate "Avtimer Driver"
depends on MSM_QDSP6_APRV2
help
This driver gets the Q6 out of power collapsed state and
exposes ioctl control to read avtimer tick.
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_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 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 QCA1530
tristate "QCA1530 SoC GNSS Driver"
depends on REGULATOR && OF
depends on GPIOLIB && OF_GPIO
depends on CLKDEV_LOOKUP
help
Say Y here to include support for QCA1530 SOC chip.
QCA1530 chip enables support for GPS- and GLONASS-based position
determination.
To compile this driver as a module, choose M here: the module
will be called qca1530.
config PFT
bool "Per-File-Tagger driver"
depends on SECURITY
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 MSM_SPSS
tristate "MSM SPSS driver"
default n
help
Support for Standby Processing Sub-System (SPSS) module.
config MSM_BUS_SCALING
bool "Bus scaling driver"
default n
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 BUS_TOPOLOGY_ADHOC
bool "ad-hoc bus scaling topology"
default n
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 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 MSM_UIM_HSL
tristate "User Indentification Module (UIM) on UART High Speed"
help
If you say yes to this option, support will be included for the
built-in UIM interface on Qualcomm MSM family processors.
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 SEEMP_CORE
tristate "SEEMP Core"
help
This option enables Qualcomm Technologies, Inc. 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 VOLDOWN_QPNP_RESIN
bool "When QPNP_RESIN is used as Volume down key"
depends on QPNP_RESIN
default n
help
Samsung uses volume down key to enter into safe mode.
Procedure is, press key from start of lk and held until home screen is
launched. "CONFIG_VOLDOWN_QPNP_RESIN" flag is added to make sure this change applies
for SS models which use QPNP_RESIN_N as volume down key.
endmenu