blob: 3ecca591bb7c22b432afa10e0b0799cecc3427d0 [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
Kyle Yan6a20fae2017-02-14 13:34:41 -080038config QCOM_SDM845_LLCC
39 tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
Channagoud Kadabib1fec942016-08-17 17:00:26 -070040 depends on QCOM_LLCC
41 help
Kyle Yan6a20fae2017-02-14 13:34:41 -080042 Say yes here to enable the LLCC driver for SDM845. This is provides
Channagoud Kadabib1fec942016-08-17 17:00:26 -070043 data required to configure LLCC so that clients can start using the
44 LLCC slices.
45
Lingutla Chandrasekhar9cecdb22017-05-30 10:36:38 +053046config QCOM_SDM670_LLCC
47 tristate "Qualcomm Technologies, Inc. SDM670 LLCC driver"
48 depends on QCOM_LLCC
49 help
50 This provides Last level cache controller driver for SDM670.
51 This driver provides data required to configure LLCC, so that clients
52 can start using the LLCC slices.
53 Say yes here to enable llcc driver for SDM670.
54
55
Imran Khan1b223902016-09-21 17:11:58 +053056config QCOM_LLCC_AMON
57 tristate "Qualcomm Technologies, Inc. LLCC Activity Monitor(AMON) driver"
58 depends on QCOM_LLCC
59 help
60 This option enables a activity monitor driver for last level cache
61 controller. This driver configures the activity monitor as
62 deadlock detector and dumps the AMON registers upon detection of
63 deadlock.
64
65config QCOM_LLCC_AMON_PANIC
66 tristate "Panic on detecting LLCC Activity Monitor(AMON) error"
67 depends on QCOM_LLCC_AMON
68 help
69 This option enables panic upon detection of LLCC Activity Monitor(AMON)
70 errors. Say yes here to enable deadlock detection mode of AMON. In
71 deadlock detection mode AMON will trigger an interrupt if some LLCC request
72 ages out.
73
Sankaran Nampoothiri666cfeb2017-06-27 17:41:29 +053074config QCOM_LLCC_PERFMON
75 tristate "Qualcomm Technologies, Inc. LLCC Perfmon driver"
76 depends on QCOM_LLCC
77 help
78 This option enables driver for LLCC Performance monitor block. Using
79 this various events in different LLCC sub block ports can be monitored.
80 This is used for performance and debug activity and exports SYSFS
81 interface. SYSFS interface used for configure and dump the LLCC
82 performance events.
83
Lina Iyer7ce75bb2015-04-09 13:20:41 -060084config QCOM_PM
85 bool "Qualcomm Power Management"
86 depends on ARCH_QCOM && !ARM64
Arnd Bergmannd9d68882015-11-24 23:13:09 +010087 select ARM_CPU_SUSPEND
Lina Iyer23b38ce2015-07-10 14:18:00 -060088 select QCOM_SCM
Lina Iyer7ce75bb2015-04-09 13:20:41 -060089 help
90 QCOM Platform specific power driver to manage cores and L2 low power
91 modes. It interface with various system drivers to put the cores in
92 low power modes.
Bjorn Andersson4b638df42015-06-26 14:50:10 -070093
Stephen Boyd7d0c8be2015-08-28 11:23:33 -070094config QCOM_SMEM
95 tristate "Qualcomm Shared Memory Manager (SMEM)"
96 depends on ARCH_QCOM
Arnd Bergmann73ebb852015-10-13 17:05:39 +020097 depends on HWSPINLOCK
Stephen Boyd7d0c8be2015-08-28 11:23:33 -070098 help
99 Say y here to enable support for the Qualcomm Shared Memory Manager.
100 The driver provides an interface to items in a heap shared among all
101 processors in a Qualcomm platform.
102
Channagoud Kadabi4d480b02016-12-20 11:57:51 -0800103config MSM_SERVICE_LOCATOR
104 bool "Service Locator"
105 depends on MSM_QMI_INTERFACE
106 help
107 The Service Locator provides a library to retrieve location
108 information given a service identifier. Location here translates
109 to what process domain exports the service, and which subsystem
110 that process domain will execute in.
111
112config MSM_SERVICE_NOTIFIER
113 bool "Service Notifier"
114 depends on MSM_SERVICE_LOCATOR && MSM_SUBSYSTEM_RESTART
115 help
116 The Service Notifier provides a library for a kernel client to
117 register for state change notifications regarding a remote service.
118 A remote service here refers to a process providing certain services
119 like audio, the identifier for which is provided by the service
120 locator.
121
Bjorn Anderssonf2ab3292015-07-27 20:20:30 -0700122config QCOM_SMD
123 tristate "Qualcomm Shared Memory Driver (SMD)"
124 depends on QCOM_SMEM
125 help
126 Say y here to enable support for the Qualcomm Shared Memory Driver
127 providing communication channels to remote processors in Qualcomm
128 platforms.
129
Bjorn Andersson936f14c2015-07-27 20:20:32 -0700130config QCOM_SMD_RPM
131 tristate "Qualcomm Resource Power Manager (RPM) over SMD"
132 depends on QCOM_SMD && OF
133 help
134 If you say yes to this option, support will be included for the
135 Resource Power Manager system found in the Qualcomm 8974 based
136 devices.
137
138 This is required to access many regulators, clocks and bus
139 frequencies controlled by the RPM on these devices.
140
141 Say M here if you want to include support for the Qualcomm RPM as a
142 module. This will build a module called "qcom-smd-rpm".
Bjorn Andersson9460ae22015-09-24 18:25:01 -0700143
Raghavendra Kakarlaac093d92017-11-16 12:28:54 +0530144config MSM_SPM
145 bool "Driver support for SPM and AVS wrapper hardware"
146 help
147 Enables the support for SPM and AVS wrapper hardware on MSMs. SPM
148 hardware is used to manage the processor power during sleep. The
149 driver allows configuring SPM to allow different low power modes for
150 both core and L2.
151
152config MSM_L2_SPM
153 bool "SPM support for L2 cache"
154 help
155 Enable SPM driver support for L2 cache. Some MSM chipsets allow
156 control of L2 cache low power mode with a Subsystem Power manager.
157 Enabling this driver allows configuring L2 SPM for low power modes
158 on supported chipsets.
159
Channagoud Kadabieee0ffd2016-08-11 14:18:17 -0700160config QCOM_SCM
161 bool "Secure Channel Manager (SCM) support"
162 default n
163
Bjorn Andersson9460ae22015-09-24 18:25:01 -0700164config QCOM_SMEM_STATE
165 bool
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700166
Bjorn Andersson50e99642015-09-24 18:25:03 -0700167config QCOM_SMP2P
Arnd Bergmann10475d52015-11-20 11:32:21 +0100168 tristate "Qualcomm Shared Memory Point to Point support"
Bjorn Andersson50e99642015-09-24 18:25:03 -0700169 depends on QCOM_SMEM
170 select QCOM_SMEM_STATE
171 help
172 Say yes here to support the Qualcomm Shared Memory Point to Point
173 protocol.
174
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700175config QCOM_SMSM
Arnd Bergmann10475d52015-11-20 11:32:21 +0100176 tristate "Qualcomm Shared Memory State Machine"
Bjorn Anderssonc97c4092015-09-24 18:25:02 -0700177 depends on QCOM_SMEM
178 select QCOM_SMEM_STATE
179 help
180 Say yes here to support the Qualcomm Shared Memory State Machine.
181 The state machine is represented by bits in shared memory.
Bjorn Anderssonea7a1f22015-09-21 10:52:55 -0700182
183config QCOM_WCNSS_CTRL
184 tristate "Qualcomm WCNSS control driver"
185 depends on QCOM_SMD
186 help
187 Client driver for the WCNSS_CTRL SMD channel, used to download nv
188 firmware to a newly booted WCNSS chip.
Kyle Yanbf6dedf2016-08-19 16:47:30 -0700189
Channagoud Kadabi0fb6cf62016-08-23 15:12:52 -0700190config MSM_BOOT_STATS
191 bool "Use MSM boot stats reporting"
192 help
193 Use this to report msm boot stats such as bootloader throughput,
194 display init, total boot time.
195 This figures are reported in mpm sleep clock cycles and have a
196 resolution of 31 bits as 1 bit is used as an overflow check.
197
Kyle Yana6029442016-08-19 17:07:58 -0700198config MSM_CORE_HANG_DETECT
199 tristate "MSM Core Hang Detection Support"
200 help
201 This enables the core hang detection module. It causes SoC
202 reset on core hang detection and collects the core context
203 for hang.
204
Kyle Yanbf6dedf2016-08-19 16:47:30 -0700205config MSM_GLADIATOR_HANG_DETECT
206 tristate "MSM Gladiator Hang Detection Support"
207 help
208 This enables the gladiator hang detection module.
209 If the configured threshold is reached, it causes SoC reset on
210 gladiator hang detection and collects the context for the
211 gladiator hang.
Kyle Yancc90ead2016-08-19 16:53:28 -0700212
Kyle Yan3a641f42016-11-21 14:00:04 -0800213config MSM_GLADIATOR_ERP
214 tristate "GLADIATOR coherency interconnect error reporting driver"
Kyle Yancc90ead2016-08-19 16:53:28 -0700215 help
216 Support dumping debug information for the GLADIATOR
217 cache interconnect in the error interrupt handler.
218 Meant to be used for debug scenarios only.
219
220 If unsure, say N.
221
Kyle Yan3a641f42016-11-21 14:00:04 -0800222config PANIC_ON_GLADIATOR_ERROR
223 depends on MSM_GLADIATOR_ERP
224 bool "Panic on GLADIATOR error report"
Kyle Yancc90ead2016-08-19 16:53:28 -0700225 help
226 Panic upon detection of an Gladiator coherency interconnect error
227 in order to support dumping debug information.
228 Meant to be used for debug scenarios only.
229
230 If unsure, say N.
Satyajit Desai5255cea2016-08-04 16:02:50 -0700231
Satya Durga Srinivasu Prabhala60909002016-09-12 11:36:09 -0700232config QCOM_EUD
233 tristate "QTI Embedded USB Debugger (EUD)"
234 depends on ARCH_QCOM
235 select SERIAL_CORE
236 help
237 The EUD (Embedded USB Debugger) is a mini-USB hub implemented
238 on chip to support the USB-based debug and trace capabilities.
239 This module enables support for Qualcomm Technologies, Inc.
240 Embedded USB Debugger (EUD).
241
242 If unsure, say N.
243
Satyajit Desai5255cea2016-08-04 16:02:50 -0700244config QCOM_WATCHDOG_V2
245 bool "Qualcomm Watchdog Support"
246 depends on ARCH_QCOM
247 help
248 This enables the watchdog module. It causes kernel panic if the
249 watchdog times out. It allows for detection of cpu hangs and
250 deadlocks. It does not run during the bootup process, so it will
251 not catch any early lockups.
Satyajit Desai11e470c2016-08-10 15:36:45 -0700252
Lingutla Chandrasekhar8325dec2018-02-03 16:00:33 +0530253config QCOM_WDOG_IPI_ENABLE
254 bool "Qcom WDT pet optimization"
255 depends on QCOM_WATCHDOG_V2
256 default n
257 help
258 When this option is enabled, watchdog sends IPI to cores in low power
259 mode also. For power optimizations, by default watchdog don't ping
260 cores in low power mode at pettime.
261
262 To track CPUs health on LPM, or on debug builds enable it.
263
Kiran Gunda04967c82017-02-14 14:22:18 +0530264config QPNP_PBS
265 tristate "PBS trigger support for QPNP PMIC"
266 depends on SPMI
267 help
268 This driver supports configuring software PBS trigger event through PBS
269 RAM on Qualcomm Technologies, Inc. QPNP PMICs. This module provides
270 the APIs to the client drivers that wants to send the PBS trigger
271 event to the PBS RAM.
272
Satyajit Desai11e470c2016-08-10 15:36:45 -0700273config QCOM_MEMORY_DUMP_V2
274 bool "QCOM Memory Dump V2 Support"
275 help
276 This enables memory dump feature. It allows various client
277 subsystems to register respective dump regions. At the time
278 of deadlocks or cpu hangs these dump regions are captured to
279 give a snapshot of the system at the time of the crash.
David Dai87584a42016-09-01 17:13:35 -0700280
Jinlong Mao4e85f112018-03-21 17:51:37 +0530281config MSM_DEBUG_LAR_UNLOCK
282 bool "MSM Debug LAR Unlock Support"
283 depends on QCOM_MEMORY_DUMP_V2
284 help
285 This allows unlocking Core Debug lock to allow capture
286 of upper 32 bits of program counter at the time of
287 system crash. This is useful in getting correct crash
288 location.
289
Lingutla Chandrasekhar8bbf9a72017-09-25 15:56:24 +0530290config QCOM_MINIDUMP
291 bool "QCOM Minidump Support"
292 depends on MSM_SMEM && QCOM_DLOAD_MODE
293 help
294 This enables minidump feature. It allows various clients to
295 register to dump their state at system bad state (panic/WDT,etc.,).
296 Minidump would dump all registered entries, only when DLOAD mode
297 is enabled.
298
Lingutla Chandrasekhar5d4442b2017-10-03 15:21:30 +0530299config MINIDUMP_MAX_ENTRIES
300 int "Minidump Maximum num of entries"
301 default 200
302 depends on QCOM_MINIDUMP
303 help
304 This defines maximum number of entries to be allocated for application
305 subsytem in Minidump table.
306
Raju P.L.S.S.S.N43c1be72017-10-31 16:50:30 +0530307config MSM_RPM_SMD
308 bool "RPM driver using SMD protocol"
309 help
310 RPM is the dedicated hardware engine for managing shared SoC
311 resources. This config adds driver support for using SMD as a
312 transport layer communication with RPM hardware. It also selects
313 the MSM_MPM config that programs the MPM module to monitor interrupts
314 during sleep modes.
315
David Dai87584a42016-09-01 17:13:35 -0700316config QCOM_BUS_SCALING
317 bool "Bus scaling driver"
318 help
319 This option enables bus scaling on MSM devices. Bus scaling
320 allows devices to request the clocks be set to rates sufficient
321 for the active devices needs without keeping the clocks at max
322 frequency when a slower speed is sufficient.
Chris Lewb4791c32016-08-01 11:58:55 -0700323
David Dai04ce4202016-09-26 16:24:13 -0700324config QCOM_BUS_CONFIG_RPMH
325 bool "RPMH Bus scaling driver"
326 depends on QCOM_BUS_SCALING
327 help
328 This option enables bus scaling using QCOM specific hardware
329 accelerators. It enables the translation of bandwidth requests
330 from logical nodes to hardware nodes controlled by the BCM (Bus
331 Clock Manager)
332
Patrick Dalya125d5d2016-09-30 16:16:10 -0700333config QCOM_SECURE_BUFFER
334 bool "Helper functions for securing buffers through TZ"
335 help
336 Say 'Y' here for targets that need to call into TZ to secure
337 memory buffers. This ensures that only the correct clients can
338 use this memory and no unauthorized access is made to the
339 buffer
340
Laura Abbott130e1d02013-08-09 18:17:06 -0700341config QCOM_EARLY_RANDOM
342 bool "Initialize random pool very early"
343 help
344 The standard random pool may not initialize until late in the boot
345 process which means that any calls to get random numbers before then
346 may not be truly random. Select this option to make an early call
347 to get some random data to put in the pool. If unsure, say N.
348
Chris Lewb4791c32016-08-01 11:58:55 -0700349config MSM_SMEM
350 depends on ARCH_QCOM
351 depends on REMOTE_SPINLOCK_MSM
352 bool "MSM Shared Memory (SMEM)"
353 help
354 Support for the shared memory interface between the various
355 processors in the System on a Chip (SoC) which allows basic
356 inter-processor communication.
Chris Lewfa6135e2016-08-01 13:29:46 -0700357
Arun Kumar Neelakantamd680a242017-11-02 21:14:53 +0530358config MSM_SMD
359 depends on MSM_SMEM
360 bool "MSM Shared Memory Driver (SMD)"
361 help
362 Support for the shared memory interprocessor communication protocol
363 which provides virual point to point serial channels between processes
364 on the apps processor and processes on other processors in the SoC.
365 Also includes support for the Shared Memory State Machine (SMSM)
366 protocol which provides a mechanism to publish single bit state
367 information to one or more processors in the SoC.
368
369config MSM_SMD_DEBUG
370 depends on MSM_SMD
371 bool "MSM SMD debug support"
372 help
373 Support for debugging SMD and SMSM communication between apps and
374 other processors in the SoC. Debug support primarily consists of
375 logs consisting of information such as what interrupts were processed,
376 what channels caused interrupt activity, and when internal state
377 change events occur.
378
Chris Lewfa6135e2016-08-01 13:29:46 -0700379config MSM_GLINK
380 bool "Generic Link (G-Link)"
381 help
382 G-Link is a generic link transport that replaces SMD. It is used
383 within a System-on-Chip (SoC) for communication between both internal
384 processors and external peripherals. The actual physical transport
385 is handled by transport plug-ins that can be individually enabled and
386 configured separately.
387
Charan Teja Reddy35144b02017-09-05 16:20:46 +0530388config MSM_TZ_SMMU
Charan Teja Reddy35144b02017-09-05 16:20:46 +0530389 bool "Helper functions for SMMU configuration through TZ"
Maria Yuf9d56732018-04-16 16:15:46 +0800390 default n
Charan Teja Reddy35144b02017-09-05 16:20:46 +0530391 help
392 Say 'Y' here for targets that need to call into TZ to configure
393 SMMUs for any reason (for example, for errata workarounds or
394 configuration of SMMU virtualization).
395
396 If unsure, say N.
397
Chris Lewfa6135e2016-08-01 13:29:46 -0700398config MSM_GLINK_LOOPBACK_SERVER
399 bool "Generic Link (G-Link) Loopback Server"
400 help
401 G-Link Loopback Server that enable loopback test framework to test
402 and validate the G-Link protocol stack. It support both local and
403 remote clients to configure the loopback server and echo back the
404 data received from the clients.
405
406config MSM_GLINK_SMEM_NATIVE_XPRT
407 depends on MSM_SMEM
408 depends on MSM_GLINK
409 bool "Generic Link (G-Link) SMEM Native Transport"
410 help
411 G-Link SMEM Native Transport is a G-Link Transport plug-in. It allows
412 G-Link communication to remote entities through a shared memory
413 physical transport. The nature of shared memory limits this G-Link
414 transport to only connecting with entities internal to the
415 System-on-Chip.
416
417config MSM_GLINK_SPI_XPRT
418 depends on MSM_GLINK
419 tristate "Generic Link (G-Link) SPI Transport"
420 help
421 G-Link SPI Transport is a Transport plug-in developed over SPI
422 bus. This transport plug-in performs marshaling of G-Link
423 commands & data to the appropriate SPI bus wire format and
424 allows for G-Link communication with remote subsystems that are
425 external to the System-on-Chip.
426
Kineret Berger5bb47422017-02-09 11:51:32 +0200427config MSM_SPCOM
428 depends on MSM_GLINK
429 bool "Secure Processor Communication over GLINK"
430 help
431 spcom driver allows loading Secure Processor Applications and
432 sending messages to Secure Processor Applications.
433 spcom provides interface to both user space app and kernel driver.
434 It is using glink as the transport layer, which provides multiple
435 logical channels over single physical channel.
436 The physical layer is based on shared memory and interrupts.
437 spcom provides clients/server API, although currently only one client
438 or server is allowed per logical channel.
439
Reut Zysman92bfac82017-04-05 18:18:50 +0300440config MSM_SPSS_UTILS
441 depends on MSM_PIL
442 bool "Secure Processor Utilities"
443 help
444 spss-utils driver selects Secure Processor firmware file name.
445 The firmware file name for dev, test or production is selected
446 based on two fuses.
447 Different file name is used for differnt SPSS HW versions,
448 because the SPSS firmware size is too small to support multiple
449 HW versions.
450
Chris Lewfa6135e2016-08-01 13:29:46 -0700451config TRACER_PKT
452 bool "Tracer Packet"
453 help
454 Tracer Packet helps in profiling the performance of inter-
455 processor communication protocols. The profiling information
456 can be logged into the tracer packet itself.
Lina Iyerd7194ff2016-04-20 17:13:34 -0600457
458config QTI_RPMH_API
459 bool "QTI RPMH (h/w accelerators) Communication API"
460 select MAILBOX
461 select QTI_RPMH_MBOX
Lina Iyer15d6df32016-08-18 12:10:27 -0600462 select QTI_SYSTEM_PM
Lina Iyerd7194ff2016-04-20 17:13:34 -0600463 help
464 This option enables RPMH hardware communication for making shared
465 resource requests on Qualcomm Technologies Inc SoCs.
Lina Iyer15d6df32016-08-18 12:10:27 -0600466
467config QTI_SYSTEM_PM
468 bool
Karthikeyan Ramasubramanian97a10282016-09-16 12:01:18 -0600469
470config MSM_SMP2P
471 bool "SMSM Point-to-Point (SMP2P)"
472 depends on MSM_SMEM
473 help
474 Provide point-to-point remote signaling support.
475 SMP2P enables transferring 32-bit values between
476 the local and a remote system using shared
477 memory and interrupts. A client can open multiple
478 32-bit values by specifying a unique string and
479 remote processor ID.
480
Karthikeyan Ramasubramanian9f9c4a72016-10-18 14:06:18 -0600481config MSM_IPC_ROUTER_SMD_XPRT
482 depends on MSM_SMD
483 depends on IPC_ROUTER
484 bool "MSM SMD XPRT Layer"
485 help
486 SMD Transport Layer that enables IPC Router communication within
487 a System-on-Chip(SoC). When the SMD channels become available,
488 this layer registers a transport with IPC Router and enable
489 message exchange.
Karthikeyan Ramasubramanianf0d46a82016-09-16 16:43:51 -0600490
491config MSM_IPC_ROUTER_HSIC_XPRT
492 depends on USB_QCOM_IPC_BRIDGE
493 depends on IPC_ROUTER
494 bool "MSM HSIC XPRT Layer"
495 help
496 HSIC Transport Layer that enables off-chip communication of
497 IPC Router. When the HSIC endpoint becomes available, this layer
498 registers the transport with IPC Router and enable message
499 exchange.
Karthikeyan Ramasubramanianbf94cab2016-09-16 16:50:04 -0600500
501config MSM_IPC_ROUTER_MHI_XPRT
502 depends on MSM_MHI
503 depends on IPC_ROUTER
504 bool "MSM MHI XPRT Layer"
505 help
506 MHI Transport Layer that enables off-chip communication of
507 IPC Router. When the MHI endpoint becomes available, this layer
508 registers the transport with IPC Router and enable message
509 exchange.
Karthikeyan Ramasubramanian4f4074f2016-09-16 16:53:30 -0600510
511config MSM_IPC_ROUTER_GLINK_XPRT
512 depends on MSM_GLINK
513 depends on IPC_ROUTER
514 bool "MSM GLINK XPRT Layer"
515 help
516 GLINK Transport Layer that enables IPC Router communication within
517 a System-on-Chip(SoC). When the GLINK channels become available,
518 this layer registers a transport with IPC Router and enable
519 message exchange.
Karthikeyan Ramasubramanianfafd67f12016-09-16 17:15:13 -0600520
521config MSM_QMI_INTERFACE
522 depends on IPC_ROUTER
523 depends on QMI_ENCDEC
524 bool "MSM QMI Interface Library"
525 help
526 Library to send and receive QMI messages over IPC Router.
527 This library provides interface functions to the kernel drivers
528 to perform QMI message marshaling and transport them over IPC
529 Router.
Karthikeyan Ramasubramanian5d797a82016-09-16 17:56:18 -0600530
531config MSM_GLINK_PKT
532 bool "Enable device interface for GLINK packet channels"
533 depends on MSM_GLINK
534 help
535 G-link packet driver provides the interface for the userspace
536 clients to communicate over G-Link via device nodes.
537 This enable the userspace clients to read and write to
538 some glink packets channel.
Karthikeyan Ramasubramanian04e3f902016-09-19 09:24:36 -0600539
540config MSM_SYSTEM_HEALTH_MONITOR
541 bool "System Health Monitor"
542 depends on MSM_QMI_INTERFACE && MSM_SUBSYSTEM_RESTART
543 help
544 System Health Monitor (SHM) passively monitors the health of the
545 peripherals connected to the application processor. Software
546 components in the application processor that experience
547 communication failure can request the SHM to perform a system-wide
548 health check. If any failures are detected during the health-check,
549 then a subsystem restart will be triggered for the failed subsystem.
Kyle Yane45fa022016-08-29 11:40:26 -0700550
551config MSM_SUBSYSTEM_RESTART
552 bool "MSM Subsystem Restart"
553 help
554 This option enables the MSM subsystem restart framework.
555
556 The MSM subsystem restart framework provides support to boot,
557 shutdown, and restart subsystems with a reference counted API.
558 It also notifies userspace of transitions between these states via
559 sysfs.
560
Tingwei Zhang4fff60a2018-04-03 14:16:59 +0800561config MSM_SYSMON_COMM
562 bool "MSM System Monitor communication support"
563 depends on MSM_SMD && MSM_SUBSYSTEM_RESTART
564 help
565 This option adds support for MSM System Monitor library, which
566 provides an API that may be used for notifying subsystems within
567 the SoC about other subsystems' power-up/down state-changes.
568
Kyle Yane45fa022016-08-29 11:40:26 -0700569config MSM_PIL
570 bool "Peripheral image loading"
571 select FW_LOADER
572 default n
573 help
574 Some peripherals need to be loaded into memory before they can be
575 brought out of reset.
576
577 Say yes to support these devices.
578
579config MSM_SYSMON_GLINK_COMM
580 bool "MSM System Monitor communication support using GLINK transport"
581 depends on MSM_GLINK && MSM_SUBSYSTEM_RESTART
582 help
583 This option adds support for MSM System Monitor APIs using the GLINK
584 transport layer. The APIs provided may be used for notifying
585 subsystems within the SoC about other subsystems' power-up/down
586 state-changes.
587
588config MSM_PIL_SSR_GENERIC
589 tristate "MSM Subsystem Boot Support"
590 depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
591 help
592 Support for booting and shutting down MSM Subsystem processors.
593 This driver also monitors the SMSM status bits and the watchdog
594 interrupt for the subsystem and restarts it on a watchdog bite
595 or a fatal error. Subsystems include LPASS, Venus, VPU, WCNSS and
596 BCSS.
597
598config MSM_PIL_MSS_QDSP6V5
599 tristate "MSS QDSP6v5 (Hexagon) Boot Support"
600 depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
601 help
602 Support for booting and shutting down QDSP6v5 (Hexagon) processors
603 in modem subsystems. If you would like to make or receive phone
604 calls then say Y here.
605
606 If unsure, say N.
Yuanyuan Liu607051c2016-11-28 17:04:13 -0800607
608config ICNSS
609 tristate "Platform driver for Q6 integrated connectivity"
Yuanyuan Liu13e7cdf2017-06-13 11:48:00 -0700610 select CNSS_UTILS
Yuanyuan Liu607051c2016-11-28 17:04:13 -0800611 ---help---
612 This module adds support for Q6 integrated WLAN connectivity
613 subsystem. This module is responsible for communicating WLAN on/off
614 control messages to FW over QMI channel. It is also responsible for
615 handling WLAN PD restart notifications.
616
617config ICNSS_DEBUG
618 bool "ICNSS debug support"
619 depends on ICNSS
620 ---help---
621 Say 'Y' here to enable ICNSS driver debug support. Debug support
622 primarily consists of logs consisting of information related to
623 hardware register access and enabling BUG_ON for certain cases to aid
Mahesh Sivasubramaniancb649522016-08-19 14:04:44 -0600624 the debugging.
625
626config QCOM_COMMAND_DB
627 bool "Command DB"
628 help
629 Command DB queries shared memory by key string for shared system
630 resources
Banajit Goswamiaec1b462016-11-21 21:54:23 -0800631
Vijay Ganti10772c02017-05-05 11:47:40 -0700632config MSM_PERFORMANCE
633 tristate "msm performacne driver to support userspace hotplug requests"
634 default n
635 help
636 This driver is used to provide CPU hotplug support to userspace.
637 It ensures that no more than a user specified number of CPUs stay
638 online at any given point in time. This module can also restrict
639 max freq or min freq of cpu cluster
640
Sathish Ambley5a8b3102017-01-23 09:56:24 -0800641config MSM_CDSP_LOADER
642 tristate "CDSP loader support"
643 depends on MSM_GLINK
644 help
645 Enable CDSP image loader.
646 The CDSP loader brings CDSP out of reset
647 for platforms that have compute DSP.
648 Say M if you want to enable this module.
649
AnilKumar Chimata4cf128e2017-07-13 01:22:31 +0530650config QCOM_SMCINVOKE
651 bool "Secure QSEE Support"
652 help
653 Enable SMCInvoke driver which supports capability based secure
654 communication between QTI Secure Execution Environment (QSEE)
655 and high level operating system. It exposes APIs for both
656 userspace and kernel clients.
657
Mahesh Sivasubramanianc2ea76f2016-02-01 10:40:26 -0700658config MSM_EVENT_TIMER
659 bool "Event timer"
660 help
661 This option enables a modules that manages a list of event timers
662 that need to be monitored by the PM. The enables the PM code to
663 monitor events that require the core to be awake and ready to
664 handle the event.
665
Laxminath Kasam6c8b4732018-03-05 15:44:31 +0530666config MSM_AVTIMER
667 tristate "Avtimer Driver"
668 default n
669 help
670 This driver gets the Q6 out of power collapsed state
671 and exposes ioctl control to read avtimer tick.
672 Enables camera to use for VT call to get avtimer
673 timestamp.
674
Mahesh Sivasubramanianc2ea76f2016-02-01 10:40:26 -0700675config MSM_PM
676 depends on PM
677 select MSM_IDLE_STATS if DEBUG_FS
678 select CPU_IDLE_MULTIPLE_DRIVERS
679 bool "Qualcomm platform specific PM driver"
680 help
681 Platform specific power driver to manage cores and l2 low power
682 modes. It interface with various system driver and put the cores
683 into low power modes. It implements OS initiated scheme and
684 determines last CPU to call into PSCI for cluster Low power
685 modes.
686
Raja Mallikb9ad4522018-04-19 15:23:49 +0530687config MSM_PM_LEGACY
688 depends on PM
689 select MSM_IDLE_STATS if DEBUG_FS
690 select CPU_IDLE_MULTIPLE_DRIVERS
691 bool "Qualcomm platform specific Legacy PM driver"
692 help
693 Platform specific legacy power driver to manage
694 cores and l2 low power modes. It interface with
695 various system driver and put the cores into
696 low power modes.
697
Mahesh Sivasubramanianc2ea76f2016-02-01 10:40:26 -0700698config MSM_NOPM
699 default y if !PM
700 bool
701 help
702 This enables bare minimum support of power management at platform level.
703 i.e WFI
704
Abir Ghosh989d5e92016-10-09 11:47:28 +0300705config MSM_QBT1000
706 bool "QBT1000 Ultrasonic Fingerprint Sensor"
707 help
708 This driver provides services for configuring the fingerprint
709 sensor hardware and for communicating with the trusted app which
710 uses it. It enables clocks and provides commands for loading
711 trusted apps, unloading them and marshalling buffers to the
712 trusted fingerprint app.
713
Raja Mallikb9ad4522018-04-19 15:23:49 +0530714if (MSM_PM || MSM_PM_LEGACY)
Mahesh Sivasubramanianc2ea76f2016-02-01 10:40:26 -0700715menuconfig MSM_IDLE_STATS
716 bool "Collect idle statistics"
717 help
718 Collect cores various low power mode idle statistics
719 and export them in proc/msm_pm_stats. User can read
720 this data and determine what low power modes and how
721 many times cores have entered into LPM modes.
722
723if MSM_IDLE_STATS
724
725config MSM_IDLE_STATS_FIRST_BUCKET
726 int "First bucket time"
727 default 62500
728 help
729 Upper time limit in nanoseconds of first bucket.
730
731config MSM_IDLE_STATS_BUCKET_SHIFT
732 int "Bucket shift"
733 default 2
734
735config MSM_IDLE_STATS_BUCKET_COUNT
736 int "Bucket count"
737 default 10
738
739config MSM_SUSPEND_STATS_FIRST_BUCKET
740 int "First bucket time for suspend"
741 default 1000000000
742 help
743 Upper time limit in nanoseconds of first bucket of the
744 histogram. This is for collecting statistics on suspend.
745
746endif # MSM_IDLE_STATS
Raja Mallikb9ad4522018-04-19 15:23:49 +0530747endif # MSM_PM || MSM_PM_LEGACY
Satyajit Desai765e7ef2016-11-09 14:27:45 -0800748
749config QCOM_DCC_V2
Mukesh Ojhacdbf01c2017-12-04 17:46:09 +0530750 bool "Qualcomm Technologies Data Capture and Compare engine support for V2"
751 help
752 This option enables driver for Data Capture and Compare engine. DCC
753 driver provides interface to configure DCC block and read back
754 captured data from DCC's internal SRAM.
755
756config QCOM_DCC
757 bool "QCOM Data Capture and Compare engine support"
Satyajit Desai765e7ef2016-11-09 14:27:45 -0800758 help
759 This option enables driver for Data Capture and Compare engine. DCC
760 driver provides interface to configure DCC block and read back
761 captured data from DCC's internal SRAM.
Mahesh Sivasubramanian6d0cfea2016-04-12 14:46:05 -0600762
763config QTI_RPM_STATS_LOG
764 bool "Qualcomm Technologies RPM Stats Driver"
Mahesh Sivasubramanian7c9528f2017-05-30 11:02:59 -0600765 depends on SYSFS
Mahesh Sivasubramanian6d0cfea2016-04-12 14:46:05 -0600766 default n
767 help
768 This option enables a driver which reads RPM messages from a shared
769 memory location. These messages provide statistical information about
770 the low power modes that RPM enters. The drivers outputs the message
771 via a debugfs node.
Satyajit Desaia6dfbd62017-05-02 10:49:52 -0700772
773config QCOM_FORCE_WDOG_BITE_ON_PANIC
774 bool "QCOM force watchdog bite"
775 depends on QCOM_WATCHDOG_V2
776 help
777 This forces a watchdog bite when the device restarts due to a
778 kernel panic. On certain MSM SoCs, this provides us
779 additional debugging information.
Manoj Prabhu Bc0c03572017-04-24 18:16:50 +0530780
Mahesh Sivasubramaniana8b87902017-06-15 14:56:23 -0600781config QMP_DEBUGFS_CLIENT
782 bool "Debugfs Client to communicate with AOP using QMP protocol"
783 depends on DEBUG_FS
784 default n
785 help
786 This options enables a driver which allows clients to send messages
787 to Alway On processor using QMP transport.
788
Manoj Prabhu Bc0c03572017-04-24 18:16:50 +0530789source "drivers/soc/qcom/memshare/Kconfig"
Chris Lewd2f6d512017-05-17 11:40:13 -0700790
Satyajit Desaid57f0e22017-08-15 12:53:00 -0700791config MSM_REMOTEQDSS
792 bool "Allow debug tools to enable events on other processors"
793 depends on QCOM_SCM && DEBUG_FS
794 help
795 Other onchip processors/execution environments may support debug
796 events. Provide a sysfs interface for debug tools to dynamically
797 enable/disable these events. Interface located in
798 /sys/class/remoteqdss.
799
Chris Lewd2f6d512017-05-17 11:40:13 -0700800config QSEE_IPC_IRQ_BRIDGE
801 tristate "QSEE IPC Interrupt Bridge"
802 help
803 This module enables bridging an Inter-Processor Communication(IPC)
804 interrupt from a remote subsystem directed towards Qualcomm
805 Technologies, Inc. Secure Execution Environment(QSEE).
Satyajit Desai66b6c452017-06-27 17:10:46 -0700806
807config MSM_JTAGV8
808 bool "Debug and ETM trace support across power collapse for ARMv8"
809 default y if CORESIGHT_SOURCE_ETM4X
810 help
811 Enables support for debugging (specifically breakpoints) and ETM
812 processor tracing across power collapse both for JTag and OS hosted
813 software running on ARMv8 target. Enabling this will ensure debug
814 and ETM registers are saved and restored across power collapse.
815 If unsure, say 'N' here to avoid potential power, performance and
816 memory penalty.
Satyajit Desaifa04d092017-10-30 15:19:15 -0700817
818config QCOM_QDSS_BRIDGE
819 bool "Configure bridge driver for QTI/Qualcomm Technologies, Inc. MDM"
820 depends on MSM_MHI
821 help
822 The driver will help route diag traffic from modem side over the QDSS
823 sub-system to USB on APSS side. The driver acts as a bridge between the
Linux Build Service Accountde467c02017-11-28 06:04:05 -0800824 MHI and USB interface. If unsure, say N.
Anurag Chouhana53cf212017-12-22 13:24:39 +0530825
Arun Kumar Neelakantamfc66de82017-11-15 20:33:40 +0530826config MSM_BAM_DMUX
827 bool "BAM Data Mux Driver"
828 depends on SPS
829 help
830 Support Muxed Data Channels over BAM interface.
831 BAM has a limited number of pipes. This driver
832 provides a means to support more logical channels
833 via muxing than BAM could without muxing.
834
Ramesh Yadav Javadi43ff8772018-04-06 13:13:53 +0530835 config MSM_GLINK_BGCOM_XPRT
836 depends on MSM_GLINK
837 depends on MSM_BGCOM
838 tristate "Generic Link (G-Link) BGCOM Transport"
839 help
840 G-Link BGCOM Transport is a Transport plug-in developed over BGCOM.
841 This transport plug-in performs marshaling of G-Link
842 commands & data to the appropriate BGCOM format and
843 allows for G-Link communication with remote subsystems that are
844 external to the System-on-Chip.
845
846 config MSM_BGCOM_INTERFACE
847 bool "Driver support for Blackghost Communication"
848 depends on MSM_BGCOM
849 help
850 Create a bg_com_dev device node for user space communication.
851 Single user space client can open device node for communication
852 from hardware. Hardware will provide access to read
853 registers and read/write AHB memory in the device.
854
855 config MSM_BGRSB
856 bool "Provide support for rsb events on Blackghost chipset"
857 depends on MSM_GLINK
858 help
859 BGRSB communicates to BG over Glink for RSB configuration and
860 enable/disable on device power state change. It enables/disables
861 the regulator specific to RSB. Sends the side band events generated
862 by BG to input framework.
863
864 config MSM_PIL_SSR_BG
865 tristate "MSM Subsystem Blackghost(BG) Support"
866 depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
867 help
868 Support for booting and shutting down Blackghost(BG) SOC which is
869 an external SOC. This driver communicates with Blackghost(BG) SOC
870 via pair of IPC GPIOs for inward and outward signals between MSM
871 and Blackghost(BG) SOC.
872
873 config MSM_BGCOM
874 bool "Provide APIs to communicate with Blackghost chipset"
875 help
876 BGCOM is a thin layer above SPI. It is used whithin a SoC for
877 communication between G-Link/bg_com_dev and BG processor over SPI.
878 This handle the interrupts raised by BG and notify the G-link with
879 interrupt event and event data.
880
Anurag Chouhana53cf212017-12-22 13:24:39 +0530881source "drivers/soc/qcom/wcnss/Kconfig"
Ramakrishna Gottimukkula3bc9ec22018-04-11 00:53:24 +0530882
883config BIG_CLUSTER_MIN_FREQ_ADJUST
884 bool "Adjust BIG cluster min frequency based on power collapse state"
885 default n
886 help
887 This driver is used to set the floor of the min frequency of big cluster
888 to the user specified value when the cluster is not power collapsed. When
889 the cluster is power collpsed it resets the value to physical limits.