Rtwo/kernel/motorola/sm8550/drivers/soc/qcom/Kconfig
2025-09-30 19:22:48 -05:00

1562 lines
57 KiB
Text

# SPDX-License-Identifier: GPL-2.0-only
#
# QCOM Soc drivers
#
menu "Qualcomm SoC drivers"
config MMI_DEVICE_DTBS
depends on ARCH_QCOM
default n
bool "Motorola Mobility Device DTBs"
help
Only include Motorola device specific DTBs to limit the number that
get built during kernel compilation.
config RTWO_DTB
depends on MMI_DEVICE_DTBS
default n
bool "Motorola Mobility Rtwo Device DTB"
help
Only include Motorola Rtwo device specific device tree.
config CTWO_DTB
depends on MMI_DEVICE_DTBS
default n
bool "Motorola Mobility Ctwo Device DTB"
help
Only include Motorola Ctwo device specific device tree.
config ARC_DTB
depends on MMI_DEVICE_DTBS
default n
bool "Motorola Mobility Arc Device DTB"
help
Only include Motorola Arc device specific device tree.
config OBERON_DTB
depends on MMI_DEVICE_DTBS
default n
bool "Motorola Mobility Oberon Device DTB"
help
Only include Motorola Oberon device specific device tree.
config EQE_DTB
depends on MMI_DEVICE_DTBS
default n
bool "Motorola Mobility Eqe Device DTB"
help
Only include Motorola Eqe device specific device tree.
config MMI_FACTORY_BUILD
depends on ARCH_QCOM
default n
bool "Motorola Factory Build"
help
kernel config item in common kernel of Moto factory build.
config MMI_NON_GKI_DEBUG
depends on ARCH_QCOM
default n
bool "Motorola consolidate feature generic config"
help
kernel config item in common kernel of Moto consolidate build.
config SPS
tristate "SPS support"
select GENERIC_ALLOCATOR
help
The SPS (Smart Peripheral Switch) is a DMA engine.
It can move data in the following modes:
1. Peripheral-to-Peripheral.
2. Peripheral-to-Memory.
3. Memory-to-Memory.
config SPS_SUPPORT_BAMDMA
bool "SPS supports BAM DMA"
depends on SPS
help
The BAM-DMA is used for Memory-to-Memory transfers.
The main use cases is RPC between processors.
The BAM-DMA hardware has 2 registers sets:
1. A BAM HW like all the peripherals.
2. A DMA channel configuration (i.e. channel priority).
config SPS_SUPPORT_NDP_BAM
bool "SPS supports NDP BAM"
depends on SPS
help
No-Data-Path BAM is used to improve BAM performance.
NDP BAMs enables peripherals with fast fabric connectivity
to do the actual data transfer themselves, instead of the
BAM.
config QCOM_AOSS_QMP
tristate "Qualcomm AOSS Driver"
depends on ARCH_QCOM || COMPILE_TEST
depends on MAILBOX
depends on COMMON_CLK && PM
select PM_GENERIC_DOMAINS
help
This driver provides the means of communicating with and controlling
the low-power state for resources related to the remoteproc
subsystems as well as controlling the debug clocks exposed by the Always On
Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP).
config QCOM_COMMAND_DB
tristate "Qualcomm Command DB"
depends on ARCH_QCOM || COMPILE_TEST
depends on OF_RESERVED_MEM
help
Command DB queries shared memory by key string for shared system
resources. Platform drivers that require to set state of a shared
resource on a RPM-hardened platform must use this database to get
SoC specific identifier and information for the shared resources.
config QCOM_QDSS_BRIDGE
tristate "Configure bridge driver for QTI/Qualcomm Technologies, Inc. MDM"
depends on MHI_BUS
help
The driver will help route diag traffic from modem side over the QDSS
sub-system to USB on APSS side. The driver acts as a bridge between the
MHI and USB interface.
If unsure, say N.
config QCOM_CPR
tristate "QCOM Core Power Reduction (CPR) support"
depends on ARCH_QCOM && HAS_IOMEM
select PM_OPP
select REGMAP
help
Say Y here to enable support for the CPR hardware found on Qualcomm
SoCs like QCS404.
This driver populates CPU OPPs tables and makes adjustments to the
tables based on feedback from the CPR hardware. If you want to do
CPUfrequency scaling say Y here.
To compile this driver as a module, choose M here: the module will
be called qcom-cpr
config QCOM_CPUSS_SLEEP_STATS
tristate "Qualcomm Technologies, Inc. (QTI) CPUSS sleep stats driver"
depends on DEBUG_FS
depends on QCOM_SCM
help
Qualcomm Technologies, Inc. (QTI) CPUSS sleep stats driver to get
hardware LPM counts and residency for particular core/cluster
low power modes. This driver creates debugfs entry which provides
provision to read and reset those values.
config SHOW_SUSPEND_EPOCH
tristate "Show epoch values in suspend resume cycles"
depends on ARCH_QCOM
help
Show epoch values when device enter and exit out of suspend
and resume. These epoch values are useful to know how long
the device is in suspend state. These values can be used to
synchronize various subsystem timestamps and have an unique
timestamp to correlate between various subsystems.
config QCOM_CRM
tristate "Qualcomm Technologies, Inc. (QTI) CRM driver"
depends on QCOM_RPMH && (ARCH_QCOM || COMPILE_TEST)
help
Support for communication with the hardened-CRM blocks in
Qualcomm Technologies, Inc. (QTI) SoCs. CRM provides interface to
vote desired power state of resources local to a subsystem. A set
of hardware components aggregate requests for these resources and
help apply the aggregated power state on the resource.
config QCOM_GENI_SE
tristate "QCOM GENI Serial Engine Driver"
depends on ARCH_QCOM || COMPILE_TEST
help
This driver is used to manage Generic Interface (GENI) firmware based
Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
driver is also used to manage the common aspects of multiple Serial
Engines present in the QUP.
config QCOM_GSBI
tristate "QCOM General Serial Bus Interface"
depends on ARCH_QCOM || COMPILE_TEST
select MFD_SYSCON
help
Say y here to enable GSBI support. The GSBI provides control
functions for connecting the underlying serial UART, SPI, and I2C
devices to the output pins.
config QCOM_MSM_IPCC
tristate "Qualcomm Technologies, Inc. IPCC driver"
depends on MAILBOX
help
Qualcomm Technologies, Inc. IPCC driver for MSM devices. The drivers
acts as an interrupt controller for the clients interested in
talking to the IPCC (inbound-communication). On the other hand, the
driver also provides a mailbox channel for outbound-communications.
Say Y here to compile the driver as a part of kernel or M to compile
as a module.
config MSM_TZ_SMMU
depends on ARCH_MSM8953 || ARCH_QCS405 || ARCH_QCS403 || ARCH_SDM429W || ARCH_SA2150P || ARCH_SA2145P
bool "Helper functions for SMMU configuration through TZ"
help
Say 'Y' here for targets that need to call into TZ to configure
SMMUs for any reason (for example, for errata workarounds or
configuration of SMMU virtualization).
If unsure, say N.
config QCOM_RIMPS
tristate "Qualcomm Technologies, Inc. Rimps driver"
depends on MAILBOX
help
Qualcomm Technologies, Inc. RIMPS driver for MSM devices. This driver
acts as a mailbox controller to do doorbell between Apss and Rimps
subsystem. Say yes here to enable rx and tx channel between both
the subsystems.
If unsure, say n.
config QCOM_TLMM_VM_IRQCHIP
tristate "Qualcomm Technologies, Inc. TLMM VM irqchip driver"
help
Qualcomm Technologies, Inc. TLMM VM irqchip driver for MSM devices. The
driver acts as a parent interrupt controller for tlmm driver for VMs.
Say Y here to compile the driver as a part of kernel or M to compile
as a module.
config GIC_INTERRUPT_ROUTING
tristate "GIC Interrupt Routing driver"
depends on ARM_GIC_V3
help
GIC interrupt routing driver.
The driver manages interrupt routing for shared peripheral interrupts.
Say Y here to compile the driver as a part of kernel or M to compile
as a module.
config QCOM_LLCC
tristate "Qualcomm Technologies, Inc. LLCC driver"
depends on ARCH_QCOM || COMPILE_TEST
select REGMAP_MMIO
help
Qualcomm Technologies, Inc. platform specific
Last Level Cache Controller(LLCC) driver for platforms such as,
SDM845. This provides interfaces to clients that use the LLCC.
Say yes here to enable LLCC slice driver.
config QCOM_KRYO_L2_ACCESSORS
bool
depends on ARCH_QCOM && ARM64 || COMPILE_TEST
config QCOM_LLCC_PERFMON
tristate "Qualcomm Technologies, Inc. LLCC Perfmon driver"
depends on QCOM_LLCC
help
This option enables driver for LLCC Performance monitor block. Using
this various events in different LLCC sub ports can be monitored.
This is used for performance and debug activity and exports sysfs
interface. sysfs interface is used to configure and dump the LLCC
performance events.
config QCOM_MDT_LOADER
tristate "Qualcomm Technologies, Inc. MDT Loader driver"
select QCOM_SCM
help
This option is used to enable mdt_loader driver which can be used
to load image files of certain subsystems into memory, authenticate
and bring it out of reset.
Say yes to support this driver.
config QCOM_OCMEM
tristate "Qualcomm On Chip Memory (OCMEM) driver"
depends on ARCH_QCOM
select QCOM_SCM
help
The On Chip Memory (OCMEM) allocator allows various clients to
allocate memory from OCMEM based on performance, latency and power
requirements. This is typically used by the GPU, camera/video, and
audio components on some Snapdragon SoCs.
config QCOM_PDR_HELPERS
tristate "Qualcomm Technologies, Inc. Protection Domain Restart(PDR) driver"
select QCOM_QMI_HELPERS
help
Qualcomm Technologies, Inc. SoCs allow for multiple protection domains (PDs)
to run on the same Q6 sub-system. This allows for services
like AVS AUDIO to have their own separate address space and
crash/recover without disrupting the other PDs running on
the same Q6 ADSP.
config QCOM_PANIC_ON_PDR_NOTIF_TIMEOUT
bool "Trigger kernel panic when PDR notification timeout expires"
help
This is a debug feature where a kernel panic is triggered when
pdr notification to the APPS client is taking too long. This scneario
can happen if the one of notifier gets stuck and due to which subsystem
did not get ack back from APPS in time and trigger timeout panic.
So, trigger a kernel panic in APPS if PDR notifications is taking
too long.
config PDR_INDICATION_NOTIF_TIMEOUT
int "Pdr notifications timeout in ms"
default 3000
help
The amount of time, in milliseconds, that should elapse between
the start and end of notifications, before a warning
is emitted.
config MSM_BOOT_TIME_MARKER
bool "Use MSM boot time marker reporting"
depends on MSM_BOOT_STATS
help
Use this to mark msm boot kpi for measurement.
An instrumentation for boot time measurement.
To create an entry, call "place_marker" function.
At userspace, write marker name to "/sys/kernel/boot_kpi/kpi_values"
config QCOM_QMI_HELPERS
tristate
depends on NET
source "drivers/soc/qcom/hgsl/Kconfig"
source "drivers/soc/qcom/hab/Kconfig"
source "drivers/soc/qcom/memshare/Kconfig"
config QCOM_SAIL_MAILBOX
tristate "Qualcomm Technologies, Inc. sail mailbox driver"
depends on MAILBOX
default n
help
Qualcomm Technologies, Inc. safety island (SAIL) mailbox driver.
The SAIL mailbox driver facilitates communication
between APSS and Safety Island.
If unsure, say 'N'.
config QCOM_QFPROM_SYS
tristate "Qualcomm Technologies, Inc. QFPROM_SYS driver "
depends on QCOM_QFPROM
help
Qualcomm Technologies, Inc. QFPROM_SYS driver. The QFPROM SYS driver
provides access to the child nodes of QFPROM to user space. The cell
values are exported as sysfs entries.
Say y here to enable QFPROM SYS support.
config QCOM_RMTFS_MEM
tristate "Qualcomm Remote Filesystem memory driver"
depends on ARCH_QCOM
select QCOM_SCM
help
The Qualcomm remote filesystem memory driver is used for allocating
and exposing regions of shared memory with remote processors for the
purpose of exchanging sector-data between the remote filesystem
service and its clients.
Say y here if you intend to boot the modem remoteproc.
config MSM_CORE_HANG_DETECT
tristate "MSM Core Hang Detection Support"
help
This enables the core hang detection module. It causes SoC
reset on core hang detection and collects the core context
for hang. By using sysfs entries core hang detection can be
enabled or disabled dynamically.
config QCOM_RPMH
tristate "Qualcomm RPM-Hardened (RPMH) Communication"
depends on ARCH_QCOM || COMPILE_TEST
depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
help
Support for communication with the hardened-RPM blocks in
Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
internal bus to transmit state requests for shared resources. A set
of hardware components aggregate requests for these resources and
help apply the aggregated state on the resource.
config QCOM_RPMHPD
tristate "Qualcomm RPMh Power domain driver"
depends on QCOM_RPMH && QCOM_COMMAND_DB
help
QCOM RPMh Power domain driver to support power-domains with
performance states. The driver communicates a performance state
value to RPMh which then translates it into corresponding voltage
for the voltage rail.
config QCOM_RPMPD
tristate "Qualcomm RPM Power domain driver"
depends on PM
depends on QCOM_SMD_RPM
help
QCOM RPM Power domain driver to support power-domains with
performance states. The driver communicates a performance state
value to RPM which then translates it into corresponding voltage
for the voltage rail.
config QCOM_RUN_QUEUE_STATS
tristate "Enable collection and exporting of QTI Run Queue stats to userspace"
help
This option enables the driver to periodically collecting the statistics
of kernel run queue information and calculate the load of the system.
This information is exported to usespace via sysfs entries and userspace
algorithms uses info and decide when to turn on/off the cpu cores.
config QCOM_SMEM
tristate "Qualcomm Shared Memory Manager (SMEM)"
depends on ARCH_QCOM || COMPILE_TEST
depends on HWSPINLOCK
help
Say y here to enable support for the Qualcomm Shared Memory Manager.
The driver provides an interface to items in a heap shared among all
processors in a Qualcomm platform.
config QCOM_SMD_RPM
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
depends on ARCH_QCOM || COMPILE_TEST
depends on RPMSG
help
If you say yes to this option, support will be included for the
Resource Power Manager system found in the Qualcomm 8974 based
devices.
This is required to access many regulators, clocks and bus
frequencies controlled by the RPM on these devices.
Say M here if you want to include support for the Qualcomm RPM as a
module. This will build a module called "qcom-smd-rpm".
config MSM_SPM
bool "Driver support for SPM and AVS wrapper hardware"
help
Enables the support for SPM and AVS wrapper hardware on MSMs. SPM
hardware is used to manage the processor power during sleep. The
driver allows configuring SPM to allow different low power modes for
both core and L2.
config MSM_L2_SPM
bool "SPM support for L2 cache"
help
Enable SPM driver support for L2 cache. Some MSM chipsets allow
control of L2 cache low power mode with a Subsystem Power manager.
Enabling this driver allows configuring L2 SPM for low power modes
on supported chipsets.
config QCOM_MEMORY_DUMP_V2
tristate "QCOM Memory Dump V2 Support"
help
This enables memory dump feature. It allows various client
subsystems to register respective dump regions. At the time
of deadlocks or cpu hangs these dump regions are captured to
give a snapshot of the system at the time of the crash.
config QCOM_SMEM_STATE
bool
config QCOM_SMP2P
tristate "Qualcomm Shared Memory Point to Point support"
depends on MAILBOX
depends on QCOM_SMEM
select QCOM_SMEM_STATE
select IRQ_DOMAIN
help
Say yes here to support the Qualcomm Shared Memory Point to Point
protocol.
config QCOM_SMSM
tristate "Qualcomm Shared Memory State Machine"
depends on QCOM_SMEM
select QCOM_SMEM_STATE
select IRQ_DOMAIN
help
Say yes here to support the Qualcomm Shared Memory State Machine.
The state machine is represented by bits in shared memory.
config QCOM_MICRODUMP
tristate "Qualcomm Technologies, Inc. Microdump Support"
depends on QCOM_RAMDUMP
depends on QCOM_SMEM
help
This enables microdump feature. It collects
crash data from SMEM whenever modem subsytem
crashes and stores it under /devcd to expose
to user space.
config QCOM_SMP2P_SLEEPSTATE
tristate "SMP2P Sleepstate notifier"
depends on QCOM_SMP2P
help
When this option is enabled, notifications are sent to remote procs
for the power state changes on the local processor. The notifications
are sent through the smp2p framework. This driver can also receive
notifications from the remote to prevent suspend on the local
processor.
config SENSORS_SSC
tristate "Enable Sensors Driver Support for SSC"
depends on REMOTEPROC
help
Say y or m here to enable Snapdragon Sensor Core(SSC)
support for Qualcomm Technologies, Inc SoCs. SSC is used for
exercising sensor use-cases. This driver loads firmware files
for SSC and also does time synchronization with DSP clock.
config QSEE_IPC_IRQ_BRIDGE
tristate "QSEE IPC Interrupt Bridge"
help
This module enables bridging an Inter-Processor Communication(IPC)
interrupt from a remote subsystem directed towards
Qualcomm Technologies, Inc. Secure Execution Environment(QSEE) to
userspace. The interrupt will be propagated through a character device
that userspace clients can poll on.
config QCOM_GLINK
tristate "GLINK Probe Helper"
depends on RPMSG_QCOM_GLINK_SMEM
help
This enables the GLINK Probe module. This is designed to set up
other edges in the system. It will initialize all the transports for
all the edges present in the device.
Say M if you want to enable this module.
config QCOM_GLINK_PKT
tristate "Enable device interface for GLINK packet channels"
depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SLATECOM
help
G-link packet driver provides the interface for the userspace
clients to communicate over G-Link via device nodes.
This enable the userspace clients to read and write to
some glink packets channel.
config QTI_PMIC_GLINK
tristate "Enable support for PMIC GLINK"
depends on RPMSG
select QCOM_RPROC_COMMON
select QCOM_PDR_HELPERS
help
The PMIC Glink driver provides the interface for clients to
communicate over GLink for sending and receiving data to charger
firmware that runs on a remote subsystem like DSP which supports
charging and gauging.
This enables clients to read and write battery charging parameters.
config QTI_PMIC_GLINK_CLIENT_DEBUG
depends on QTI_PMIC_GLINK && DEBUG_FS
bool "Enable debugfs features in PMIC GLINK client drivers"
help
This option enables the generation of debugfs files in PMIC GLINK
client drivers that are strictly meant for internal debugging only.
Writing to these debug files changes key physical parameters of a
system, which may lead to instability. Therefore, this option should
never be enabled on production devices.
config QTI_BATTERY_GLINK_DEBUG
tristate "Enable support for QTI battery glink debug driver"
depends on QTI_PMIC_GLINK
help
Qualcomm Technologies, Inc. battery glink debug driver helps to
obtain debug information for battery charging and gauging over PMIC
Glink from charger and gauging firmware running on a remote subsystem
(e.g. DSP).
config QTI_CHARGER_ULOG_GLINK
tristate "Enable support for QTI charger ulog glink driver"
depends on QTI_PMIC_GLINK && DEBUG_FS
help
Qualcomm Technologies, Inc. charger ulog glink driver helps to
obtain ulogs from battery charging and gauging stack over PMIC
Glink from the charger firmware running on a remote subsystem
(e.g. DSP).
config QTI_ALTMODE_GLINK
tristate "Type-C alternate mode over GLINK"
depends on QTI_PMIC_GLINK
help
The Qualcomm Technologies, Inc. Type-C alternate mode driver provides
an interface for Type-C alternate mode clients to receive data such
as Pin Assignment Notifications from the Type-C stack running on a
remote subsystem (e.g. DSP) via the PMIC GLINK interface.
config QTI_PMIC_GLINK_DEBUG
tristate "QTI PMIC Glink Debug Device"
depends on QTI_PMIC_GLINK
help
The Qualcomm Technologies, Inc. PMIC Glink debug device driver
provides an interface to read and write PMIC registers over PMIC
Glink using a remote subsytem (e.g. DSP). This allows for debugging
PMIC peripherals that would typically only be accessible to the
charger and fuel gauging firmware running on the remote subsystem.
The PMIC peripherals' bus access can be either SPMI or I2C.
config QCOM_SECURE_BUFFER
tristate "Helper functions for secure buffers through TZ"
depends on QCOM_SCM
help
Enable for targets that need to call into TZ to secure
memory buffers. This ensures that only the correct clients can
use this memory and no unauthorized access is made to the
buffer.
config HYP_ASSIGN_DEBUG
bool "Enable caller tracking for hyp-assign"
depends on QCOM_SECURE_BUFFER
help
Track all pages which are in the hyp-assigned state. Enable
additional error checking on hyp-assign based on this state.
Detects double-assign and double-unassign scenarios.
If unsure, say 'N' here.
config QCOM_MEM_HOOKS
tristate "Memory trace hook callbacks"
help
A helper driver for loading various memory-related vendor
hooks, which are used to control the behavior of the core.
If unsure, say 'M' here to ensure that the hooks are compiled
in.
config QCOM_BALANCE_ANON_FILE_RECLAIM
bool "During reclaim treat anon and file backed pages equally"
depends on SWAP
help
When performing memory reclaim treat anonymous and file backed pages
equally.
Swapping anonymous pages out to memory can be efficient enough to justify
treating anonymous and file backed pages equally.
config MSM_CDSP_LOADER
tristate "CDSP loader support"
help
This enables the CDSP loader driver that loads the CDSP
firmware images and brings the compute DSP out of reset
for platforms that have one.
Say M if you want to enable this module.
config QTI_SYS_PM_VX
tristate "Qualcomm Technologies, Inc. (QTI) System PM Violators driver"
depends on QCOM_AOSS_QMP
help
This option enables debug subystems that prevent system low power
modes. The user sends a QMP message to AOP to record subsystems
preventing deeper system low power modes. The data is stored in the
MSGRAM by AOP and read and reported in the debugfs by this driver.
config QCOM_SOCINFO
tristate "Qualcomm socinfo driver"
depends on QCOM_SMEM
select SOC_BUS
help
Say yes here to support the Qualcomm socinfo driver, providing
information about the SoC to user space.
config QCOM_SOCINFO_DT
tristate "Qualcomm Technologies, Inc. DT based socinfo driver"
select SOC_BUS
help
Say yes here to support the Qualcomm Technologies, Inc. device tree
based socinfo driver, providing information about the SoC to
user space. The driver gets the soc information from device tree.
If unsure, say no.
source "drivers/soc/qcom/dcvs/Kconfig"
config QTI_RIMPS_LOG
tristate "Qualcomm Technologies Inc. HW RIMPS Logging"
depends on IPC_LOGGING && QCOM_RIMPS
default n
help
Rimps logging driver, this driver has the infra to collect logs
generated in RIMPS HW and log the buffers.
This driver register with IPC_Logging framework, to have dedicated
buffer for rimps hw device.
config SILENT_MODE
tristate "Driver support for Silent mode feature on QCOM Chipsets"
depends on PM_SILENT_MODE
help
Enables the support for Silent mode for QCOM chipsets. This feature
monitors a chosen external interface, ex: GPIO, when signalled a
state change, will update
/sys/kernel/silent_boot/pm_silentmode_kernel_state and
/sys/kernel/silent_boot/pm_silentmode_hw_state attribute to
indicate the state transition from silent to non-silent.
config QTI_PLH_SCMI_CLIENT
tristate "Qualcomm Technologies Inc. SCMI client driver for PLH"
depends on MSM_PERFORMANCE && QTI_SCMI_PLH_PROTOCOL
default n
help
SCMI client driver registers itself with SCMI framework for PLH
vendor protocol, and also registers with the plh interface driver
msm_performance.
This driver deliver the PLH vendor protocol handle to interface
driver, and interface driver will use this handle to communicate
with CPUCP PLH.
config MSM_JTAGV8
bool "Debug and ETM trace support across power collapse for ARMv8"
default y if CORESIGHT_SOURCE_ETM4X
depends on QCOM_SCM=y
help
Enables support for debugging (specifically breakpoints) and ETM
processor tracing across power collapse both for JTag and OS hosted
software running on ARMv8 target. Enabling this will ensure debug
and ETM registers are saved and restored across power collapse.
If unsure, say 'N' here to avoid potential power, performance and
memory penalty.
config QCOM_SOC_SLEEP_STATS
tristate "Qualcomm Technologies, Inc. (QTI) SoC sleep stats driver"
depends on ARCH_QCOM || COMPILE_TEST
help
Qualcomm Technologies, Inc. (QTI) SoC sleep stats driver to read
the shared memory exported by the remote processor related to
various SoC level low power modes statistics and export to debugfs
interface.
config QCOM_SUBSYS_STATUS
tristate "Qualcomm Technologies, Inc. (QTI) Subsystem status driver"
depends on ARCH_QCOM || COMPILE_TEST
help
Qualcomm Technologies, Inc. (QTI) subsystem status driver to read
subsystem status during s2idle and deep sleep and if any sub system
is not in sleep state then reject the curent s2idle or deep sleep
PM sequence. Enable this driver to check subsystem sleep state
during PM suspend cycle.
config QTI_RPM_STATS_LOG
tristate "Qualcomm Technologies, Inc. (QTI) RPM Stats Driver"
help
This option enables a driver which reads RPM messages from a shared
memory location. These messages provide statistical information about
the low power modes that subsystem enters. The drivers outputs the
message via a debugfs node.
config QCOM_ADSP_SLEEPMON
tristate "ADSP sleep monitor"
depends on QCOM_SMEM
help
This driver tracks ADSP sleep statistics while interfacing with
different userspace clients making use of ADSP. Based on the
activity notifications from these userspace clients, the driver
detects and logs sleep violations from ADSP subsystem. The driver
uses master stats from ADSP subsystem stored in SMEM.
config QCOM_ADSP_SLEEPMON_RPROC_RESTART
bool "ADSP sleep monitor remoteproc based ASDP restart"
depends on QCOM_ADSP_SLEEPMON
depends on QCOM_RPROC_COMMON
help
This enables ADSP sleep monitor to register with remoteproc framework
to enable ADSP subsystem restart on sleepmon induced ADSP panics when
enabled via device tree or debugfs nodes of ADSP sleep monitor driver. The configuration is used as a feature flag within ADSP sleep monitor
driver.
config QCOM_WDT_CORE
tristate "Qualcomm Technologies, Inc. Watchdog Support"
depends on ARCH_QCOM
help
This enables the watchdog framework for Qualcomm Technologies, Inc.
devices. It causes a kernel panic if the watchdog times out. It allows
for the detection of cpu hangs and deadlocks. It does not run during the
bootup process, so it will not catch any early lockups. Enabling this
only enables the framework, an individual Qualcomm Technologies, Inc.
watchdog module must be loaded along with this for watchdog
functionality.
config QCOM_CX_IPEAK
tristate "Common driver to handle Cx iPeak limitation"
help
Cx ipeak HW module is used to limit the current drawn by various
subsystem blocks on Cx power rail. Each client needs to set their
bit in tcsr register if it is going to cross its own threshold.
If all clients are going to cross their thresholds then Cx ipeak
hw module will raise an interrupt to cDSP block to throttle cDSP fmax.
config QCOM_SOC_WATCHDOG
tristate "Qualcomm Technologies, Inc. Soc Watchdog"
depends on QCOM_WDT_CORE
help
This enables the Qualcomm Technologies, Inc. watchdog module for the
Soc. It provides an interface to perform watchdog actions such as
setting the bark/bite time and also petting the hardware watchdog. To
utilize this the Qualcomm Technologies, Inc. watchdog framework must
also be enabled.
config QCOM_IRQ_STAT
bool "QCOM IRQ stats"
depends on QCOM_WDT_CORE
help
This give irq stats for top hitter at
watchdog pet, watchdog bark and kernel panics.
This provides additional debug information
for irq counts on cpu and ipi counts.
config QCOM_LOGBUF_VENDOR_HOOKS
tristate "QTI Logbuf Vendor Hooks Support"
depends on ARCH_QCOM
help
This enabled to dump kernel log_buf through
minidump. It can help in debugging issues
which are manifestation of failure during
device running.
config QCOM_LOGBUF_BOOTLOG
bool "QTI Boot Log Support"
depends on QCOM_LOGBUF_VENDOR_HOOKS
default y
help
This enables to keep copy of initial log_buf
of minimum 512KB from bootup. It can help in
debugging issues which are manifestation
of failure during initial bootup.
config QCOM_FORCE_WDOG_BITE_ON_PANIC
bool "QCOM force watchdog bite on panic"
depends on QCOM_WDT_CORE
help
This forces a watchdog bite when the device restarts
due to a kernel panic. On certain MSM SoCs,
this provides additional debugging
information.
config QCOM_WDOG_BITE_EARLY_PANIC
bool "QCOM early panic watchdog bite"
depends on QCOM_WDT_CORE && QCOM_FORCE_WDOG_BITE_ON_PANIC
help
This forces a watchdog bite early in panic sequence. On certain
MSM SoCs, this provides us additional debugging information at the
context of the crash. If this option is disabled, then bite occurs
later in panic, which permits more of the restart sequence to run
(e.g. more dmesg to flushed to console).
config QCOM_WATCHDOG_BARK_TIME
depends on QCOM_WDT_CORE
int "Qualcomm Technologies, Inc. Watchdog bark time in ms"
default 16000
range 11000 22000
help
The amount of time, in milliseconds, that should elapse after
a watchdog timer reset before a bark interrupt is sent from the
watchdog.
config QCOM_WATCHDOG_PET_TIME
depends on QCOM_WDT_CORE
int "Qualcomm Technologies, Inc. Watchdog pet time in ms"
default 9360
range 9360 9360
help
The amount of time, in milliseconds, that should elapse before
a watchdog pet is initiated to reset the watchdog timer to 0.
config QCOM_WATCHDOG_IPI_PING
depends on QCOM_WDT_CORE
bool "Qualcomm Technologies, Inc. Watchdog ipi ping"
default y
help
This boolean flag gives the watchdog driver the ability to send a
keep-alive ping to other cpu's if it is set to 1. Otherwise, when
it is set to 0 no keep alive pings will be sent.
config QCOM_WATCHDOG_WAKEUP_ENABLE
depends on QCOM_WDT_CORE
bool "Qualcomm Technologies, Inc. Watchdog wakeup enable"
default y
help
This boolean flag allows the non secure watchdog counter to freeze
and unfreeze automatically across the system suspend and resume
path.
config QCOM_WATCHDOG_USERSPACE_PET
depends on QCOM_WDT_CORE
bool "Qualcomm Technologies, Inc. Watchdog user pet enable"
default n
help
This boolean flag allows enabling the userspace-watchdog feature.
This feature requires userspace to pet the watchdog every in an
interval that matches the time set in the pet-time config.
The feature is supported through device sysfs files.
config MSM_SPCOM
depends on QCOM_SPSS
tristate "Secure Processor Communication over RPMSG"
help
SPCOM driver allows loading Secure Processor Applications and sending
messages to Secure Processor Applications. SPCOM implements logic of RPMSG
client of SPSS edge. SPCOM provides interface to both user space app and
kernel driver. It is using glink as the transport layer, which provides
multiple logical channels over single physical channel. The physical layer
is based on shared memory and interrupts. SPCOM provides clients/server API
although currently only one client/server is allowed per logical channel.
config MSM_SPSS_UTILS
depends on QCOM_SPSS
tristate "Secure Processor Utilities"
help
spss-utils driver selects Secure Processor firmware file name.name
The firmware file name for dev, test or production is selected
based on two fuses.fuses
Different file name is used for differnt SPSS HW versions,versions
because the SPSS firmware size is too small to support multiple
HW versions.
config QCOM_WCNSS_CTRL
tristate "Qualcomm WCNSS control driver"
depends on ARCH_QCOM || COMPILE_TEST
depends on RPMSG
help
Client driver for the WCNSS_CTRL SMD channel, used to download nv
firmware to a newly booted WCNSS chip.
config QCOM_DCC_V2
tristate "Qualcomm Technologies Data Capture and Compare enigne support for V2"
help
This option enables driver for Data Capture and Compare engine. DCC
driver provides interface to configure DCC block and read back
captured data from DCC's internal SRAM.
config QCOM_SUBSYSTEM_SLEEP_STATS
tristate "Qualcomm Technologies, Inc. Subsystem sleep stats driver"
depends on QCOM_SMEM
help
This driver is IOCTL implementation to get the subsystem stats data
from SMEM. Stats information such as sleep count, last entered at,
last exited at and accumulated duration can be read from
userspace with ioctl.
config QCOM_CDSP_RM
tristate "CDSP request manager"
depends on RPMSG
help
This driver serves CDSP requests for CPU L3 clock and CPU QoS thus
improving CDSP performance. Using this driver, CDSP can set appropriate
CPU L3 clock for improving IO-Coherent throughput and opt for QoS mode
to improve RPC latency. The driver also registers cooling devices for
CDSP subsystem and implements Cx ipeak limit management.
config CDSPRM_VTCM_DYNAMIC_DEBUG
bool "Enable for VTCM parition test enablement"
help
The VTCM dynamic debug flag is used to enable the vtcm partition test
feature from the debugfs node from cdsprm driver.When the test is
enabled, the vtcm partition details are sent to the CDSP via rpmsg
channel.
config QCOM_SYSMON_SUBSYSTEM_STATS
tristate "Qualcomm Technologies SysMon DSP subsystem stats"
depends on QCOM_SMEM
help
sysMon subsystem stats driver exposes API to query DSP
subsystem's load, power, DDR and Sleep statistics stored in
SMEM region for each DSP subsystem which is updated periodically
by the respective subsystems.
config MSM_SLATECOM
tristate "Provide APIs to communicate with Slate chipset"
help
SLATECOM is a thin layer above SPI. It is used within a SoC for
communication between G-Link/slate_com_dev and Slate processor over SPI.
This handle the interrupts raised by BG and notify the G-link with
interrupt event and event data.
config MSM_SLATECOM_INTERFACE
tristate "Driver support for Slate Communication"
depends on MSM_SLATECOM
help
Create a slate_com_dev device node for user space communication.
Single user space client can open device node for communication
from hardware. Hardware will provide access to read
registers and read/write AHB memory in the device.
config MSM_SLATECOM_RPMSG
tristate "Provide support for slate control GLINK channel"
depends on MSM_SLATECOM_INTERFACE
help
MSM_SLATECOM_RPMSG informs SLATECOM_INTERFACE driver if GLINK channel
has been opened by remote processor. It doesn't maintain state machine
and is probed when Slate opens channel and removed when the channel is
closed by remote processor.
config MSM_SLATERSB
tristate "Provide support for rsb events on Slate"
help
SLATERSB communicates to SLATE over rpmsg driver for RSB configuration
and enable/disable on device power state change.Add slate rsb driver
which is use to configure rsb on slate.Slate rsb driver uses glink
to communicate with slate
config MSM_SLATERSB_RPMSG
tristate "Provide support for slate events to RSB"
depends on MSM_SLATERSB
help
SLATERSB-RPMSG informs SLATERSB driver if GLINK channel has been
opened by remote processor. It doesn't maintain state machine
and is probed when SLATE opens channel and removed when the
channel is closed by remote processor.
config MSM_SEB
tristate "Provide APIs to send and receive events from Slate chipset"
help
SEB(Slate event bridge) communicates to Slate over rpmsg driver to
send or receive events from Slate. The button events received from
Slate are send to input framework. The driver provides functionality
for a client to register a callback to receive events from a group.
config MSM_SEB_RPMSG
tristate "Provide support for slate event GLINK channel"
depends on MSM_SEB
help
SEB_RPMSG informs SEB driver if GLINK channel has been
opened by remote processor. It doesn't maintain state machine
and is probed when Slate opens channel and removed when the
channel is closed by remote processor.
config MSM_SLATECOM_EVENT
tristate "provide support for slate sensor event Communication"
depends on MSM_SEB
help
Create a slate_com_event device node for user space communication.
This event driver register for AON event bridge to receive sensor
up and down and notifies upper layer HAL about sensor stataus
through uevent via netlink socket.
config QCOM_APR
tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
depends on ARCH_QCOM || COMPILE_TEST
depends on RPMSG
depends on NET
select QCOM_PDR_HELPERS
help
Enable APR IPC protocol support between
application processor and QDSP6. APR is
used by audio driver to configure QDSP6
ASM, ADM and AFE modules.
config QCOM_EUD
tristate "QTI Embedded USB Debugger (EUD)"
depends on ARCH_QCOM
select SERIAL_CORE
help
The EUD (Embedded USB Debugger) is a mini-USB hub implemented
on chip to support the USB-based debug and trace capabilities.
This module enables support for Qualcomm Technologies, Inc.
Embedded USB Debugger (EUD).
If unsure, say N.
config QPNP_PBS
tristate "PBS trigger support for QPNP PMIC"
depends on SPMI
help
This driver supports configuring software PBS trigger event through PBS
RAM on Qualcomm Technologies, Inc. QPNP PMICs. This module provides
the APIs to the client drivers that wants to send the PBS trigger
event to the PBS RAM.
config QTI_PMIC_PON_LOG
tristate "PMIC PON log parser driver"
help
The PMIC PON log driver parses PMIC power-on, power-off, and fault
information out of a binary log stored in the SDAM memory found on
some Qualcomm Technologies, Inc. PMIC devices. This driver is useful
when debugging unexpected power-off scenarios.
config QTI_PMIC_LPM
tristate "QTI PMIC LPM support"
depends on MFD_SPMI_PMIC
help
Say Y here to enable the Qualcomm Technologies, Inc. low power mode
driver which reports the entry and exit of PMIC's low power modes
DeepSleep/Hibernate/TWM to a companion chip through the SDAM
interface.
To compile this driver as a module, choose M here: the
module will be called qti-pmic-lpm.
config MSM_BOOT_STATS
tristate "Use MSM boot stats reporting"
help
Use this to report msm boot stats such as bootloader throughput,
display init, total boot time.
This figures are reported in mpm sleep clock cycles and have a
resolution of 31 bits as 1 bit is used as an overflow check.
choice
prompt "Perform Action on spinlock bug"
depends on DEBUG_SPINLOCK && QCOM_CPU_VENDOR_HOOKS
default DEBUG_SPINLOCK_BITE_ON_BUG
config DEBUG_SPINLOCK_BITE_ON_BUG
bool "Cause a Watchdog Bite on Spinlock bug"
depends on QCOM_WDT_CORE
help
On a spinlock bug, cause a watchdog bite so that we can get
the precise state of the system captured at the time of spin
dump. This is mutually exclusive with the below
DEBUG_SPINLOCK_PANIC_ON_BUG config.
config DEBUG_SPINLOCK_PANIC_ON_BUG
bool "Cause a Kernel Panic on Spinlock bug"
help
On a spinlock bug, cause a kernel panic so that we can get the
complete information about the system at the time of spin dump
in the dmesg. This is mutually exclusive with the above
DEBUG_SPINLOCK_BITE_ON_BUG.
endchoice
config USB_BAM
tristate "USB BAM Driver"
help
Enabling this option adds USB BAM Driver.
USB BAM driver was added to supports Smart Peripheral Subsystem
Peripheral-to-Peripheral transfers between the USB and other
peripheral.
config QCOM_RAMDUMP
tristate "Qualcomm Technologies, Inc. Ramdump driver"
default n
help
This option enables the QTI ramdump driver. The ramdump driver
provides APIs to collect ramdumps which can be extracted from
userspace. Say 'Y' here to enable this driver. It's safe to say
'N' here if you don't plan on collecting ramdumps.
config QCOM_CPU_VENDOR_HOOKS
tristate "QTI Vendor Hooks Support"
depends on ARCH_QCOM && ANDROID_VENDOR_HOOKS
help
CPU vendor hooks driver registers with andriod vendor hooks
provided by core kernel to extend kernel functionality.
Currently these features are not supported by upstream kernel and not
having scope to upstream.
If unsure, say N.
config QCOM_PANEL_EVENT_NOTIFIER
tristate "panel event notifier"
depends on DRM
help
Enabling this option adds panel event notifier driver.
This driver is responsible for notifying clients interested in display
panel events such as panel on , panel off, fps change etc. Clients
can use these notifications for power saving or align its operations
with display panel power state.
config QTI_CRYPTO_COMMON
tristate "Enable common crypto functionality used for FBE"
depends on SCSI_UFS_CRYPTO_QTI || MMC_CRYPTO_QTI
help
Say 'Y' to enable the common crypto implementation to be used by
different storage layers such as UFS and EMMC for file based hardware
encryption. This library implements API to program and evict
keys using Trustzone or Hardware Key Manager.
config QTI_CRYPTO_FDE
tristate "Enable common crypto functionality used for FDE"
depends on QTI_CRYPTO_COMMON
help
Say 'Y' to enable the common crypto implementation to be used by
different storage layers such as UFS and EMMC for full disk hardware
encryption. this is control only for enable inline crypto engine for Full
Disk Encryption.
config QTI_CRYPTO_TZ
tristate "Enable Trustzone to be used for FBE"
depends on QTI_CRYPTO_COMMON
help
Say 'Y' to enable routing crypto requests to Trustzone while
performing hardware based file encryption. This means keys are
programmed and managed through SCM calls to TZ where ICE driver
will configure keys.
config QTI_CRYPTO_FDE
tristate "Enable common crypto functionality used for FDE"
depends on QTI_CRYPTO_COMMON
help
Say 'Y' to enable hardware Full Disk Encryption implementation to be used by
different storage layers such as UFS or eMMC. Enabling the FDE will reserve
one slot of KSM(Key Slot Manager) for the FDE. Making one less slot available
for FBE(File based encryption) in case both encryption mechanism are enabled
on device.
config QTI_CRYPTO_LEGACY_KEY_FDE
tristate "Enable legacy single key for functionality to be used for FDE"
depends on QTI_CRYPTO_FDE
help
Say 'Y' to enable hardware Full Disk Encryption implementation to use the
legacy key generation.Keep using only single slot of KSM with
the legacy key id for all the partitions.
The Legacy support will be deprecated in the future versions.
config QTI_CRYPTO_VIRTUALIZATION
tristate "Enable hypervysor to be used for FBE"
depends on FS_ENCRYPTION_INLINE_CRYPT
depends on MSM_HAB
help
Say 'Y or M' to enable routing of crypto requests to different operating
system in virtualized environment. Driver uses a hardware abstraction(hab)
layer where the APIs exposed by that operationg systems are used to send
requests to perform the hardware crypto operation.
config QTI_HW_KEY_MANAGER
tristate "Enable QTI Hardware Key Manager for storage encryption"
default n
help
Say 'Y' to enable the hardware key manager driver used to operate
and access key manager hardware block. This is used to interface with
HWKM hardware to perform key operations from the kernel which will
be used for storage encryption.
config QTI_HW_KEY_MANAGER_V1
tristate "Enable QTI Hardware Key Manager v1 for storage encryption"
default n
help
Say 'Y' to enable the hardware key manager v1 driver used to operate
and access key manager hardware block. This is used to interface with
HWKM hardware to perform key operations from the kernel which will
be used for storage encryption.
config QCOM_MEM_OFFLINE
tristate "Dynamic Memory Region Offline driver"
depends on MEMORY_HOTPLUG
help
Add support for DDR Self-Refresh power management through the dynamic
memory offline framework. This driver interfaces between the memory
hotplug subsystem and AOP which hot adds or removes memory blocks and
controls the start/stop of self-refresh of these DDR regions. This
helps reduce power consumption during idle mode of the system.
If unsure, say N
config BUG_ON_HW_MEM_ONLINE_FAIL
bool "Trigger a BUG when HW memory online fails"
depends on QCOM_MEM_OFFLINE
help
Select this option if kernel should BUG when the hardware
onlining of memory hotplug blocks fails. This helps to catch
online failures much quicker and avoids the later side effects
of such memory online failures.
If unsure, say N
config QCOM_HUNG_TASK_ENH
tristate "QTI Hung Task Enhancement"
depends on ARCH_QCOM
help
Add options at sysfs to enhance khungtask, allow user to
select and monitor tasks in black/white list mode. Also
processes in iowait for specific situation will be monitored
to avoid devices long time no response.
config QCOM_GUESTVM
tristate "Enable Guest VM to be loaded by PIL"
select QCOM_MDT_LOADER
help
This driver invokes Peripheral Image Loader to load images of
any guest Virtual Machine (VM). It also communicates with the
Resource Manager driver to start the boot of VMs once it has
successfully loaded the VM images in the designated memory.
config QCOM_HYP_CORE_CTL
tristate "CPU reservation scheme for Hypervisor"
depends on QCOM_GUESTVM && SCHED_WALT
help
This driver reserve the specified CPUS by isolating them. The reserved
CPUs can be assigned to the other guest OS by the hypervisor.
An offline CPU is considered as a reserved CPU since this OS can't use
it.
config QCOM_FSA4480_I2C
tristate "Fairchild FSA4480 chip with I2C"
select REGMAP_I2C
depends on I2C
help
Support for the Fairchild FSA4480 IC switch chip controlled
using I2C. This driver provides common support
for accessing the device, switching between USB and Audio
modes, changing orientation.
config GH_TLMM_VM_MEM_ACCESS
tristate "Qualcomm Technologies, Inc. TLMM VM mem access driver"
depends on GH_RM_DRV
help
Qualcomm Technologies, Inc. TLMM VM mem access driver for MSM devices.
The drivers provides initial gpio memory access to VM.
Say Y here to compile the driver as a part of kernel or M to compile
as a module.
config MSM_PERFORMANCE
tristate "msm performance driver to support userspace fmin/fmax request"
help
This driver can restrict max freq or min freq of cpu cluster
when requested by the userspace by changing the cpufreq policy
fmin and fmax. The user space can request the cpu freq change by
writing cpu#:freq values
config QCOM_WCD_USBSS_I2C
tristate "WCD USBSS chip with I2C"
select REGMAP
depends on I2C
help
Support for the WCD939X USBSS IC switch chip controlled
using I2C. This driver provides common support
for accessing the device, switching between USB and Audio
modes, changing orientation.
config QCOM_MINIDUMP
tristate "QCOM Minidump Support"
depends on QCOM_SMEM || GUNYAH_DRIVERS
help
This enables minidump feature. It allows various clients to
register to dump their state at system bad state (panic/WDT,etc.,).
Minidump would dump all registered entries, only when DLOAD mode
is enabled.
config QCOM_MINIDUMP_SMEM
bool "QCOM Minidump SMEM Support"
depends on QCOM_MINIDUMP && QCOM_SMEM
default y
help
This enables minidump smem transport layer.
If minidump and smem are enabled,
this config option shall be enabled by
default.
config QCOM_MINIDUMP_RM
bool "QCOM Minidump RM Support"
depends on QCOM_MINIDUMP && GUNYAH_DRIVERS
help
This enables minidump rm on gunyah platform transport layer.
If minidump and gunyah are enabled,
say yes to enable minidump feature.
If unsure, say no.
config QCOM_MINIDUMP_MMIO
tristate "QTI Minidump MMIO Support"
depends on QCOM_MINIDUMP && VIRTIO_MMIO
help
This enables MMIO minidump transport layer.
If the target emulates minidump smem as shadow registers, say yes to
enable minidump feature.
If unsure, say no.
config QCOM_MINIDUMP_VIRTIO
tristate "QCOM Minidump based on VIRTIO Support"
depends on QCOM_MINIDUMP && VIRTIO
help
This enables VirtIO minidump transport layer.
If minidump and VirtIO are enabled,
say yes to enable minidump feature.
If unsure, say no.
config QCOM_VA_MINIDUMP
tristate "QCOM VA Minidump Support"
depends on QCOM_MINIDUMP
help
This enables minidump feature for registering dynamic
data structures. It supports VA based registration
with minidump, which is made into an ELF. The region
for ELF is registered with legacy minidump.
config QCOM_DYN_MINIDUMP_STACK
bool "QTI Dynamic Minidump Stack Registration Support"
depends on QCOM_MINIDUMP
help
This enables minidump dynamic current stack registration feature.
It allows current task stack to be available in minidump, for cases
where CPU is unable to register it from IPI_CPU_STOP. The stack data
can be used to unwind stack frames.
config QCOM_MINIDUMP_FTRACE
bool "QCOM Minidump Support"
depends on QCOM_MINIDUMP
help
This enables ftrace buffer registration in minidump table.
On oops, ftrace content will be copied to that buffer.
This way ftrace buffer content becomes a part of minidump dump
collection.
config QCOM_MINIDUMP_PANIC_DUMP
bool "QCOM Minidump Panic dumps Support"
depends on QCOM_MINIDUMP
help
This enables collection of debug information like runqueue
statistics etc. on panic in minidump. It dumps current, CFS,
and RT runqueue tasks running on each cpu. This help in
knowing the tasks running, pending, hogging on cpu during
panic.
config QCOM_MINIDUMP_PANIC_CPU_CONTEXT
bool "QCOM Minidump Panic dumps Support"
depends on ARM64 && QCOM_MINIDUMP_PANIC_DUMP
help
This enables cpu context collection in minidump table,
on panic.
config QCOM_MINIDUMP_PSTORE
bool "QCOM Minidump Pstore dumps Support"
depends on ARM64 && QCOM_MINIDUMP
help
This enables pstore registration in minidump table.
Here, pstore framework dump logs like pmsg, dmesg,
console ftrace etc. in the given carve-out memory
(non-volatile memory) and during warm reboot these
dump will be copied outside the system on panic.
config MINIDUMP_MAX_ENTRIES
int "Minidump Maximum num of entries"
default 200
depends on QCOM_MINIDUMP
help
This defines maximum number of entries to be allocated for application
subsytem in Minidump table.
config MINIDUMP_ALL_TASK_INFO
bool "Minidump All task info"
depends on QCOM_MINIDUMP
help
Minidump runqueue dump only collect running task
info by default, this enables all task info
collection during panic. This can provide more
debug info.
config QCOM_LOGBUF_VENDOR_HOOKS
tristate "QTI Logbuf Vendor Hooks Support"
depends on ARCH_QCOM && ANDROID_VENDOR_HOOKS
help
This enables to keep copy of initial log_buf
of minimum 512KB from bootup. It can help in
debugging issues which are manifestation
of failure during initial bootup.
config MSM_QBT_HANDLER
tristate "Event Handler for QTI Ultrasonic Fingerprint Sensor"
help
This driver acts as a interrupt handler, where the interrupt is generated
by the QTI Ultrasonic Fingerprint Sensor. It queues the events for each
interrupt in an event queue and notifies the userspace to read the events
from the queue. It also creates an input device to send key events such as
KEY_POWER, KEY_HOME.
config QCOM_VM_DMESG_DUMPER
tristate "Dump a VM's kmsg to a shared reserved memory upon panic"
depends on GH_RM_DRV
depends on QCOM_SECURE_BUFFER || ARCH_QTI_VM
help
Upon encountering a kernel panic in a Virtual machine, enable the
dumping the kmsg log buffer to a reserved memory section through the
use of a Gunyah shared-memory doorbell object. This driver is to be
enabled on both Primary VM and the other VM whose kmsg is desired.
config QCOM_VM_ALIVE_LOG_DUMPER
bool "Dump a VM's alive kmsg to a shared reserved memory Support"
depends on QCOM_VM_DMESG_DUMPER
default y
help
This enables to dump a VM's alive kmsg log buffer to the reserved
memory section, triggered by Primary VM. This needs to be enabled on
both Primary VM and the other VM whose kmsg is desired.
config QCOM_VM_ALIVE_LOG_ENCRYPT
bool "Encrypt alive log Support"
depends on ARCH_QTI_VM && QCOM_VM_ALIVE_LOG_DUMPER && CRYPTO_GCM
default y
help
This enables to encrypt alive log and use AES GCM mode for symmetric key
wrapping. This needs to be enabled on both Primary VM and the other VM
whose kmsg is desired.
config QCOM_DEBUG_SYMBOL
tristate "Enable Debug Symbol Support"
help
This enables Debug Symbol Support. This driver is based on
Google Debug Kinfo driver, according to the provided info, this
driver allows other modules to get symbol addresses by traversing
kallsyms table for debug usage.
source "drivers/soc/qcom/mem_buf/Kconfig"
source "drivers/soc/qcom/tmecom/Kconfig"
source "drivers/soc/qcom/gnsssirf/Kconfig"
config DUMP_XBL_LOG
tristate "print xbl log on console from fs"
help
This driver is used to capture xbl log from reserved memory region
defined separately in each device tree and print on console when user
requests. User can perform below command to print xbl log stored in
reserved memory region:
cat /sys/kernel/xbl_log/xbl_log
config QCOM_AOP_SET_DDR
tristate "Sysfs to communicate with AOP using QMP protocol"
help
This options enables a driver which allows clients to send messages
to Alway On processor using QMP transport. Users can echo a frequency
into an exposed sysfs node to send to AOP. The driver expects the Cap
frequency of DDR based on SKU.
config ICNSS2_DEBUG
bool "ICNSS2 Platform Driver Debug Support"
help
This option is to enable ICNSS2 platform driver debug support which
primarily includes providing additional verbose logs for certain
features, enabling kernel panic for certain cases to aid the
debugging, and enabling any other debug mechanisms.
config MSM_POWER_STATE
tristate "Power State driver support for Deep Sleep and Hibernate"
help
This option enables Power State Driver which is the kernel component
for supporting deep sleep and hibernate. Create a power_state device
node for user space communication. User space client can open device
node for communication required for handling deep sleep and hibernate
modes.
config DEEPSLEEP
bool "Deep Sleep or Suspend-to-RAM sleep state"
depends on MSM_POWER_STATE
help
Set this option to enable Deep Sleep. Deep Sleep is Suspend-to-RAM
sleep state, in which entire system is put in a low-power state,
except for memory, so that exit from this state can happen in shorter
duration.
config NOTIFY_AOP
bool "Notify the Deep Sleep to AOP"
depends on MSM_POWER_STATE
help
set this option to send the DeepSleep notification to AOP from
APSS when APSS decided to go to the Deep Sleep. AOP once it
receives the notification, save the state and once all subsystems
went to power collapse put the device to Deep Sleep.
config RENAME_DEVICES
tristate "Rename block and network device names"
depends on VIRTIO_BLK
default n
help
This option is to rename the block and network devices names
which is needed during android verified boot process and it
also maps to physical partition names on gvm side which help
identify the block and network devices.
config QCOM_S2D_VENDOR_HOOK
tristate "Vendor hook module to route flow of the core Kernel"
help
This options enable vendor hook callbacks for bootloader based
hibernation. Callbacks implemented here are called from the
core kernel and help to do bootloader hibernation specific job.
Enable this if bootloader hibernation is enabled.
config QCOM_SECURE_HIBERNATION
tristate "Add security support to hibernation"
depends on HIBERNATION
help
Secure the hibernation snapshot by encrypting
the snapshot at kernel before saving to disk.
This uses GCM-AES crypto algorithm to encrypt the
pages at the kernel.
If not sure, say N.
endmenu