blob: 51f1035f1f124d4f3abd0db9f76a3c5a215424ed [file] [log] [blame]
Rishabh Bhatnagar6ff955e2018-05-22 17:57:51 -07001# SPDX-License-Identifier: GPL-2.0
Andy Gross5d144e32014-04-24 11:31:21 -05002#
3# QCOM Soc drivers
4#
Srinivas Kandagatla2a464812017-07-26 17:27:16 +02005menu "Qualcomm SoC drivers"
Mahesh Sivasubramanian312416d2018-04-10 11:57:23 -06006config QCOM_COMMAND_DB
7 bool "Qualcomm Command DB"
Arnd Bergmann0ea3fa12018-05-25 18:08:24 +02008 depends on ARCH_QCOM || COMPILE_TEST
9 depends on OF_RESERVED_MEM
Mahesh Sivasubramanian312416d2018-04-10 11:57:23 -060010 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 Ramasubramanianeddac5a2018-03-30 11:08:17 -060016config 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 Anderssonc4d77d52017-07-24 22:56:44 -070025config 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 Bhatnagarb7d7d4b2018-06-11 13:11:34 -070034config 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 Gross5d144e32014-04-24 11:31:21 -050043config QCOM_GSBI
44 tristate "QCOM General Serial Bus Interface"
45 depends on ARCH_QCOM
Andy Grosse5fdad62015-02-09 16:01:06 -060046 select MFD_SYSCON
Andy Gross5d144e32014-04-24 11:31:21 -050047 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 Andersson2aad40d2017-01-27 03:12:57 -080052config QCOM_MDT_LOADER
53 tristate
54 select QCOM_SCM
55
Lina Iyer7ce75bb2015-04-09 13:20:41 -060056config QCOM_PM
57 bool "Qualcomm Power Management"
58 depends on ARCH_QCOM && !ARM64
Arnd Bergmannd9d68882015-11-24 23:13:09 +010059 select ARM_CPU_SUSPEND
Lina Iyer23b38ce2015-07-10 14:18:00 -060060 select QCOM_SCM
Lina Iyer7ce75bb2015-04-09 13:20:41 -060061 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 Andersson4b638df42015-06-26 14:50:10 -070065
Bjorn Andersson9b8a11e2017-12-05 09:43:06 -080066config QCOM_QMI_HELPERS
67 tristate
Arnd Bergmanndea4bd12018-02-22 16:57:38 +010068 depends on ARCH_QCOM && NET
Bjorn Andersson9b8a11e2017-12-05 09:43:06 -080069 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 Anderssond1de6d62017-10-16 13:17:08 -050075config QCOM_RMTFS_MEM
76 tristate "Qualcomm Remote Filesystem memory driver"
77 depends on ARCH_QCOM
Bjorn Anderssonfa65f802018-02-12 17:37:23 -080078 select QCOM_SCM
Bjorn Anderssond1de6d62017-10-16 13:17:08 -050079 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 Boyd7d0c8be2015-08-28 11:23:33 -070087config QCOM_SMEM
88 tristate "Qualcomm Shared Memory Manager (SMEM)"
89 depends on ARCH_QCOM
Arnd Bergmann73ebb852015-10-13 17:05:39 +020090 depends on HWSPINLOCK
Stephen Boyd7d0c8be2015-08-28 11:23:33 -070091 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 Andersson936f14c2015-07-27 20:20:32 -070096config QCOM_SMD_RPM
97 tristate "Qualcomm Resource Power Manager (RPM) over SMD"
Bjorn Andersson5052de82017-03-27 22:26:33 -070098 depends on ARCH_QCOM
99 depends on RPMSG && OF
Bjorn Andersson936f14c2015-07-27 20:20:32 -0700100 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 Andersson9460ae22015-09-24 18:25:01 -0700110
Rishabh Bhatnagar23ff8d82018-06-08 10:18:25 -0700111config 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 Andersson9460ae22015-09-24 18:25:01 -0700120config QCOM_SMEM_STATE
121 bool
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700122
Bjorn Andersson50e99642015-09-24 18:25:03 -0700123config QCOM_SMP2P
Arnd Bergmann10475d52015-11-20 11:32:21 +0100124 tristate "Qualcomm Shared Memory Point to Point support"
Bjorn Anderssone7180262017-11-29 16:00:40 -0800125 depends on MAILBOX
Bjorn Andersson50e99642015-09-24 18:25:03 -0700126 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 Anderssonc97c4092015-09-24 18:25:02 -0700132config QCOM_SMSM
Arnd Bergmann10475d52015-11-20 11:32:21 +0100133 tristate "Qualcomm Shared Memory State Machine"
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700134 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 Anderssonea7a1f22015-09-21 10:52:55 -0700139
140config QCOM_WCNSS_CTRL
141 tristate "Qualcomm WCNSS control driver"
Bjorn Andersson5052de82017-03-27 22:26:33 -0700142 depends on ARCH_QCOM
143 depends on RPMSG
Bjorn Anderssonea7a1f22015-09-21 10:52:55 -0700144 help
145 Client driver for the WCNSS_CTRL SMD channel, used to download nv
146 firmware to a newly booted WCNSS chip.
Srinivas Kandagatla2a464812017-07-26 17:27:16 +0200147
Swathi Sridhar4008eb42018-07-17 15:34:46 -0700148config 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
156config 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 Bhatnagar6ff955e2018-05-22 17:57:51 -0700166config 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
175config 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
185config 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
195config 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
205config 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
214config 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 Bhatnagar9b1ff4b2018-06-26 10:57:52 -0700223config 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 Bhatnagar6ff955e2018-05-22 17:57:51 -0700230
Rishabh Bhatnagar29d615e2018-07-01 16:50:06 -0700231config 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 Kandagatla6adba212018-05-09 13:56:13 +0100242config 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 Bhatnagara5257422018-07-01 16:21:16 -0700251
252config 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 Kandagatla2a464812017-07-26 17:27:16 +0200260endmenu