1562 lines
57 KiB
Text
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
|