blob: f0492201cf73b6ba1a9b4c53210cc335dea53489 [file] [log] [blame]
Andy Gross5d144e32014-04-24 11:31:21 -05001#
2# QCOM Soc drivers
3#
Channagoud Kadabi7e8d55a2016-08-23 14:04:44 -07004config QCOM_CPUSS_DUMP
5 bool "CPU Subsystem Dumping support"
6 help
7 Add support to dump various hardware entities such as the instruction
8 and data tlb's as well as the unified tlb, which are a part of the
9 cpu subsystem to an allocated buffer. This allows for analysis of the
10 the entities if corruption is suspected.
11 If unsure, say N
12
Kyle Yan36d78702016-08-23 16:07:11 -070013config QCOM_RUN_QUEUE_STATS
14 bool "Enable collection and exporting of QTI Run Queue stats to userspace"
15 help
16 This option enables the driver to periodically collecting the statistics
17 of kernel run queue information and calculate the load of the system.
18 This information is exported to usespace via sysfs entries and userspace
19 algorithms uses info and decide when to turn on/off the cpu cores.
20
Andy Gross5d144e32014-04-24 11:31:21 -050021config QCOM_GSBI
22 tristate "QCOM General Serial Bus Interface"
23 depends on ARCH_QCOM
Andy Grosse5fdad62015-02-09 16:01:06 -060024 select MFD_SYSCON
Andy Gross5d144e32014-04-24 11:31:21 -050025 help
26 Say y here to enable GSBI support. The GSBI provides control
27 functions for connecting the underlying serial UART, SPI, and I2C
28 devices to the output pins.
29
Channagoud Kadabi97335b22016-08-17 13:40:46 -070030config QCOM_LLCC
31 tristate "Qualcomm Technologies, Inc. LLCC driver"
32 depends on ARCH_QCOM
33 help
34 Qualcomm Technologies, Inc. platform specific LLCC driver for Last
35 Level Cache. This provides interfaces to client's that use the LLCC.
36 Say yes here to enable LLCC slice driver.
37
Channagoud Kadabib1fec942016-08-17 17:00:26 -070038config QCOM_MSMSKUNK_LLCC
39 tristate "Qualcomm Technologies, Inc. MSMSKUNK LLCC driver"
40 depends on QCOM_LLCC
41 help
42 Say yes here to enable the LLCC driver for MSMSKUNK. This is provides
43 data required to configure LLCC so that clients can start using the
44 LLCC slices.
45
Imran Khan1b223902016-09-21 17:11:58 +053046config QCOM_LLCC_AMON
47 tristate "Qualcomm Technologies, Inc. LLCC Activity Monitor(AMON) driver"
48 depends on QCOM_LLCC
49 help
50 This option enables a activity monitor driver for last level cache
51 controller. This driver configures the activity monitor as
52 deadlock detector and dumps the AMON registers upon detection of
53 deadlock.
54
55config QCOM_LLCC_AMON_PANIC
56 tristate "Panic on detecting LLCC Activity Monitor(AMON) error"
57 depends on QCOM_LLCC_AMON
58 help
59 This option enables panic upon detection of LLCC Activity Monitor(AMON)
60 errors. Say yes here to enable deadlock detection mode of AMON. In
61 deadlock detection mode AMON will trigger an interrupt if some LLCC request
62 ages out.
63
Lina Iyer7ce75bb2015-04-09 13:20:41 -060064config QCOM_PM
65 bool "Qualcomm Power Management"
66 depends on ARCH_QCOM && !ARM64
Arnd Bergmannd9d68882015-11-24 23:13:09 +010067 select ARM_CPU_SUSPEND
Lina Iyer23b38ce2015-07-10 14:18:00 -060068 select QCOM_SCM
Lina Iyer7ce75bb2015-04-09 13:20:41 -060069 help
70 QCOM Platform specific power driver to manage cores and L2 low power
71 modes. It interface with various system drivers to put the cores in
72 low power modes.
Bjorn Andersson4b638df42015-06-26 14:50:10 -070073
Stephen Boyd7d0c8be2015-08-28 11:23:33 -070074config QCOM_SMEM
75 tristate "Qualcomm Shared Memory Manager (SMEM)"
76 depends on ARCH_QCOM
Arnd Bergmann73ebb852015-10-13 17:05:39 +020077 depends on HWSPINLOCK
Stephen Boyd7d0c8be2015-08-28 11:23:33 -070078 help
79 Say y here to enable support for the Qualcomm Shared Memory Manager.
80 The driver provides an interface to items in a heap shared among all
81 processors in a Qualcomm platform.
82
Channagoud Kadabi4d480b02016-12-20 11:57:51 -080083config MSM_SERVICE_LOCATOR
84 bool "Service Locator"
85 depends on MSM_QMI_INTERFACE
86 help
87 The Service Locator provides a library to retrieve location
88 information given a service identifier. Location here translates
89 to what process domain exports the service, and which subsystem
90 that process domain will execute in.
91
92config MSM_SERVICE_NOTIFIER
93 bool "Service Notifier"
94 depends on MSM_SERVICE_LOCATOR && MSM_SUBSYSTEM_RESTART
95 help
96 The Service Notifier provides a library for a kernel client to
97 register for state change notifications regarding a remote service.
98 A remote service here refers to a process providing certain services
99 like audio, the identifier for which is provided by the service
100 locator.
101
Bjorn Anderssonf2ab3292015-07-27 20:20:30 -0700102config QCOM_SMD
103 tristate "Qualcomm Shared Memory Driver (SMD)"
104 depends on QCOM_SMEM
105 help
106 Say y here to enable support for the Qualcomm Shared Memory Driver
107 providing communication channels to remote processors in Qualcomm
108 platforms.
109
Bjorn Andersson936f14c2015-07-27 20:20:32 -0700110config QCOM_SMD_RPM
111 tristate "Qualcomm Resource Power Manager (RPM) over SMD"
112 depends on QCOM_SMD && OF
113 help
114 If you say yes to this option, support will be included for the
115 Resource Power Manager system found in the Qualcomm 8974 based
116 devices.
117
118 This is required to access many regulators, clocks and bus
119 frequencies controlled by the RPM on these devices.
120
121 Say M here if you want to include support for the Qualcomm RPM as a
122 module. This will build a module called "qcom-smd-rpm".
Bjorn Andersson9460ae22015-09-24 18:25:01 -0700123
Channagoud Kadabieee0ffd2016-08-11 14:18:17 -0700124config QCOM_SCM
125 bool "Secure Channel Manager (SCM) support"
126 default n
127
Bjorn Andersson9460ae22015-09-24 18:25:01 -0700128config QCOM_SMEM_STATE
129 bool
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700130
Bjorn Andersson50e99642015-09-24 18:25:03 -0700131config QCOM_SMP2P
Arnd Bergmann10475d52015-11-20 11:32:21 +0100132 tristate "Qualcomm Shared Memory Point to Point support"
Bjorn Andersson50e99642015-09-24 18:25:03 -0700133 depends on QCOM_SMEM
134 select QCOM_SMEM_STATE
135 help
136 Say yes here to support the Qualcomm Shared Memory Point to Point
137 protocol.
138
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700139config QCOM_SMSM
Arnd Bergmann10475d52015-11-20 11:32:21 +0100140 tristate "Qualcomm Shared Memory State Machine"
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700141 depends on QCOM_SMEM
142 select QCOM_SMEM_STATE
143 help
144 Say yes here to support the Qualcomm Shared Memory State Machine.
145 The state machine is represented by bits in shared memory.
Bjorn Anderssonea7a1f22015-09-21 10:52:55 -0700146
147config QCOM_WCNSS_CTRL
148 tristate "Qualcomm WCNSS control driver"
149 depends on QCOM_SMD
150 help
151 Client driver for the WCNSS_CTRL SMD channel, used to download nv
152 firmware to a newly booted WCNSS chip.
Kyle Yanbf6dedf2016-08-19 16:47:30 -0700153
Channagoud Kadabi0fb6cf62016-08-23 15:12:52 -0700154config MSM_BOOT_STATS
155 bool "Use MSM boot stats reporting"
156 help
157 Use this to report msm boot stats such as bootloader throughput,
158 display init, total boot time.
159 This figures are reported in mpm sleep clock cycles and have a
160 resolution of 31 bits as 1 bit is used as an overflow check.
161
Kyle Yana6029442016-08-19 17:07:58 -0700162config MSM_CORE_HANG_DETECT
163 tristate "MSM Core Hang Detection Support"
164 help
165 This enables the core hang detection module. It causes SoC
166 reset on core hang detection and collects the core context
167 for hang.
168
Kyle Yanbf6dedf2016-08-19 16:47:30 -0700169config MSM_GLADIATOR_HANG_DETECT
170 tristate "MSM Gladiator Hang Detection Support"
171 help
172 This enables the gladiator hang detection module.
173 If the configured threshold is reached, it causes SoC reset on
174 gladiator hang detection and collects the context for the
175 gladiator hang.
Kyle Yancc90ead2016-08-19 16:53:28 -0700176
177config MSM_GLADIATOR_ERP_V2
178 tristate "GLADIATOR coherency interconnect error reporting driver v2"
179 help
180 Support dumping debug information for the GLADIATOR
181 cache interconnect in the error interrupt handler.
182 Meant to be used for debug scenarios only.
183
184 If unsure, say N.
185
186config PANIC_ON_GLADIATOR_ERROR_V2
187 depends on MSM_GLADIATOR_ERP_V2
188 bool "Panic on GLADIATOR error report v2"
189 help
190 Panic upon detection of an Gladiator coherency interconnect error
191 in order to support dumping debug information.
192 Meant to be used for debug scenarios only.
193
194 If unsure, say N.
Satyajit Desai5255cea2016-08-04 16:02:50 -0700195
Satya Durga Srinivasu Prabhala60909002016-09-12 11:36:09 -0700196config QCOM_EUD
197 tristate "QTI Embedded USB Debugger (EUD)"
198 depends on ARCH_QCOM
199 select SERIAL_CORE
200 help
201 The EUD (Embedded USB Debugger) is a mini-USB hub implemented
202 on chip to support the USB-based debug and trace capabilities.
203 This module enables support for Qualcomm Technologies, Inc.
204 Embedded USB Debugger (EUD).
205
206 If unsure, say N.
207
Satyajit Desai5255cea2016-08-04 16:02:50 -0700208config QCOM_WATCHDOG_V2
209 bool "Qualcomm Watchdog Support"
210 depends on ARCH_QCOM
211 help
212 This enables the watchdog module. It causes kernel panic if the
213 watchdog times out. It allows for detection of cpu hangs and
214 deadlocks. It does not run during the bootup process, so it will
215 not catch any early lockups.
Satyajit Desai11e470c2016-08-10 15:36:45 -0700216
217config QCOM_MEMORY_DUMP_V2
218 bool "QCOM Memory Dump V2 Support"
219 help
220 This enables memory dump feature. It allows various client
221 subsystems to register respective dump regions. At the time
222 of deadlocks or cpu hangs these dump regions are captured to
223 give a snapshot of the system at the time of the crash.
David Dai87584a42016-09-01 17:13:35 -0700224
225config QCOM_BUS_SCALING
226 bool "Bus scaling driver"
227 help
228 This option enables bus scaling on MSM devices. Bus scaling
229 allows devices to request the clocks be set to rates sufficient
230 for the active devices needs without keeping the clocks at max
231 frequency when a slower speed is sufficient.
Chris Lewb4791c32016-08-01 11:58:55 -0700232
David Dai04ce4202016-09-26 16:24:13 -0700233config QCOM_BUS_CONFIG_RPMH
234 bool "RPMH Bus scaling driver"
235 depends on QCOM_BUS_SCALING
236 help
237 This option enables bus scaling using QCOM specific hardware
238 accelerators. It enables the translation of bandwidth requests
239 from logical nodes to hardware nodes controlled by the BCM (Bus
240 Clock Manager)
241
Patrick Dalya125d5d2016-09-30 16:16:10 -0700242config QCOM_SECURE_BUFFER
243 bool "Helper functions for securing buffers through TZ"
244 help
245 Say 'Y' here for targets that need to call into TZ to secure
246 memory buffers. This ensures that only the correct clients can
247 use this memory and no unauthorized access is made to the
248 buffer
249
Chris Lewb4791c32016-08-01 11:58:55 -0700250config MSM_SMEM
251 depends on ARCH_QCOM
252 depends on REMOTE_SPINLOCK_MSM
253 bool "MSM Shared Memory (SMEM)"
254 help
255 Support for the shared memory interface between the various
256 processors in the System on a Chip (SoC) which allows basic
257 inter-processor communication.
Chris Lewfa6135e2016-08-01 13:29:46 -0700258
259config MSM_GLINK
260 bool "Generic Link (G-Link)"
261 help
262 G-Link is a generic link transport that replaces SMD. It is used
263 within a System-on-Chip (SoC) for communication between both internal
264 processors and external peripherals. The actual physical transport
265 is handled by transport plug-ins that can be individually enabled and
266 configured separately.
267
268config MSM_GLINK_LOOPBACK_SERVER
269 bool "Generic Link (G-Link) Loopback Server"
270 help
271 G-Link Loopback Server that enable loopback test framework to test
272 and validate the G-Link protocol stack. It support both local and
273 remote clients to configure the loopback server and echo back the
274 data received from the clients.
275
276config MSM_GLINK_SMEM_NATIVE_XPRT
277 depends on MSM_SMEM
278 depends on MSM_GLINK
279 bool "Generic Link (G-Link) SMEM Native Transport"
280 help
281 G-Link SMEM Native Transport is a G-Link Transport plug-in. It allows
282 G-Link communication to remote entities through a shared memory
283 physical transport. The nature of shared memory limits this G-Link
284 transport to only connecting with entities internal to the
285 System-on-Chip.
286
287config MSM_GLINK_SPI_XPRT
288 depends on MSM_GLINK
289 tristate "Generic Link (G-Link) SPI Transport"
290 help
291 G-Link SPI Transport is a Transport plug-in developed over SPI
292 bus. This transport plug-in performs marshaling of G-Link
293 commands & data to the appropriate SPI bus wire format and
294 allows for G-Link communication with remote subsystems that are
295 external to the System-on-Chip.
296
297config TRACER_PKT
298 bool "Tracer Packet"
299 help
300 Tracer Packet helps in profiling the performance of inter-
301 processor communication protocols. The profiling information
302 can be logged into the tracer packet itself.
Lina Iyerd7194ff2016-04-20 17:13:34 -0600303
304config QTI_RPMH_API
305 bool "QTI RPMH (h/w accelerators) Communication API"
306 select MAILBOX
307 select QTI_RPMH_MBOX
Lina Iyer15d6df32016-08-18 12:10:27 -0600308 select QTI_SYSTEM_PM
Lina Iyerd7194ff2016-04-20 17:13:34 -0600309 help
310 This option enables RPMH hardware communication for making shared
311 resource requests on Qualcomm Technologies Inc SoCs.
Lina Iyer15d6df32016-08-18 12:10:27 -0600312
313config QTI_SYSTEM_PM
314 bool
Karthikeyan Ramasubramanian97a10282016-09-16 12:01:18 -0600315
316config MSM_SMP2P
317 bool "SMSM Point-to-Point (SMP2P)"
318 depends on MSM_SMEM
319 help
320 Provide point-to-point remote signaling support.
321 SMP2P enables transferring 32-bit values between
322 the local and a remote system using shared
323 memory and interrupts. A client can open multiple
324 32-bit values by specifying a unique string and
325 remote processor ID.
326
327config MSM_SMP2P_TEST
328 bool "SMSM Point-to-Point Test"
329 depends on MSM_SMP2P
330 help
331 Enables loopback and unit testing support for
332 SMP2P. Loopback support is used by other
333 processors to do unit testing. Unit tests
334 are used to verify the local and remote
335 implementations.
Karthikeyan Ramasubramanian9f9c4a72016-10-18 14:06:18 -0600336
337config MSM_IPC_ROUTER_SMD_XPRT
338 depends on MSM_SMD
339 depends on IPC_ROUTER
340 bool "MSM SMD XPRT Layer"
341 help
342 SMD Transport Layer that enables IPC Router communication within
343 a System-on-Chip(SoC). When the SMD channels become available,
344 this layer registers a transport with IPC Router and enable
345 message exchange.
Karthikeyan Ramasubramanianf0d46a82016-09-16 16:43:51 -0600346
347config MSM_IPC_ROUTER_HSIC_XPRT
348 depends on USB_QCOM_IPC_BRIDGE
349 depends on IPC_ROUTER
350 bool "MSM HSIC XPRT Layer"
351 help
352 HSIC Transport Layer that enables off-chip communication of
353 IPC Router. When the HSIC endpoint becomes available, this layer
354 registers the transport with IPC Router and enable message
355 exchange.
Karthikeyan Ramasubramanianbf94cab2016-09-16 16:50:04 -0600356
357config MSM_IPC_ROUTER_MHI_XPRT
358 depends on MSM_MHI
359 depends on IPC_ROUTER
360 bool "MSM MHI XPRT Layer"
361 help
362 MHI Transport Layer that enables off-chip communication of
363 IPC Router. When the MHI endpoint becomes available, this layer
364 registers the transport with IPC Router and enable message
365 exchange.
Karthikeyan Ramasubramanian4f4074f2016-09-16 16:53:30 -0600366
367config MSM_IPC_ROUTER_GLINK_XPRT
368 depends on MSM_GLINK
369 depends on IPC_ROUTER
370 bool "MSM GLINK XPRT Layer"
371 help
372 GLINK Transport Layer that enables IPC Router communication within
373 a System-on-Chip(SoC). When the GLINK channels become available,
374 this layer registers a transport with IPC Router and enable
375 message exchange.
Karthikeyan Ramasubramanianfafd67f12016-09-16 17:15:13 -0600376
377config MSM_QMI_INTERFACE
378 depends on IPC_ROUTER
379 depends on QMI_ENCDEC
380 bool "MSM QMI Interface Library"
381 help
382 Library to send and receive QMI messages over IPC Router.
383 This library provides interface functions to the kernel drivers
384 to perform QMI message marshaling and transport them over IPC
385 Router.
Karthikeyan Ramasubramanian5d797a82016-09-16 17:56:18 -0600386
387config MSM_GLINK_PKT
388 bool "Enable device interface for GLINK packet channels"
389 depends on MSM_GLINK
390 help
391 G-link packet driver provides the interface for the userspace
392 clients to communicate over G-Link via device nodes.
393 This enable the userspace clients to read and write to
394 some glink packets channel.
Karthikeyan Ramasubramanian04e3f902016-09-19 09:24:36 -0600395
396config MSM_SYSTEM_HEALTH_MONITOR
397 bool "System Health Monitor"
398 depends on MSM_QMI_INTERFACE && MSM_SUBSYSTEM_RESTART
399 help
400 System Health Monitor (SHM) passively monitors the health of the
401 peripherals connected to the application processor. Software
402 components in the application processor that experience
403 communication failure can request the SHM to perform a system-wide
404 health check. If any failures are detected during the health-check,
405 then a subsystem restart will be triggered for the failed subsystem.
Kyle Yane45fa022016-08-29 11:40:26 -0700406
407config MSM_SUBSYSTEM_RESTART
408 bool "MSM Subsystem Restart"
409 help
410 This option enables the MSM subsystem restart framework.
411
412 The MSM subsystem restart framework provides support to boot,
413 shutdown, and restart subsystems with a reference counted API.
414 It also notifies userspace of transitions between these states via
415 sysfs.
416
417config MSM_PIL
418 bool "Peripheral image loading"
419 select FW_LOADER
420 default n
421 help
422 Some peripherals need to be loaded into memory before they can be
423 brought out of reset.
424
425 Say yes to support these devices.
426
427config MSM_SYSMON_GLINK_COMM
428 bool "MSM System Monitor communication support using GLINK transport"
429 depends on MSM_GLINK && MSM_SUBSYSTEM_RESTART
430 help
431 This option adds support for MSM System Monitor APIs using the GLINK
432 transport layer. The APIs provided may be used for notifying
433 subsystems within the SoC about other subsystems' power-up/down
434 state-changes.
435
436config MSM_PIL_SSR_GENERIC
437 tristate "MSM Subsystem Boot Support"
438 depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
439 help
440 Support for booting and shutting down MSM Subsystem processors.
441 This driver also monitors the SMSM status bits and the watchdog
442 interrupt for the subsystem and restarts it on a watchdog bite
443 or a fatal error. Subsystems include LPASS, Venus, VPU, WCNSS and
444 BCSS.
445
446config MSM_PIL_MSS_QDSP6V5
447 tristate "MSS QDSP6v5 (Hexagon) Boot Support"
448 depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
449 help
450 Support for booting and shutting down QDSP6v5 (Hexagon) processors
451 in modem subsystems. If you would like to make or receive phone
452 calls then say Y here.
453
454 If unsure, say N.
Yuanyuan Liu607051c2016-11-28 17:04:13 -0800455
456config ICNSS
457 tristate "Platform driver for Q6 integrated connectivity"
458 ---help---
459 This module adds support for Q6 integrated WLAN connectivity
460 subsystem. This module is responsible for communicating WLAN on/off
461 control messages to FW over QMI channel. It is also responsible for
462 handling WLAN PD restart notifications.
463
464config ICNSS_DEBUG
465 bool "ICNSS debug support"
466 depends on ICNSS
467 ---help---
468 Say 'Y' here to enable ICNSS driver debug support. Debug support
469 primarily consists of logs consisting of information related to
470 hardware register access and enabling BUG_ON for certain cases to aid
Mahesh Sivasubramaniancb649522016-08-19 14:04:44 -0600471 the debugging.
472
473config QCOM_COMMAND_DB
474 bool "Command DB"
475 help
476 Command DB queries shared memory by key string for shared system
477 resources