Rishabh Bhatnagar | 6ff955e | 2018-05-22 17:57:51 -0700 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 2 | # |
| 3 | # QCOM Soc drivers |
| 4 | # |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 5 | menu "Qualcomm SoC drivers" |
Mahesh Sivasubramanian | 312416d | 2018-04-10 11:57:23 -0600 | [diff] [blame] | 6 | config QCOM_COMMAND_DB |
| 7 | bool "Qualcomm Command DB" |
Arnd Bergmann | 0ea3fa1 | 2018-05-25 18:08:24 +0200 | [diff] [blame] | 8 | depends on ARCH_QCOM || COMPILE_TEST |
| 9 | depends on OF_RESERVED_MEM |
Mahesh Sivasubramanian | 312416d | 2018-04-10 11:57:23 -0600 | [diff] [blame] | 10 | help |
| 11 | Command DB queries shared memory by key string for shared system |
| 12 | resources. Platform drivers that require to set state of a shared |
| 13 | resource on a RPM-hardened platform must use this database to get |
| 14 | SoC specific identifier and information for the shared resources. |
| 15 | |
Karthikeyan Ramasubramanian | eddac5a | 2018-03-30 11:08:17 -0600 | [diff] [blame] | 16 | config QCOM_GENI_SE |
| 17 | tristate "QCOM GENI Serial Engine Driver" |
| 18 | depends on ARCH_QCOM || COMPILE_TEST |
| 19 | help |
| 20 | This driver is used to manage Generic Interface (GENI) firmware based |
| 21 | Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This |
| 22 | driver is also used to manage the common aspects of multiple Serial |
| 23 | Engines present in the QUP. |
| 24 | |
Bjorn Andersson | c4d77d5 | 2017-07-24 22:56:44 -0700 | [diff] [blame] | 25 | config QCOM_GLINK_SSR |
| 26 | tristate "Qualcomm Glink SSR driver" |
| 27 | depends on RPMSG |
| 28 | depends on QCOM_RPROC_COMMON |
| 29 | help |
| 30 | Say y here to enable GLINK SSR support. The GLINK SSR driver |
| 31 | implements the SSR protocol for notifying the remote processor about |
| 32 | neighboring subsystems going up or down. |
| 33 | |
Rishabh Bhatnagar | b7d7d4b | 2018-06-11 13:11:34 -0700 | [diff] [blame] | 34 | config QCOM_CPUSS_DUMP |
| 35 | bool "CPU Subsystem Dumping support" |
| 36 | help |
| 37 | Add support to dump various hardware entities such as the instruction |
| 38 | and data tlb's as well as the unified tlb, which are a part of the |
| 39 | cpu subsystem to an allocated buffer. This allows for analysis of the |
| 40 | the entities if corruption is suspected. |
| 41 | If unsure, say N |
| 42 | |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 43 | config QCOM_GSBI |
| 44 | tristate "QCOM General Serial Bus Interface" |
| 45 | depends on ARCH_QCOM |
Andy Gross | e5fdad6 | 2015-02-09 16:01:06 -0600 | [diff] [blame] | 46 | select MFD_SYSCON |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 47 | help |
| 48 | Say y here to enable GSBI support. The GSBI provides control |
| 49 | functions for connecting the underlying serial UART, SPI, and I2C |
| 50 | devices to the output pins. |
| 51 | |
Bjorn Andersson | 2aad40d | 2017-01-27 03:12:57 -0800 | [diff] [blame] | 52 | config QCOM_MDT_LOADER |
| 53 | tristate |
| 54 | select QCOM_SCM |
| 55 | |
Lina Iyer | 7ce75bb | 2015-04-09 13:20:41 -0600 | [diff] [blame] | 56 | config QCOM_PM |
| 57 | bool "Qualcomm Power Management" |
| 58 | depends on ARCH_QCOM && !ARM64 |
Arnd Bergmann | d9d6888 | 2015-11-24 23:13:09 +0100 | [diff] [blame] | 59 | select ARM_CPU_SUSPEND |
Lina Iyer | 23b38ce | 2015-07-10 14:18:00 -0600 | [diff] [blame] | 60 | select QCOM_SCM |
Lina Iyer | 7ce75bb | 2015-04-09 13:20:41 -0600 | [diff] [blame] | 61 | help |
| 62 | QCOM Platform specific power driver to manage cores and L2 low power |
| 63 | modes. It interface with various system drivers to put the cores in |
| 64 | low power modes. |
Bjorn Andersson | 4b638df4 | 2015-06-26 14:50:10 -0700 | [diff] [blame] | 65 | |
Bjorn Andersson | 9b8a11e | 2017-12-05 09:43:06 -0800 | [diff] [blame] | 66 | config QCOM_QMI_HELPERS |
| 67 | tristate |
Arnd Bergmann | dea4bd1 | 2018-02-22 16:57:38 +0100 | [diff] [blame] | 68 | depends on ARCH_QCOM && NET |
Bjorn Andersson | 9b8a11e | 2017-12-05 09:43:06 -0800 | [diff] [blame] | 69 | help |
| 70 | Helper library for handling QMI encoded messages. QMI encoded |
| 71 | messages are used in communication between the majority of QRTR |
| 72 | clients and this helpers provide the common functionality needed for |
| 73 | doing this from a kernel driver. |
| 74 | |
Bjorn Andersson | d1de6d6 | 2017-10-16 13:17:08 -0500 | [diff] [blame] | 75 | config QCOM_RMTFS_MEM |
| 76 | tristate "Qualcomm Remote Filesystem memory driver" |
| 77 | depends on ARCH_QCOM |
Bjorn Andersson | fa65f80 | 2018-02-12 17:37:23 -0800 | [diff] [blame] | 78 | select QCOM_SCM |
Bjorn Andersson | d1de6d6 | 2017-10-16 13:17:08 -0500 | [diff] [blame] | 79 | help |
| 80 | The Qualcomm remote filesystem memory driver is used for allocating |
| 81 | and exposing regions of shared memory with remote processors for the |
| 82 | purpose of exchanging sector-data between the remote filesystem |
| 83 | service and its clients. |
| 84 | |
| 85 | Say y here if you intend to boot the modem remoteproc. |
| 86 | |
Stephen Boyd | 7d0c8be | 2015-08-28 11:23:33 -0700 | [diff] [blame] | 87 | config QCOM_SMEM |
| 88 | tristate "Qualcomm Shared Memory Manager (SMEM)" |
| 89 | depends on ARCH_QCOM |
Arnd Bergmann | 73ebb85 | 2015-10-13 17:05:39 +0200 | [diff] [blame] | 90 | depends on HWSPINLOCK |
Stephen Boyd | 7d0c8be | 2015-08-28 11:23:33 -0700 | [diff] [blame] | 91 | help |
| 92 | Say y here to enable support for the Qualcomm Shared Memory Manager. |
| 93 | The driver provides an interface to items in a heap shared among all |
| 94 | processors in a Qualcomm platform. |
| 95 | |
Bjorn Andersson | 936f14c | 2015-07-27 20:20:32 -0700 | [diff] [blame] | 96 | config QCOM_SMD_RPM |
| 97 | tristate "Qualcomm Resource Power Manager (RPM) over SMD" |
Bjorn Andersson | 5052de8 | 2017-03-27 22:26:33 -0700 | [diff] [blame] | 98 | depends on ARCH_QCOM |
| 99 | depends on RPMSG && OF |
Bjorn Andersson | 936f14c | 2015-07-27 20:20:32 -0700 | [diff] [blame] | 100 | help |
| 101 | If you say yes to this option, support will be included for the |
| 102 | Resource Power Manager system found in the Qualcomm 8974 based |
| 103 | devices. |
| 104 | |
| 105 | This is required to access many regulators, clocks and bus |
| 106 | frequencies controlled by the RPM on these devices. |
| 107 | |
| 108 | Say M here if you want to include support for the Qualcomm RPM as a |
| 109 | module. This will build a module called "qcom-smd-rpm". |
Bjorn Andersson | 9460ae2 | 2015-09-24 18:25:01 -0700 | [diff] [blame] | 110 | |
Rishabh Bhatnagar | 23ff8d8 | 2018-06-08 10:18:25 -0700 | [diff] [blame] | 111 | config QCOM_SCM |
| 112 | bool "Secure Channel Manager (SCM) support" |
| 113 | default n |
| 114 | help |
| 115 | Say y here to enable Secure Channel Mananger(SCM) support for SoC. |
| 116 | SCM provides communication channel to communicate with secure |
| 117 | world(EL2 and EL3) by using smc call. |
| 118 | SCM driver provides the support for atomic scm calls also. |
| 119 | |
Bjorn Andersson | 9460ae2 | 2015-09-24 18:25:01 -0700 | [diff] [blame] | 120 | config QCOM_SMEM_STATE |
| 121 | bool |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 122 | |
Bjorn Andersson | 50e9964 | 2015-09-24 18:25:03 -0700 | [diff] [blame] | 123 | config QCOM_SMP2P |
Arnd Bergmann | 10475d5 | 2015-11-20 11:32:21 +0100 | [diff] [blame] | 124 | tristate "Qualcomm Shared Memory Point to Point support" |
Bjorn Andersson | e718026 | 2017-11-29 16:00:40 -0800 | [diff] [blame] | 125 | depends on MAILBOX |
Bjorn Andersson | 50e9964 | 2015-09-24 18:25:03 -0700 | [diff] [blame] | 126 | depends on QCOM_SMEM |
| 127 | select QCOM_SMEM_STATE |
| 128 | help |
| 129 | Say yes here to support the Qualcomm Shared Memory Point to Point |
| 130 | protocol. |
| 131 | |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 132 | config QCOM_SMSM |
Arnd Bergmann | 10475d5 | 2015-11-20 11:32:21 +0100 | [diff] [blame] | 133 | tristate "Qualcomm Shared Memory State Machine" |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 134 | depends on QCOM_SMEM |
| 135 | select QCOM_SMEM_STATE |
| 136 | help |
| 137 | Say yes here to support the Qualcomm Shared Memory State Machine. |
| 138 | The state machine is represented by bits in shared memory. |
Bjorn Andersson | ea7a1f2 | 2015-09-21 10:52:55 -0700 | [diff] [blame] | 139 | |
| 140 | config QCOM_WCNSS_CTRL |
| 141 | tristate "Qualcomm WCNSS control driver" |
Bjorn Andersson | 5052de8 | 2017-03-27 22:26:33 -0700 | [diff] [blame] | 142 | depends on ARCH_QCOM |
| 143 | depends on RPMSG |
Bjorn Andersson | ea7a1f2 | 2015-09-21 10:52:55 -0700 | [diff] [blame] | 144 | help |
| 145 | Client driver for the WCNSS_CTRL SMD channel, used to download nv |
| 146 | firmware to a newly booted WCNSS chip. |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 147 | |
Swathi Sridhar | 4008eb4 | 2018-07-17 15:34:46 -0700 | [diff] [blame^] | 148 | config QCOM_SECURE_BUFFER |
| 149 | bool "Helper functions for securing buffers through TZ" |
| 150 | help |
| 151 | Say 'Y' here for targets that need to call into TZ to secure |
| 152 | memory buffers. This ensures that only the correct clients can |
| 153 | use this memory and no unauthorized access is made to the |
| 154 | buffer |
| 155 | |
| 156 | config MSM_TZ_SMMU |
| 157 | depends on ARCH_MSM8953 || ARCH_QCS405 |
| 158 | bool "Helper functions for SMMU configuration through TZ" |
| 159 | help |
| 160 | Say 'Y' here for targets that need to call into TZ to configure |
| 161 | SMMUs for any reason (for example, for errata workarounds or |
| 162 | configuration of SMMU virtualization). |
| 163 | |
| 164 | If unsure, say N. |
| 165 | |
Rishabh Bhatnagar | 6ff955e | 2018-05-22 17:57:51 -0700 | [diff] [blame] | 166 | config MSM_SERVICE_LOCATOR |
| 167 | bool "Service Locator" |
| 168 | depends on MSM_QMI_INTERFACE |
| 169 | help |
| 170 | The Service Locator provides a library to retrieve location |
| 171 | information given a service identifier. Location here translates |
| 172 | to what process domain exports the service, and which subsystem |
| 173 | that process domain will execute in. |
| 174 | |
| 175 | config MSM_SERVICE_NOTIFIER |
| 176 | bool "Service Notifier" |
| 177 | depends on MSM_SERVICE_LOCATOR && MSM_SUBSYSTEM_RESTART |
| 178 | help |
| 179 | The Service Notifier provides a library for a kernel client to |
| 180 | register for state change notifications regarding a remote service. |
| 181 | A remote service here refers to a process providing certain services |
| 182 | like audio, the identifier for which is provided by the service |
| 183 | locator. |
| 184 | |
| 185 | config MSM_SUBSYSTEM_RESTART |
| 186 | bool "MSM Subsystem Restart" |
| 187 | help |
| 188 | This option enables the MSM subsystem restart framework. |
| 189 | |
| 190 | The MSM subsystem restart framework provides support to boot, |
| 191 | shutdown, and restart subsystems with a reference counted API. |
| 192 | It also notifies userspace of transitions between these states via |
| 193 | sysfs. |
| 194 | |
| 195 | config MSM_PIL |
| 196 | bool "Peripheral image loading" |
| 197 | select FW_LOADER |
| 198 | default n |
| 199 | help |
| 200 | Some peripherals need to be loaded into memory before they can be |
| 201 | brought out of reset. |
| 202 | |
| 203 | Say yes to support these devices. |
| 204 | |
| 205 | config MSM_SYSMON_GLINK_COMM |
| 206 | bool "MSM System Monitor communication support using GLINK transport" |
| 207 | depends on MSM_GLINK && MSM_SUBSYSTEM_RESTART |
| 208 | help |
| 209 | This option adds support for MSM System Monitor APIs using the GLINK |
| 210 | transport layer. The APIs provided may be used for notifying |
| 211 | subsystems within the SoC about other subsystems' power-up/down |
| 212 | state-changes. |
| 213 | |
| 214 | config MSM_PIL_SSR_GENERIC |
| 215 | tristate "MSM Subsystem Boot Support" |
| 216 | depends on MSM_PIL && MSM_SUBSYSTEM_RESTART |
| 217 | help |
| 218 | Support for booting and shutting down MSM Subsystem processors. |
| 219 | This driver also monitors the SMSM status bits and the watchdog |
| 220 | interrupt for the subsystem and restarts it on a watchdog bite |
| 221 | or a fatal error. Subsystems include LPASS, Venus, VPU, WCNSS and |
| 222 | BCSS. |
Rishabh Bhatnagar | 9b1ff4b | 2018-06-26 10:57:52 -0700 | [diff] [blame] | 223 | config MSM_BOOT_STATS |
| 224 | bool "Use MSM boot stats reporting" |
| 225 | help |
| 226 | Use this to report msm boot stats such as bootloader throughput, |
| 227 | display init, total boot time. |
| 228 | This figures are reported in mpm sleep clock cycles and have a |
| 229 | resolution of 31 bits as 1 bit is used as an overflow check. |
Rishabh Bhatnagar | 6ff955e | 2018-05-22 17:57:51 -0700 | [diff] [blame] | 230 | |
Rishabh Bhatnagar | 29d615e | 2018-07-01 16:50:06 -0700 | [diff] [blame] | 231 | config QCOM_EUD |
| 232 | tristate "QTI Embedded USB Debugger (EUD)" |
| 233 | depends on ARCH_QCOM |
| 234 | select SERIAL_CORE |
| 235 | help |
| 236 | The EUD (Embedded USB Debugger) is a mini-USB hub implemented |
| 237 | on chip to support the USB-based debug and trace capabilities. |
| 238 | This module enables support for Qualcomm Technologies, Inc. |
| 239 | Embedded USB Debugger (EUD). |
| 240 | If unsure, say N. |
| 241 | |
Srinivas Kandagatla | 6adba21 | 2018-05-09 13:56:13 +0100 | [diff] [blame] | 242 | config QCOM_APR |
| 243 | tristate "Qualcomm APR Bus (Asynchronous Packet Router)" |
| 244 | depends on ARCH_QCOM |
| 245 | depends on RPMSG |
| 246 | help |
| 247 | Enable APR IPC protocol support between |
| 248 | application processor and QDSP6. APR is |
| 249 | used by audio driver to configure QDSP6 |
| 250 | ASM, ADM and AFE modules. |
Rishabh Bhatnagar | a525742 | 2018-07-01 16:21:16 -0700 | [diff] [blame] | 251 | |
| 252 | config MSM_CORE_HANG_DETECT |
| 253 | tristate "MSM Core Hang Detection Support" |
| 254 | help |
| 255 | This enables the core hang detection module. It causes SoC |
| 256 | reset on core hang detection and collects the core context |
| 257 | for hang. By using sysfs entries core hang detection can be |
| 258 | enabled or disabled dynamically. |
| 259 | |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 260 | endmenu |