| 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 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 SSM |
| tristate "QTI Secure Service Module" |
| depends on QSEECOM |
| depends on MSM_SMD |
| help |
| Provides an interface for OEM driver to communicate with Trustzone |
| and modem for key exchange and mode change. |
| This driver uses Secure Channel Manager interface for trustzone |
| communication and communicates with modem over SMD channel. |
| |
| 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 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. |
| |
| source "drivers/platform/msm/spmi/Kconfig" |
| |
| endmenu |