Kconfig 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # QCOM Soc drivers
  4. #
  5. menu "Qualcomm SoC drivers"
  6. config SPS
  7. tristate "SPS support"
  8. select GENERIC_ALLOCATOR
  9. help
  10. The SPS (Smart Peripheral Switch) is a DMA engine.
  11. It can move data in the following modes:
  12. 1. Peripheral-to-Peripheral.
  13. 2. Peripheral-to-Memory.
  14. 3. Memory-to-Memory.
  15. config SPS_SUPPORT_BAMDMA
  16. bool "SPS supports BAM DMA"
  17. depends on SPS
  18. help
  19. The BAM-DMA is used for Memory-to-Memory transfers.
  20. The main use cases is RPC between processors.
  21. The BAM-DMA hardware has 2 registers sets:
  22. 1. A BAM HW like all the peripherals.
  23. 2. A DMA channel configuration (i.e. channel priority).
  24. config SPS_SUPPORT_NDP_BAM
  25. bool "SPS supports NDP BAM"
  26. depends on SPS
  27. help
  28. No-Data-Path BAM is used to improve BAM performance.
  29. NDP BAMs enables peripherals with fast fabric connectivity
  30. to do the actual data transfer themselves, instead of the
  31. BAM.
  32. config QCOM_AOSS_QMP
  33. tristate "Qualcomm AOSS Driver"
  34. depends on ARCH_QCOM || COMPILE_TEST
  35. depends on MAILBOX
  36. depends on COMMON_CLK && PM
  37. select PM_GENERIC_DOMAINS
  38. help
  39. This driver provides the means of communicating with and controlling
  40. the low-power state for resources related to the remoteproc
  41. subsystems as well as controlling the debug clocks exposed by the Always On
  42. Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP).
  43. config QCOM_COMMAND_DB
  44. tristate "Qualcomm Command DB"
  45. depends on ARCH_QCOM || COMPILE_TEST
  46. depends on OF_RESERVED_MEM
  47. help
  48. Command DB queries shared memory by key string for shared system
  49. resources. Platform drivers that require to set state of a shared
  50. resource on a RPM-hardened platform must use this database to get
  51. SoC specific identifier and information for the shared resources.
  52. config QCOM_CPR
  53. tristate "QCOM Core Power Reduction (CPR) support"
  54. depends on ARCH_QCOM && HAS_IOMEM
  55. select PM_OPP
  56. select REGMAP
  57. help
  58. Say Y here to enable support for the CPR hardware found on Qualcomm
  59. SoCs like QCS404.
  60. This driver populates CPU OPPs tables and makes adjustments to the
  61. tables based on feedback from the CPR hardware. If you want to do
  62. CPUfrequency scaling say Y here.
  63. To compile this driver as a module, choose M here: the module will
  64. be called qcom-cpr
  65. config QCOM_CPUSS_SLEEP_STATS
  66. tristate "Qualcomm Technologies, Inc. (QTI) CPUSS sleep stats driver"
  67. depends on DEBUG_FS
  68. help
  69. Qualcomm Technologies, Inc. (QTI) CPUSS sleep stats driver to get
  70. hardware LPM counts and residency for particular core/cluster
  71. low power modes. This driver creates debugfs entry which provide
  72. provision to read those counters.
  73. config SHOW_SUSPEND_EPOCH
  74. tristate "Show epoch values in suspend resume cycles"
  75. depends on ARCH_QCOM
  76. help
  77. Show epoch values when device enter and exit out of suspend
  78. and resume. These epoch values are useful to know how long
  79. the device is in suspend state. These values can be used to
  80. synchronize various subsystem timestamps and have an unique
  81. timestamp to correlate between various subsystems.
  82. config QCOM_CRM
  83. tristate "Qualcomm Technologies, Inc. (QTI) CRM driver"
  84. depends on QCOM_RPMH && (ARCH_QCOM || COMPILE_TEST)
  85. help
  86. Support for communication with the hardened-CRM blocks in
  87. Qualcomm Technologies, Inc. (QTI) SoCs. CRM provides interface to
  88. vote desired power state of resources local to a subsystem. A set
  89. of hardware components aggregate requests for these resources and
  90. help apply the aggregated power state on the resource.
  91. config QCOM_DCC_V2
  92. tristate "Qualcomm Technologies Data Capture and Compare enigne support for V2"
  93. help
  94. This option enables driver for Data Capture and Compare engine. DCC
  95. driver provides interface to configure DCC block and read back
  96. captured data from DCC's internal SRAM.
  97. config QCOM_GENI_SE
  98. tristate "QCOM GENI Serial Engine Driver"
  99. depends on ARCH_QCOM || COMPILE_TEST
  100. help
  101. This driver is used to manage Generic Interface (GENI) firmware based
  102. Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
  103. driver is also used to manage the common aspects of multiple Serial
  104. Engines present in the QUP.
  105. config QCOM_GSBI
  106. tristate "QCOM General Serial Bus Interface"
  107. depends on ARCH_QCOM || COMPILE_TEST
  108. select MFD_SYSCON
  109. help
  110. Say y here to enable GSBI support. The GSBI provides control
  111. functions for connecting the underlying serial UART, SPI, and I2C
  112. devices to the output pins.
  113. config QCOM_CPUCP
  114. tristate "Qualcomm Technologies, Inc. CPUCP driver"
  115. depends on MAILBOX
  116. help
  117. Qualcomm Technologies, Inc. CPUCP driver for MSM devices. This driver
  118. acts as a mailbox controller to do doorbell between APSS and CPUCP
  119. subsystem. Say yes here to enable rx and tx channel between both
  120. the subsystems.
  121. If unsure, say n.
  122. config QTI_CPUCP_LOG
  123. tristate "Qualcomm Technologies Inc. HW CPUCP Logging"
  124. depends on QCOM_CPUCP
  125. default n
  126. help
  127. CPUCP logging driver, this driver has the infra to collect logs
  128. generated in CPUCP HW and log the buffers.
  129. This driver register with IPC_Logging framework, to have dedicated
  130. buffer for cpucp hw device.
  131. config QCOM_TLMM_VM_IRQCHIP
  132. tristate "Qualcomm Technologies, Inc. TLMM VM irqchip driver"
  133. help
  134. Qualcomm Technologies, Inc. TLMM VM irqchip driver for MSM devices. The
  135. driver acts as a parent interrupt controller for tlmm driver for VMs.
  136. Say Y here to compile the driver as a part of kernel or M to compile
  137. as a module.
  138. config GIC_INTERRUPT_ROUTING
  139. tristate "GIC Interrupt Routing driver"
  140. depends on ARM_GIC_V3
  141. help
  142. GIC interrupt routing driver.
  143. The driver manages interrupt routing for shared peripheral interrupts.
  144. Say Y here to compile the driver as a part of kernel or M to compile
  145. as a module.
  146. config QCOM_LLCC
  147. tristate "Qualcomm Technologies, Inc. LLCC driver"
  148. depends on ARCH_QCOM || COMPILE_TEST
  149. select REGMAP_MMIO
  150. help
  151. Qualcomm Technologies, Inc. platform specific
  152. Last Level Cache Controller(LLCC) driver for platforms such as,
  153. SDM845. This provides interfaces to clients that use the LLCC.
  154. Say yes here to enable LLCC slice driver.
  155. config QCOM_KRYO_L2_ACCESSORS
  156. bool
  157. depends on ARCH_QCOM && ARM64 || COMPILE_TEST
  158. config QCOM_LLCC_PERFMON
  159. tristate "Qualcomm Technologies, Inc. LLCC Perfmon driver"
  160. depends on QCOM_LLCC
  161. help
  162. This option enables driver for LLCC Performance monitor block. Using
  163. this various events in different LLCC sub ports can be monitored.
  164. This is used for performance and debug activity and exports sysfs
  165. interface. sysfs interface is used to configure and dump the LLCC
  166. performance events.
  167. config QCOM_MDT_LOADER
  168. tristate
  169. select QCOM_SCM
  170. config MSM_RPM_SMD_DEBUG
  171. tristate "RPM SMD debug driver"
  172. depends on DEBUG_FS && MSM_RPM_SMD
  173. help
  174. This driver provides the debugfs node interface to the user so that
  175. user can directly writes the required votes (active, sleep and wake)
  176. in to this interface then this driver sends the respective votes to
  177. RPM so that RPM apply these votes to corresponding resources.
  178. config QCOM_OCMEM
  179. tristate "Qualcomm On Chip Memory (OCMEM) driver"
  180. depends on ARCH_QCOM
  181. select QCOM_SCM
  182. help
  183. The On Chip Memory (OCMEM) allocator allows various clients to
  184. allocate memory from OCMEM based on performance, latency and power
  185. requirements. This is typically used by the GPU, camera/video, and
  186. audio components on some Snapdragon SoCs.
  187. config QCOM_PCIE_PDC
  188. tristate "Qualcomm Technologies, Inc. (QTI) PCIe PDC driver"
  189. depends on QCOM_CRM && (ARCH_QCOM || COMPILE_TEST)
  190. help
  191. Support for enabling PCIe PDC interrupts in Qualcomm Technologies, Inc.
  192. (QTI) SoCs. PCIe PDC driver provides interfaces to configure PDC interrupt
  193. type and enable or disable them so that during system sleep can exit without
  194. involving CPU subsystem.
  195. config QCOM_PDR_HELPERS
  196. tristate "Qualcomm Technologies, Inc. Protection Domain Restart(PDR) driver"
  197. select QCOM_QMI_HELPERS
  198. help
  199. Qualcomm Technologies, Inc. SoCs allow for multiple protection domains (PDs)
  200. to run on the same Q6 sub-system. This allows for services
  201. like AVS AUDIO to have their own separate address space and
  202. crash/recover without disrupting the other PDs running on
  203. the same Q6 ADSP.
  204. config IPA3
  205. tristate "IPA3 support"
  206. depends on NET
  207. help
  208. This framework supports the Internet Packet Accelerator (IPA3) core.
  209. IPA is a programmable protocol processor HW block.
  210. It is designed to support generic HW processing of UL/DL IP packets
  211. for various use cases independent of radio technology.
  212. The driver support client connection and configuration
  213. for the IPA core.
  214. Kernel and user-space processes can call the IPA driver
  215. to configure IPA core.
  216. config QCOM_PANIC_ON_PDR_NOTIF_TIMEOUT
  217. bool "Trigger kernel panic when PDR notification timeout expires"
  218. help
  219. This is a debug feature where a kernel panic is triggered when
  220. pdr notification to the APPS client is taking too long. This scneario
  221. can happen if the one of notifier gets stuck and due to which subsystem
  222. did not get ack back from APPS in time and trigger timeout panic.
  223. So, trigger a kernel panic in APPS if PDR notifications is taking
  224. too long.
  225. config PDR_INDICATION_NOTIF_TIMEOUT
  226. int "Pdr notifications timeout in ms"
  227. default 3000
  228. help
  229. The amount of time, in milliseconds, that should elapse between
  230. the start and end of notifications, before a warning
  231. is emitted.
  232. config QCOM_QMI_HELPERS
  233. tristate
  234. depends on NET
  235. source "drivers/soc/qcom/memshare/Kconfig"
  236. source "drivers/soc/qcom/hab/Kconfig"
  237. source "drivers/soc/qcom/hgsl/Kconfig"
  238. config QCOM_RMTFS_MEM
  239. tristate "Qualcomm Remote Filesystem memory driver"
  240. depends on ARCH_QCOM
  241. select QCOM_SCM
  242. help
  243. The Qualcomm remote filesystem memory driver is used for allocating
  244. and exposing regions of shared memory with remote processors for the
  245. purpose of exchanging sector-data between the remote filesystem
  246. service and its clients.
  247. Say y here if you intend to boot the modem remoteproc.
  248. config QCOM_QFPROM_SYS
  249. tristate "Qualcomm Technologies, Inc. QFPROM_SYS driver "
  250. depends on NVMEM_QCOM_QFPROM
  251. help
  252. Qualcomm Technologies, Inc. QFPROM_SYS driver. The QFPROM SYS driver
  253. provides access to the child nodes of QFPROM to user space. The cell
  254. values are exported as sysfs entries.
  255. Say y here to enable QFPROM SYS support.
  256. config MSM_CORE_HANG_DETECT
  257. tristate "MSM Core Hang Detection Support"
  258. help
  259. This enables the core hang detection module. It causes SoC
  260. reset on core hang detection and collects the core context
  261. for hang. By using sysfs entries core hang detection can be
  262. enabled or disabled dynamically.
  263. config QCOM_RPMH
  264. tristate "Qualcomm RPM-Hardened (RPMH) Communication"
  265. depends on ARCH_QCOM || COMPILE_TEST
  266. depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
  267. help
  268. Support for communication with the hardened-RPM blocks in
  269. Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
  270. internal bus to transmit state requests for shared resources. A set
  271. of hardware components aggregate requests for these resources and
  272. help apply the aggregated state on the resource.
  273. config QCOM_RPMHPD
  274. tristate "Qualcomm RPMh Power domain driver"
  275. depends on QCOM_RPMH && QCOM_COMMAND_DB
  276. help
  277. QCOM RPMh Power domain driver to support power-domains with
  278. performance states. The driver communicates a performance state
  279. value to RPMh which then translates it into corresponding voltage
  280. for the voltage rail.
  281. config QCOM_RPMPD
  282. tristate "Qualcomm RPM Power domain driver"
  283. depends on PM && OF
  284. depends on QCOM_SMD_RPM
  285. select PM_GENERIC_DOMAINS
  286. select PM_GENERIC_DOMAINS_OF
  287. help
  288. QCOM RPM Power domain driver to support power-domains with
  289. performance states. The driver communicates a performance state
  290. value to RPM which then translates it into corresponding voltage
  291. for the voltage rail.
  292. config QCOM_RUN_QUEUE_STATS
  293. tristate "Enable collection and exporting of QTI Run Queue stats to userspace"
  294. help
  295. This option enables the driver to periodically collecting the statistics
  296. of kernel run queue information and calculate the load of the system.
  297. This information is exported to usespace via sysfs entries and userspace
  298. algorithms uses info and decide when to turn on/off the cpu cores.
  299. config QCOM_SMEM
  300. tristate "Qualcomm Shared Memory Manager (SMEM)"
  301. depends on ARCH_QCOM || COMPILE_TEST
  302. depends on HWSPINLOCK
  303. help
  304. Say y here to enable support for the Qualcomm Shared Memory Manager.
  305. The driver provides an interface to items in a heap shared among all
  306. processors in a Qualcomm platform.
  307. config QCOM_SMD_RPM
  308. tristate "Qualcomm Resource Power Manager (RPM) over SMD"
  309. depends on ARCH_QCOM || COMPILE_TEST
  310. depends on RPMSG
  311. help
  312. If you say yes to this option, support will be included for the
  313. Resource Power Manager system found in the Qualcomm 8974 based
  314. devices.
  315. This is required to access many regulators, clocks and bus
  316. frequencies controlled by the RPM on these devices.
  317. Say M here if you want to include support for the Qualcomm RPM as a
  318. module. This will build a module called "qcom-smd-rpm".
  319. config QCOM_MEMORY_DUMP_V2
  320. tristate "QCOM Memory Dump V2 Support"
  321. help
  322. This enables memory dump feature. It allows various client
  323. subsystems to register respective dump regions. At the time
  324. of deadlocks or cpu hangs these dump regions are captured to
  325. give a snapshot of the system at the time of the crash.
  326. config QCOM_SMEM_STATE
  327. bool
  328. config QCOM_SMP2P
  329. tristate "Qualcomm Shared Memory Point to Point support"
  330. depends on MAILBOX
  331. depends on QCOM_SMEM
  332. select QCOM_SMEM_STATE
  333. select IRQ_DOMAIN
  334. help
  335. Say yes here to support the Qualcomm Shared Memory Point to Point
  336. protocol.
  337. config QCOM_SMSM
  338. tristate "Qualcomm Shared Memory State Machine"
  339. depends on QCOM_SMEM
  340. select QCOM_SMEM_STATE
  341. select IRQ_DOMAIN
  342. help
  343. Say yes here to support the Qualcomm Shared Memory State Machine.
  344. The state machine is represented by bits in shared memory.
  345. config QCOM_SMP2P_SLEEPSTATE
  346. tristate "SMP2P Sleepstate notifier"
  347. depends on QCOM_SMP2P
  348. help
  349. When this option is enabled, notifications are sent to remote procs
  350. for the power state changes on the local processor. The notifications
  351. are sent through the smp2p framework. This driver can also receive
  352. notifications from the remote to prevent suspend on the local
  353. processor.
  354. config QSEE_IPC_IRQ_BRIDGE
  355. tristate "QSEE IPC Interrupt Bridge"
  356. help
  357. This module enables bridging an Inter-Processor Communication(IPC)
  358. interrupt from a remote subsystem directed towards
  359. Qualcomm Technologies, Inc. Secure Execution Environment(QSEE) to
  360. userspace. The interrupt will be propagated through a character device
  361. that userspace clients can poll on.
  362. config QCOM_GLINK
  363. tristate "GLINK Probe Helper"
  364. depends on RPMSG_QCOM_GLINK_SMEM
  365. help
  366. This enables the GLINK Probe module. This is designed to set up
  367. other edges in the system. It will initialize all the transports for
  368. all the edges present in the device.
  369. Say M if you want to enable this module.
  370. config QTI_PMIC_GLINK
  371. tristate "Enable support for PMIC GLINK"
  372. depends on RPMSG
  373. select QCOM_RPROC_COMMON
  374. select QCOM_PDR_HELPERS
  375. help
  376. The PMIC Glink driver provides the interface for clients to
  377. communicate over GLink for sending and receiving data to charger
  378. firmware that runs on a remote subsystem like DSP which supports
  379. charging and gauging.
  380. This enables clients to read and write battery charging parameters.
  381. config QTI_PMIC_GLINK_CLIENT_DEBUG
  382. depends on QTI_PMIC_GLINK && DEBUG_FS
  383. bool "Enable debugfs features in PMIC GLINK client drivers"
  384. help
  385. This option enables the generation of debugfs files in PMIC GLINK
  386. client drivers that are strictly meant for internal debugging only.
  387. Writing to these debug files changes key physical parameters of a
  388. system, which may lead to instability. Therefore, this option should
  389. never be enabled on production devices.
  390. config QTI_BATTERY_GLINK_DEBUG
  391. tristate "Enable support for QTI battery glink debug driver"
  392. depends on QTI_PMIC_GLINK
  393. help
  394. Qualcomm Technologies, Inc. battery glink debug driver helps to
  395. obtain debug information for battery charging and gauging over PMIC
  396. Glink from charger and gauging firmware running on a remote subsystem
  397. (e.g. DSP).
  398. config QTI_CHARGER_ULOG_GLINK
  399. tristate "Enable support for QTI charger ulog glink driver"
  400. depends on QTI_PMIC_GLINK && DEBUG_FS
  401. help
  402. Qualcomm Technologies, Inc. charger ulog glink driver helps to
  403. obtain ulogs from battery charging and gauging stack over PMIC
  404. Glink from the charger firmware running on a remote subsystem
  405. (e.g. DSP).
  406. config QTI_ALTMODE_GLINK
  407. tristate "Type-C alternate mode over GLINK"
  408. depends on QTI_PMIC_GLINK
  409. help
  410. The Qualcomm Technologies, Inc. Type-C alternate mode driver provides
  411. an interface for Type-C alternate mode clients to receive data such
  412. as Pin Assignment Notifications from the Type-C stack running on a
  413. remote subsystem (e.g. DSP) via the PMIC GLINK interface.
  414. config QTI_PMIC_GLINK_DEBUG
  415. tristate "QTI PMIC Glink Debug Device"
  416. depends on QTI_PMIC_GLINK
  417. help
  418. The Qualcomm Technologies, Inc. PMIC Glink debug device driver
  419. provides an interface to read and write PMIC registers over PMIC
  420. Glink using a remote subsytem (e.g. DSP). This allows for debugging
  421. PMIC peripherals that would typically only be accessible to the
  422. charger and fuel gauging firmware running on the remote subsystem.
  423. The PMIC peripherals' bus access can be either SPMI or I2C.
  424. config QCOM_SECURE_BUFFER
  425. tristate "Helper functions for secure buffers through TZ"
  426. depends on QCOM_SCM
  427. help
  428. Enable for targets that need to call into TZ to secure
  429. memory buffers. This ensures that only the correct clients can
  430. use this memory and no unauthorized access is made to the
  431. buffer.
  432. config QCOM_MEM_HOOKS
  433. tristate "Memory trace hook callbacks"
  434. help
  435. A helper driver for loading various memory-related vendor
  436. hooks, which are used to control the behavior of the core.
  437. If unsure, say 'M' here to ensure that the hooks are compiled
  438. in.
  439. config QCOM_BALANCE_ANON_FILE_RECLAIM
  440. bool "During reclaim treat anon and file backed pages equally"
  441. depends on SWAP
  442. help
  443. When performing memory reclaim treat anonymous and file backed pages
  444. equally.
  445. Swapping anonymous pages out to memory can be efficient enough to justify
  446. treating anonymous and file backed pages equally.
  447. config HYP_ASSIGN_DEBUG
  448. bool "Enable caller tracking for hyp-assign"
  449. depends on QCOM_SECURE_BUFFER
  450. help
  451. Track all pages which are in the hyp-assigned state. Enable
  452. additional error checking on hyp-assign based on this state.
  453. Detects double-assign and double-unassign scenarios.
  454. If unsure, say 'N' here.
  455. config QTI_SYS_PM_VX
  456. tristate "Qualcomm Technologies, Inc. (QTI) System PM Violators driver"
  457. depends on QCOM_AOSS_QMP
  458. help
  459. This option enables debug subystems that prevent system low power
  460. modes. The user sends a QMP message to AOP to record subsystems
  461. preventing deeper system low power modes. The data is stored in the
  462. MSGRAM by AOP and read and reported in the debugfs by this driver.
  463. config QCOM_SOCINFO
  464. tristate "Qualcomm socinfo driver"
  465. depends on QCOM_SMEM
  466. select SOC_BUS
  467. help
  468. Say yes here to support the Qualcomm socinfo driver, providing
  469. information about the SoC to user space.
  470. config QCOM_SOCINFO_DT
  471. tristate "Qualcomm Technologies, Inc. DT based socinfo driver"
  472. select SOC_BUS
  473. help
  474. Say yes here to support the Qualcomm Technologies, Inc. device tree
  475. based socinfo driver, providing information about the SoC to
  476. user space. The driver gets the soc information from device tree.
  477. If unsure, say no.
  478. config QCOM_SPM
  479. tristate "Qualcomm Subsystem Power Manager (SPM)"
  480. depends on ARCH_QCOM || COMPILE_TEST
  481. select QCOM_SCM
  482. help
  483. Enable the support for the Qualcomm Subsystem Power Manager, used
  484. to manage cores, L2 low power modes and to configure the internal
  485. Adaptive Voltage Scaler parameters, where supported.
  486. config QCOM_STATS
  487. tristate "Qualcomm Technologies, Inc. (QTI) Sleep stats driver"
  488. depends on ARCH_QCOM || COMPILE_TEST
  489. depends on QCOM_SMEM
  490. help
  491. Qualcomm Technologies, Inc. (QTI) Sleep stats driver to read
  492. the shared memory exported by the remote processor related to
  493. various SoC level low power modes statistics and export to debugfs
  494. interface.
  495. config QTI_RPM_STATS_LOG
  496. tristate "Qualcomm Technologies, Inc. (QTI) RPM Stats Driver"
  497. help
  498. This option enables a driver which reads RPM messages from a shared
  499. memory location. These messages provide statistical information about
  500. the low power modes that subsystem enters. The drivers outputs the
  501. message via a debugfs node.
  502. config MINIDUMP_ALL_TASK_INFO
  503. bool "Minidump All task info"
  504. depends on QCOM_MINIDUMP
  505. help
  506. Minidump runqueue dump only collect running task
  507. info by default, this enables all task info
  508. collection during panic. This can provide more
  509. debug info.
  510. source "drivers/soc/qcom/dcvs/Kconfig"
  511. config QCOM_LOGBUF_VENDOR_HOOKS
  512. tristate "QTI Logbuf Vendor Hooks Support"
  513. depends on ARCH_QCOM
  514. help
  515. This enables to dump kernel log_buf through
  516. minidump. It can help in debugging issues
  517. which are manifestation of failure during
  518. device running.
  519. config QCOM_LOGBUF_BOOTLOG
  520. tristate "QTI Boot Log Support"
  521. depends on ARCH_QCOM
  522. help
  523. This enables to keep copy of initial log_buf
  524. of minimum 512KB from bootup. It can help in
  525. debugging issues which are manifestation
  526. of failure during initial bootup.
  527. config QCOM_WDT_CORE
  528. tristate "Qualcomm Technologies, Inc. Watchdog Support"
  529. depends on ARCH_QCOM
  530. help
  531. This enables the watchdog framework for Qualcomm Technologies, Inc.
  532. devices. It causes a kernel panic if the watchdog times out. It allows
  533. for the detection of cpu hangs and deadlocks. It does not run during the
  534. bootup process, so it will not catch any early lockups. Enabling this
  535. only enables the framework, an individual Qualcomm Technologies, Inc.
  536. watchdog module must be loaded along with this for watchdog
  537. functionality.
  538. config QCOM_SOC_WATCHDOG
  539. tristate "Qualcomm Technologies, Inc. Soc Watchdog"
  540. depends on QCOM_WDT_CORE
  541. help
  542. This enables the Qualcomm Technologies, Inc. watchdog module for the
  543. Soc. It provides an interface to perform watchdog actions such as
  544. setting the bark/bite time and also petting the hardware watchdog. To
  545. utilize this the Qualcomm Technologies, Inc. watchdog framework must
  546. also be enabled.
  547. config QCOM_IRQ_STAT
  548. bool "QCOM IRQ stats"
  549. default y
  550. depends on QCOM_WDT_CORE && ANDROID_VENDOR_OEM_DATA
  551. help
  552. This give irq stats for top hitter at
  553. watchdog bark and kernel panics.
  554. This provides additional debug information
  555. for irq counts.
  556. config QCOM_FORCE_WDOG_BITE_ON_PANIC
  557. bool "QCOM force watchdog bite on panic"
  558. depends on QCOM_WDT_CORE
  559. help
  560. This forces a watchdog bite when the device restarts
  561. due to a kernel panic. On certain MSM SoCs,
  562. this provides additional debugging
  563. information.
  564. config QCOM_WDOG_BITE_EARLY_PANIC
  565. bool "QCOM early panic watchdog bite"
  566. depends on QCOM_WDT_CORE && QCOM_FORCE_WDOG_BITE_ON_PANIC
  567. help
  568. This forces a watchdog bite early in panic sequence. On certain
  569. MSM SoCs, this provides us additional debugging information at the
  570. context of the crash. If this option is disabled, then bite occurs
  571. later in panic, which permits more of the restart sequence to run
  572. (e.g. more dmesg to flushed to console).
  573. config QCOM_WATCHDOG_BARK_TIME
  574. depends on QCOM_WDT_CORE
  575. int "Qualcomm Technologies, Inc. Watchdog bark time in ms"
  576. default 11000
  577. range 11000 11000
  578. help
  579. The amount of time, in milliseconds, that should elapse after
  580. a watchdog timer reset before a bark interrupt is sent from the
  581. watchdog.
  582. config QCOM_WATCHDOG_PET_TIME
  583. depends on QCOM_WDT_CORE
  584. int "Qualcomm Technologies, Inc. Watchdog pet time in ms"
  585. default 9360
  586. range 9360 9360
  587. help
  588. The amount of time, in milliseconds, that should elapse before
  589. a watchdog pet is initiated to reset the watchdog timer to 0.
  590. config QCOM_WATCHDOG_IPI_PING
  591. depends on QCOM_WDT_CORE
  592. bool "Qualcomm Technologies, Inc. Watchdog ipi ping"
  593. default y
  594. help
  595. This boolean flag gives the watchdog driver the ability to send a
  596. keep-alive ping to other cpu's if it is set to 1. Otherwise, when
  597. it is set to 0 no keep alive pings will be sent.
  598. config QCOM_WATCHDOG_WAKEUP_ENABLE
  599. depends on QCOM_WDT_CORE
  600. bool "Qualcomm Technologies, Inc. Watchdog wakeup enable"
  601. default y
  602. help
  603. This boolean flag allows the non secure watchdog counter to freeze
  604. and unfreeze automatically across the system suspend and resume
  605. path.
  606. config QCOM_WATCHDOG_USERSPACE_PET
  607. depends on QCOM_WDT_CORE
  608. bool "Qualcomm Technologies, Inc. Watchdog user pet enable"
  609. default n
  610. help
  611. This boolean flag allows enabling the userspace-watchdog feature.
  612. This feature requires userspace to pet the watchdog every in an
  613. interval that matches the time set in the pet-time config.
  614. The feature is supported through device sysfs files.
  615. config QCOM_WCNSS_CTRL
  616. tristate "Qualcomm WCNSS control driver"
  617. depends on ARCH_QCOM || COMPILE_TEST
  618. depends on RPMSG
  619. help
  620. Client driver for the WCNSS_CTRL SMD channel, used to download nv
  621. firmware to a newly booted WCNSS chip.
  622. config QCOM_APR
  623. tristate "Qualcomm APR/GPR Bus (Asynchronous/Generic Packet Router)"
  624. depends on ARCH_QCOM || COMPILE_TEST
  625. depends on RPMSG
  626. depends on NET
  627. select QCOM_PDR_HELPERS
  628. help
  629. Enable APR IPC protocol support between
  630. application processor and QDSP6. APR is
  631. used by audio driver to configure QDSP6
  632. ASM, ADM and AFE modules.
  633. config QCOM_EUD
  634. tristate "QTI Embedded USB Debugger (EUD)"
  635. depends on ARCH_QCOM
  636. select SERIAL_CORE
  637. help
  638. The EUD (Embedded USB Debugger) is a mini-USB hub implemented
  639. on chip to support the USB-based debug and trace capabilities.
  640. This module enables support for Qualcomm Technologies, Inc.
  641. Embedded USB Debugger (EUD).
  642. If unsure, say N.
  643. config QPNP_PBS
  644. tristate "PBS trigger support for QPNP PMIC"
  645. depends on SPMI
  646. help
  647. This driver supports configuring software PBS trigger event through PBS
  648. RAM on Qualcomm Technologies, Inc. QPNP PMICs. This module provides
  649. the APIs to the client drivers that wants to send the PBS trigger
  650. event to the PBS RAM.
  651. config QTI_PMIC_PON_LOG
  652. tristate "PMIC PON log parser driver"
  653. help
  654. The PMIC PON log driver parses PMIC power-on, power-off, and fault
  655. information out of a binary log stored in the SDAM memory found on
  656. some Qualcomm Technologies, Inc. PMIC devices. This driver is useful
  657. when debugging unexpected power-off scenarios.
  658. config MSM_BOOT_STATS
  659. tristate "Use MSM boot stats reporting"
  660. help
  661. Use this to report msm boot stats such as bootloader throughput,
  662. display init, total boot time.
  663. This figures are reported in mpm sleep clock cycles and have a
  664. resolution of 31 bits as 1 bit is used as an overflow check.
  665. choice
  666. prompt "Perform Action on spinlock bug"
  667. depends on DEBUG_SPINLOCK && QCOM_CPU_VENDOR_HOOKS
  668. default DEBUG_SPINLOCK_BITE_ON_BUG
  669. config DEBUG_SPINLOCK_BITE_ON_BUG
  670. bool "Cause a Watchdog Bite on Spinlock bug"
  671. depends on QCOM_WDT_CORE
  672. help
  673. On a spinlock bug, cause a watchdog bite so that we can get
  674. the precise state of the system captured at the time of spin
  675. dump. This is mutually exclusive with the below
  676. DEBUG_SPINLOCK_PANIC_ON_BUG config.
  677. config DEBUG_SPINLOCK_PANIC_ON_BUG
  678. bool "Cause a Kernel Panic on Spinlock bug"
  679. help
  680. On a spinlock bug, cause a kernel panic so that we can get the
  681. complete information about the system at the time of spin dump
  682. in the dmesg. This is mutually exclusive with the above
  683. DEBUG_SPINLOCK_BITE_ON_BUG.
  684. endchoice
  685. config USB_BAM
  686. tristate "USB BAM Driver"
  687. help
  688. Enabling this option adds USB BAM Driver.
  689. USB BAM driver was added to supports Smart Peripheral Subsystem
  690. Peripheral-to-Peripheral transfers between the USB and other
  691. peripheral.
  692. config QCOM_CPU_VENDOR_HOOKS
  693. tristate "QTI Vendor Hooks Support"
  694. depends on ARCH_QCOM && ANDROID_VENDOR_HOOKS
  695. help
  696. CPU vendor hooks driver registers with andriod vendor hooks
  697. provided by core kernel to extend kernel functionality.
  698. Currently these features are not supported by upstream kernel and not
  699. having scope to upstream.
  700. If unsure, say N.
  701. config QCOM_MEM_OFFLINE
  702. tristate "Dynamic Memory Region Offline driver"
  703. depends on MEMORY_HOTPLUG
  704. help
  705. Add support for DDR Self-Refresh power management through the dynamic
  706. memory offline framework. This driver interfaces between the memory
  707. hotplug subsystem and AOP which hot adds or removes memory blocks and
  708. controls the start/stop of self-refresh of these DDR regions. This
  709. helps reduce power consumption during idle mode of the system.
  710. If unsure, say N
  711. config QCOM_HUNG_TASK_ENH
  712. tristate "QTI Hung Task Enhancement"
  713. depends on ARCH_QCOM
  714. help
  715. Add options at sysfs to enhance khungtask, allow user to
  716. select and monitor tasks in black/white list mode. Also
  717. processes in iowait for specific situation will be monitored
  718. to avoid devices long time no response.
  719. config QTI_CRYPTO_COMMON
  720. tristate "Enable common crypto functionality used for FBE"
  721. depends on SCSI_UFS_CRYPTO_QTI || MMC_CRYPTO_QTI
  722. help
  723. Say 'Y' to enable the common crypto implementation to be used by
  724. different storage layers such as UFS and EMMC for file based hardware
  725. encryption. This library implements API to program and evict
  726. keys using Trustzone or Hardware Key Manager.
  727. config QTI_CRYPTO_TZ
  728. tristate "Enable Trustzone to be used for FBE"
  729. depends on QTI_CRYPTO_COMMON
  730. help
  731. Say 'Y' to enable routing crypto requests to Trustzone while
  732. performing hardware based file encryption. This means keys are
  733. programmed and managed through SCM calls to TZ where ICE driver
  734. will configure keys.
  735. config QTI_CRYPTO_VIRTUALIZATION
  736. tristate "Enable hypervysor to be used for FBE"
  737. depends on FS_ENCRYPTION_INLINE_CRYPT
  738. depends on MSM_HAB
  739. help
  740. Say 'Y or M' to enable routing of crypto requests to different operating
  741. system in virtualized environment. Driver uses a hardware abstraction(hab)
  742. layer where the APIs exposed by that operationg systems are used to send
  743. requests to perform the hardware crypto operation.
  744. config QTI_HW_KEY_MANAGER
  745. tristate "Enable QTI Hardware Key Manager for storage encryption"
  746. default n
  747. help
  748. Say 'Y' to enable the hardware key manager driver used to operate
  749. and access key manager hardware block. This is used to interface with
  750. HWKM hardware to perform key operations from the kernel which will
  751. be used for storage encryption.
  752. config QTI_HW_KEY_MANAGER_V1
  753. tristate "Enable QTI Hardware Key Manager v1 for storage encryption"
  754. default n
  755. help
  756. Say 'Y' to enable the hardware key manager v1 driver used to operate
  757. and access key manager hardware block. This is used to interface with
  758. HWKM hardware to perform key operations from the kernel which will
  759. be used for storage encryption.
  760. config QCOM_WCD_USBSS_I2C
  761. tristate "WCD USBSS chip with I2C"
  762. select REGMAP
  763. depends on I2C
  764. help
  765. Support for the WCD939X USBSS IC switch chip controlled
  766. using I2C. This driver provides common support
  767. for accessing the device, switching between USB and Audio
  768. modes, changing orientation.
  769. config QCOM_MINIDUMP
  770. tristate "QCOM Minidump Support"
  771. depends on QCOM_SMEM || GUNYAH_DRIVERS
  772. help
  773. This enables minidump feature. It allows various clients to
  774. register to dump their state at system bad state (panic/WDT,etc.,).
  775. Minidump would dump all registered entries, only when DLOAD mode
  776. is enabled.
  777. config QCOM_MINIDUMP_SMEM
  778. bool "QCOM Minidump SMEM Support"
  779. depends on QCOM_MINIDUMP && QCOM_SMEM
  780. default y
  781. help
  782. This enables minidump smem transport layer.
  783. If minidump and smem are enabled,
  784. this config option shall be enabled by
  785. default.
  786. config QCOM_MINIDUMP_RM
  787. bool "QCOM Minidump RM Support"
  788. depends on QCOM_MINIDUMP && GUNYAH_DRIVERS
  789. help
  790. This enables minidump rm on gunyah platform transport layer.
  791. If minidump and gunyah are enabled,
  792. say yes to enable minidump feature.
  793. If unsure, say no.
  794. config QCOM_MINIDUMP_VIRTIO
  795. tristate "QCOM Minidump based on VIRTIO Support"
  796. depends on QCOM_MINIDUMP && VIRTIO
  797. help
  798. This enables VirtIO minidump transport layer.
  799. If minidump and VirtIO are enabled,
  800. say yes to enable minidump feature.
  801. If unsure, say no.
  802. config QCOM_VA_MINIDUMP
  803. tristate "QCOM VA Minidump Support"
  804. depends on QCOM_MINIDUMP
  805. help
  806. This enables minidump feature for registering dynamic
  807. data structures. It supports VA based registration
  808. with minidump, which is made into an ELF. The region
  809. for ELF is registered with legacy minidump.
  810. config QCOM_DYN_MINIDUMP_STACK
  811. bool "QTI Dynamic Minidump Stack Registration Support"
  812. depends on QCOM_MINIDUMP
  813. help
  814. This enables minidump dynamic current stack registration feature.
  815. It allows current task stack to be available in minidump, for cases
  816. where CPU is unable to register it from IPI_CPU_STOP. The stack data
  817. can be used to unwind stack frames.
  818. config QCOM_MINIDUMP_FTRACE
  819. bool "QCOM Minidump Support"
  820. depends on QCOM_MINIDUMP
  821. help
  822. This enables ftrace buffer registration in minidump table.
  823. On oops, ftrace content will be copied to that buffer.
  824. This way ftrace buffer content becomes a part of minidump dump
  825. collection.
  826. config QCOM_MINIDUMP_PANIC_DUMP
  827. bool "QCOM Minidump Panic dumps Support"
  828. depends on QCOM_MINIDUMP
  829. help
  830. This enables collection of debug information like runqueue
  831. statistics etc. on panic in minidump. It dumps current, CFS,
  832. and RT runqueue tasks running on each cpu. This help in
  833. knowing the tasks running, pending, hogging on cpu during
  834. panic.
  835. config QCOM_MINIDUMP_PANIC_CPU_CONTEXT
  836. bool "QCOM Minidump Panic dumps CPU Context"
  837. depends on ARM64 && QCOM_MINIDUMP_PANIC_DUMP
  838. help
  839. This enables cpu context collection in minidump table,
  840. on panic.
  841. config QCOM_MINIDUMP_PANIC_MEMORY_INFO
  842. bool "QCOM Minidump Panic dumps Memory Info"
  843. depends on QCOM_MINIDUMP_PANIC_DUMP
  844. help
  845. This enables memory info collection in minidump table,
  846. on panic.
  847. config QCOM_MINIDUMP_PSTORE
  848. bool "QCOM Minidump Pstore dumps Support"
  849. depends on ARM64 && QCOM_MINIDUMP
  850. help
  851. This enables pstore registration in minidump table.
  852. Here, pstore framework dump logs like pmsg, dmesg,
  853. console ftrace etc. in the given carve-out memory
  854. (non-volatile memory) and during warm reboot these
  855. dump will be copied outside the system on panic.
  856. config QCOM_SYSMON_SUBSYSTEM_STATS
  857. tristate "Qualcomm Technologies SysMon DSP subsystem stats"
  858. depends on QCOM_SMEM
  859. help
  860. sysMon subsystem stats driver exposes API to query DSP
  861. subsystem's load, power, DDR and Sleep statistics stored in
  862. SMEM region for each DSP subsystem which is updated periodically
  863. by the respective subsystems.
  864. config QCOM_CDSP_RM
  865. tristate "CDSP request manager"
  866. depends on RPMSG
  867. help
  868. This driver serves CDSP requests for CPU L3 clock and CPU QoS thus
  869. improving CDSP performance. Using this driver, CDSP can set appropriate
  870. CPU L3 clock for improving IO-Coherent throughput and opt for QoS mode
  871. to improve RPC latency. The driver also registers cooling devices for
  872. CDSP subsystem and implements Cx ipeak limit management.
  873. config QCOM_FSA4480_I2C
  874. tristate "Fairchild FSA4480 chip with I2C"
  875. select REGMAP_I2C
  876. depends on I2C
  877. help
  878. Support for the Fairchild FSA4480 IC switch chip controlled
  879. using I2C. This driver provides common support
  880. for accessing the device, switching between USB and Audio
  881. modes, changing orientation.
  882. config CDSPRM_VTCM_DYNAMIC_DEBUG
  883. bool "Enable for VTCM parition test enablement"
  884. help
  885. The VTCM dynamic debug flag is used to enable the vtcm partition test
  886. feature from the debugfs node from cdsprm driver.When the test is
  887. enabled, the vtcm partition details are sent to the CDSP via rpmsg
  888. channel.
  889. config MINIDUMP_MAX_ENTRIES
  890. int "Minidump Maximum num of entries"
  891. default 200
  892. depends on QCOM_MINIDUMP
  893. help
  894. This defines maximum number of entries to be allocated for application
  895. subsytem in Minidump table.
  896. config QCOM_ADSP_SLEEPMON
  897. tristate "ADSP sleep monitor"
  898. depends on QCOM_SMEM
  899. help
  900. This driver tracks ADSP sleep statistics while interfacing with
  901. different userspace clients making use of ADSP. Based on the
  902. activity notifications from these userspace clients, the driver
  903. detects and logs sleep violations from ADSP subsystem. The driver
  904. uses master stats from ADSP subsystem stored in SMEM.
  905. config GH_CPUSYS_VM_MEM_ACCESS
  906. tristate "Qualcomm Technologies, Inc. CPUSYS VM shared mem access driver"
  907. depends on GH_RM_DRV
  908. help
  909. Qualcomm Technologies, Inc. CPUSYS shared mem access driver for MSM devices.
  910. The drivers provides shared memory access to CPUSYS VM.
  911. Say Y here to compile the driver as a part of kernel or M to compile
  912. as a module.
  913. config GH_TLMM_VM_MEM_ACCESS
  914. tristate "Qualcomm Technologies, Inc. TLMM VM mem access driver"
  915. depends on GH_RM_DRV
  916. help
  917. Qualcomm Technologies, Inc. TLMM VM mem access driver for MSM devices.
  918. The drivers provides initial gpio memory access to VM.
  919. Say Y here to compile the driver as a part of kernel or M to compile
  920. as a module.
  921. config QCOM_RAMDUMP
  922. tristate "Qualcomm Technologies, Inc. Ramdump driver"
  923. default n
  924. help
  925. This option enables the QTI ramdump driver. The ramdump driver
  926. provides APIs to collect ramdumps which can be extracted from
  927. userspace. Say 'Y' here to enable this driver. It's safe to say
  928. 'N' here if you don't plan on collecting ramdumps.
  929. config QCOM_ICC_BWMON
  930. tristate "QCOM Interconnect Bandwidth Monitor driver"
  931. depends on ARCH_QCOM || COMPILE_TEST
  932. select PM_OPP
  933. select REGMAP_MMIO
  934. help
  935. Sets up driver monitoring bandwidth on various interconnects and
  936. based on that voting for interconnect bandwidth, adjusting their
  937. speed to current demand.
  938. Current implementation brings support for BWMON v4, used for example
  939. on SDM845 to measure bandwidth between CPU (gladiator_noc) and Last
  940. Level Cache (memnoc). Usage of this BWMON allows to remove some of
  941. the fixed bandwidth votes from cpufreq (CPU nodes) thus achieve high
  942. memory throughput even with lower CPU frequencies.
  943. config QCOM_DEBUG_SYMBOL
  944. tristate "Enable Debug Symbol Support"
  945. depends on ANDROID_DEBUG_KINFO
  946. help
  947. This enables Debug Symbol Support. This driver is based on
  948. Google Debug Kinfo driver, according to the provided info, this
  949. driver allows other modules to get symbol addresses by traversing
  950. kallsyms table for debug usage.
  951. config QCOM_VM_DMESG_DUMPER
  952. tristate "Dump a VM's kmsg to a shared reserved memory upon panic"
  953. depends on GH_RM_DRV
  954. depends on QCOM_SECURE_BUFFER || ARCH_QTI_VM
  955. help
  956. Upon encountering a kernel panic in a Virtual machine, enable the
  957. dumping the kmsg log buffer to a reserved memory section through the
  958. use of a Gunyah shared-memory doorbell object. This driver is to be
  959. enabled on both Primary VM and the other VM whose kmsg is desired.
  960. config QCOM_VM_ALIVE_LOG_DUMPER
  961. bool "Dump a VM's alive kmsg to a shared reserved memory Support"
  962. depends on QCOM_VM_DMESG_DUMPER
  963. default y
  964. help
  965. This enables to dump a VM's alive kmsg log buffer to the reserved
  966. memory section, triggered by Primary VM. This needs to be enabled on
  967. both Primary VM and the other VM whose kmsg is desired.
  968. config QCOM_VM_ALIVE_LOG_ENCRYPT
  969. bool "Encrypt alive log Support"
  970. depends on ARCH_QTI_VM && QCOM_VM_ALIVE_LOG_DUMPER && CRYPTO_GCM
  971. default y
  972. help
  973. This enables to encrypt alive log and use AES GCM mode for symmetric key
  974. wrapping. This needs to be enabled on both Primary VM and the other VM
  975. whose kmsg is desired.
  976. config MSM_SYSTEM_HEALTH_MONITOR
  977. tristate "System Health Monitor"
  978. help
  979. System Health Monitor (SHM) passively monitors the health of the
  980. peripherals connected to the application processor. Software
  981. components in the application processor that experience
  982. communication failure can request the SHM to perform a system-wide
  983. health check. If any failures are detected during the health-check,
  984. then a subsystem restart will be triggered for the failed subsystem.
  985. source "drivers/soc/qcom/mem_buf/Kconfig"
  986. source "drivers/soc/qcom/tmecom/Kconfig"
  987. config MSM_PERFORMANCE
  988. tristate "msm performance driver to support userspace fmin/fmax request"
  989. help
  990. This driver can restrict max freq or min freq of cpu cluster
  991. when requested by the userspace by changing the cpufreq policy
  992. fmin and fmax. The user space can request the cpu freq change by
  993. writing cpu#:freq values
  994. config QTI_PLH_SCMI_CLIENT
  995. tristate "Qualcomm Technologies Inc. SCMI client driver for PLH"
  996. depends on MSM_PERFORMANCE && QTI_SCMI_PLH_PROTOCOL
  997. default n
  998. help
  999. SCMI client driver registers itself with SCMI framework for PLH
  1000. vendor protocol, and also registers with the plh interface driver
  1001. msm_performance.
  1002. This driver deliver the PLH vendor protocol handle to interface
  1003. driver, and interface driver will use this handle to communicate
  1004. with CPUCP PLH.
  1005. config QCOM_PANEL_EVENT_NOTIFIER
  1006. tristate "panel event notifier"
  1007. depends on DRM
  1008. help
  1009. Enabling this option adds panel event notifier driver.
  1010. This driver is responsible for notifying clients interested in display
  1011. panel events such as panel on , panel off, fps change etc. Clients
  1012. can use these notifications for power saving or align its operations
  1013. with display panel power state.
  1014. config RENAME_DEVICES
  1015. tristate "Rename block and network device names"
  1016. depends on VIRTIO_BLK
  1017. default n
  1018. help
  1019. This option is to rename the block and network devices names
  1020. which is needed during android verified boot process and it
  1021. also maps to physical partition names on gvm side which help
  1022. identify the block and network devices.
  1023. config QCOM_S2D_VENDOR_HOOK
  1024. tristate "Vendor hook module to route flow of the core Kernel"
  1025. help
  1026. This options enable vendor hook callbacks for bootloader based
  1027. hibernation. Callbacks implemented here are called from the
  1028. core kernel and help to do bootloader hibernation specific job.
  1029. Enable this if bootloader hibernation is enabled.
  1030. config QCOM_SECURE_HIBERNATION
  1031. tristate "Add security support to hibernation"
  1032. depends on HIBERNATION
  1033. help
  1034. Secure the hibernation snapshot by encrypting
  1035. the snapshot at kernel before saving to disk.
  1036. This uses GCM-AES crypto algorithm to encrypt the
  1037. pages at the kernel.
  1038. If not sure, say N.
  1039. config SEC_CDSP_NO_CRASH_FOR_ENG
  1040. bool "crash trigger for USER/USERDEBUG only"
  1041. default n
  1042. help
  1043. This option protects crash for the ENG Binary.
  1044. endmenu