750 lines
26 KiB
Plaintext
750 lines
26 KiB
Plaintext
#
|
|
# QCOM Soc drivers
|
|
#
|
|
config OPTIMIZE_LTE_RX
|
|
bool "Optimize lte rx"
|
|
help
|
|
Say y here to optimize memory for 9x07 with qc wlan.
|
|
|
|
config QCOM_GSBI
|
|
tristate "QCOM General Serial Bus Interface"
|
|
depends on ARCH_QCOM
|
|
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.
|
|
|
|
if ARCH_MSM
|
|
|
|
config CP_ACCESS64
|
|
depends on ARM64
|
|
tristate "CP 64-bit register access tool"
|
|
help
|
|
Provide support for AARCH64 CP register access using /sys
|
|
interface. Read and write to CP registers from userspace
|
|
through sysfs interface. A sys file (cp_rw) will be created under
|
|
/sys/devices/cpaccess/cpaccess0.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_INRUSH_CURRENT_MITIGATION
|
|
bool "Inrush-current mitigation Driver"
|
|
help
|
|
This driver helps in mitigating in-rush current on MSM
|
|
chipsets which has voltage droop issues due to sudden
|
|
huge load on a rail. This driver introduces an intermediate
|
|
load to mitigate the in-rush current.
|
|
|
|
config MSM_QDSP6_APRV2
|
|
bool "Audio QDSP6 APRv2 support"
|
|
depends on MSM_SMD
|
|
help
|
|
Enable APRv2 IPC protocol support between
|
|
application processor and QDSP6. APR is
|
|
used by audio driver to configure QDSP6's
|
|
ASM, ADM and AFE.
|
|
|
|
config MSM_GLADIATOR_ERP
|
|
tristate "GLADIATOR coherency interconnect error reporting driver"
|
|
help
|
|
Support dumping debug information for the GLADIATOR
|
|
cache interconnect in the error interrupt handler.
|
|
Meant to be used for debug scenarios only.
|
|
|
|
If unsure, say N.
|
|
|
|
config PANIC_ON_GLADIATOR_ERROR
|
|
depends on MSM_GLADIATOR_ERP
|
|
bool "Panic on GLADIATOR error report"
|
|
help
|
|
Panic upon detection of an Gladiator coherency interconnect error
|
|
in order to support dumping debug information.
|
|
Meant to be used for debug scenarios only.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_QDSP6_APRV3
|
|
bool "Audio QDSP6 APRv3 support"
|
|
depends on MSM_SMD
|
|
help
|
|
Enable APRv3 IPC protocol support between
|
|
application processor and QDSP6. APR is
|
|
used by audio driver to configure QDSP6v2's
|
|
ASM, ADM and AFE.
|
|
|
|
config MSM_ADSP_LOADER
|
|
tristate "ADSP loader support"
|
|
select SND_SOC_MSM_APRV2_INTF
|
|
depends on MSM_QDSP6_APRV2 || MSM_QDSP6_APRV3
|
|
help
|
|
Enable ADSP image loader.
|
|
The ADSP loader brings ADSP out of reset
|
|
for the platforms that use APRv2.
|
|
Say M if you want to enable this module.
|
|
|
|
config MSM_MEMORY_DUMP
|
|
bool "MSM Memory Dump 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 MSM_MEMORY_DUMP_V2
|
|
bool "MSM 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 MSM_DEBUG_LAR_UNLOCK
|
|
bool "MSM Debug LAR Unlock Support"
|
|
depends on MSM_MEMORY_DUMP_V2
|
|
help
|
|
This allows unlocking Core Debug lock to allow capture
|
|
of upper 32 bits of program counter at the time of
|
|
system crash. This is useful in getting correct crash
|
|
location.
|
|
|
|
config MSM_JTAG
|
|
bool "Debug and ETM trace support across power collapse"
|
|
help
|
|
Enables support for debugging (specifically breakpoints) and ETM
|
|
processor tracing across power collapse both for JTag and OS hosted
|
|
software running on the 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 MSM_JTAG_MM
|
|
bool "Debug and ETM trace support across power collapse using memory mapped access"
|
|
help
|
|
Enables support for debugging (specifically breakpoints) and ETM
|
|
processor tracing across power collapse both for JTag and OS hosted
|
|
software running on the target. Enabling this will ensure debug
|
|
and ETM registers are saved and restored across power collapse.
|
|
|
|
Required on targets on which cp14 access to debug and ETM registers is
|
|
not permitted and so memory mapped access is necessary.
|
|
|
|
If unsure, say 'N' here to avoid potential power, performance and
|
|
memory penalty.
|
|
|
|
config MSM_JTAGV8
|
|
bool "Debug and ETM trace support across power collapse for ARMv8"
|
|
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 MSM_BOOT_STATS
|
|
bool "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.
|
|
|
|
config MSM_CPUSS_DUMP
|
|
bool "CPU Subsystem Dumping support"
|
|
help
|
|
Add support to dump various hardware entities such as the instruction
|
|
and data tlb's as well as the unified tlb, which are a part of the
|
|
cpu subsystem to an allocated buffer. This allows for analysis of the
|
|
the entities if corruption is suspected.
|
|
If unsure, say N
|
|
|
|
config MSM_COMMON_LOG
|
|
bool "MSM Common Log Support"
|
|
help
|
|
Use this to export symbols of some log address and variables
|
|
that need to parse crash dump files to a memory dump table. This
|
|
table can be used by post analysis tools to extract information
|
|
from memory when device crashes.
|
|
|
|
config MSM_DDR_HEALTH
|
|
bool "MSM DDR Health Driver"
|
|
default n
|
|
help
|
|
This option enables a driver which allocates DDR buffer of requested
|
|
size and sends it's locatoin to RPM sub system. RPM subsystem can
|
|
make use of this buffer to monitor DDR health.
|
|
|
|
config MSM_HYP_DEBUG
|
|
bool "MSM Hypervisor Debug Driver"
|
|
help
|
|
This enables the Hypervisor Debug driver. It allows the mapping and
|
|
and unmapping of user defined memory range from stage 2. It also
|
|
supports mapping and unmapping PIL image load memory range from
|
|
stage 2 depending upon the PIL image state.
|
|
|
|
config MSM_WATCHDOG_V2
|
|
bool "MSM Watchdog Support"
|
|
help
|
|
This enables the watchdog module. It causes kernel panic if the
|
|
watchdog times out. It allows for detection of cpu hangs and
|
|
deadlocks. It does not run during the bootup process, so it will
|
|
not catch any early lockups.
|
|
|
|
config MSM_FORCE_WDOG_BITE_ON_PANIC
|
|
bool "MSM force watchdog bite"
|
|
depends on MSM_WATCHDOG_V2
|
|
help
|
|
This forces a watchdog bite when the device restarts due to a
|
|
kernel panic. On certain MSM SoCs, this provides us
|
|
additional debugging information.
|
|
|
|
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.
|
|
|
|
config MSM_GLADIATOR_HANG_DETECT
|
|
tristate "MSM Gladiator Hang Detection Support"
|
|
help
|
|
This enables the gladiator hang detection module.
|
|
If the configured threshold is reached, it causes SoC reset on
|
|
gladiator hang detection and collects the context for the
|
|
gladiator hang.
|
|
|
|
config MSM_CPU_PWR_CTL
|
|
bool "Cpu subsystem power control"
|
|
depends on SMP && (ARM || ARM64)
|
|
default y
|
|
help
|
|
Provides routines to power on cpu rails and l2 cache
|
|
controller during coldboot.
|
|
|
|
config MSM_CACHE_M4M_ERP64
|
|
bool "Cache and M4M error report"
|
|
depends on ARCH_MSM8996
|
|
help
|
|
Say 'Y' here to enable reporting of cache and M4M errors to the kernel
|
|
log. The kernel log contains collected error syndrome and address
|
|
registers. These register dumps can be used as useful information
|
|
to find out possible hardware problems.
|
|
|
|
config MSM_CACHE_M4M_ERP64_PANIC_ON_CE
|
|
bool "Panic on correctable cache/M4M errors"
|
|
depends on MSM_CACHE_M4M_ERP64
|
|
help
|
|
Say 'Y' here to cause kernel panic when correctable cache/M4M errors
|
|
are detected. Enabling this is useful when you want to dump memory
|
|
and system state close to the time when the error occured.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_CACHE_M4M_ERP64_PANIC_ON_UE
|
|
bool "Panic on uncorrectable cache/M4M errors"
|
|
depends on MSM_CACHE_M4M_ERP64
|
|
help
|
|
Say 'Y' here to cause kernel panic when uncorrectable cache/M4M errors
|
|
are detected.
|
|
|
|
config MSM_RPM_SMD
|
|
bool "RPM driver using SMD protocol"
|
|
help
|
|
RPM is the dedicated hardware engine for managing shared SoC
|
|
resources. This config adds driver support for using SMD as a
|
|
transport layer communication with RPM hardware. It also selects
|
|
the MSM_MPM config that programs the MPM module to monitor interrupts
|
|
during sleep modes.
|
|
|
|
config MSM_RPM_RBCPR_STATS_V2_LOG
|
|
tristate "MSM Resource Power Manager RPBCPR Stat Driver"
|
|
depends on DEBUG_FS
|
|
help
|
|
This option enables v2 of the rpmrbcpr_stats driver which reads RPM
|
|
memory for statistics pertaining to RPM's RBCPR(Rapid Bridge Core
|
|
Power Reduction) driver. The drivers outputs the message via a
|
|
debugfs node.
|
|
|
|
config MSM_RPM_LOG
|
|
tristate "MSM Resource Power Manager Log Driver"
|
|
depends on DEBUG_FS
|
|
depends on MSM_RPM_SMD
|
|
default n
|
|
help
|
|
This option enables a driver which can read from a circular buffer
|
|
of messages produced by the RPM. These messages provide diagnostic
|
|
information about RPM operation. The driver outputs the messages
|
|
via a debugfs node.
|
|
|
|
config MSM_RPM_STATS_LOG
|
|
tristate "MSM Resource Power Manager Stat Driver"
|
|
depends on DEBUG_FS
|
|
depends on MSM_RPM_SMD
|
|
default n
|
|
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 RPM enters. The drivers outputs the message
|
|
via a debugfs node.
|
|
|
|
config MSM_RUN_QUEUE_STATS
|
|
bool "Enable collection and exporting of MSM 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 MSM_SCM
|
|
bool "Secure Channel Manager (SCM) support"
|
|
default n
|
|
|
|
menuconfig MSM_SCM_XPU
|
|
bool "MSM XPU configuration driver"
|
|
depends on MSM_SCM
|
|
|
|
if MSM_SCM_XPU
|
|
|
|
choice
|
|
prompt "XPU Violation Behavior"
|
|
default MSM_XPU_ERR_FATAL
|
|
|
|
config MSM_XPU_ERR_FATAL
|
|
bool "Configure XPU violations as fatal errors"
|
|
help
|
|
Select if XPU violations have to be configured as fatal errors.
|
|
|
|
config MSM_XPU_ERR_NONFATAL
|
|
bool "Configure XPU violations as non-fatal errors"
|
|
help
|
|
Select if XPU violations have to be configured as non-fatal errors.
|
|
|
|
endchoice
|
|
|
|
endif
|
|
|
|
config MSM_SCM_ERRATA
|
|
depends on DEBUG_FS
|
|
depends on MSM_SCM
|
|
bool "Support for enabling/disabling errata workarounds via debugfs"
|
|
help
|
|
Exposes a debugfs interface intended for advanced system debugging
|
|
where it may be desirable to enable or disable certain hardware
|
|
errata workarounds at runtime.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_PFE_WA
|
|
depends on HW_PERF_EVENTS
|
|
bool "Enable a H/W PFE WA"
|
|
help
|
|
Sometimes the PFTLB entries get stuck in the invalid state and new
|
|
prefetches get dropped. For a workaround, count L1 prefeches dropped
|
|
due to PFTLB miss and reset H/W PFE when a overflow happens.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_MPM_OF
|
|
bool "Modem Power Manager"
|
|
depends on OF
|
|
help
|
|
MPM is a dedicated hardware resource responsible for entering and
|
|
waking up from a system wide low power mode. The MPM driver tracks
|
|
the wakeup interrupts and configures the MPM to monitor the wakeup
|
|
interrupts when going to a system wide sleep mode. This config option
|
|
enables the MPM driver that supports initialization from a device
|
|
tree
|
|
|
|
config MSM_SMEM
|
|
depends on REMOTE_SPINLOCK_MSM
|
|
bool "MSM Shared Memory (SMEM)"
|
|
help
|
|
Support for the shared memory interface between the various
|
|
processors in the System on a Chip (SoC) which allows basic
|
|
inter-processor communication.
|
|
|
|
config MSM_SMD
|
|
depends on MSM_SMEM
|
|
bool "MSM Shared Memory Driver (SMD)"
|
|
help
|
|
Support for the shared memory interprocessor communication protocol
|
|
which provides virual point to point serial channels between processes
|
|
on the apps processor and processes on other processors in the SoC.
|
|
Also includes support for the Shared Memory State Machine (SMSM)
|
|
protocol which provides a mechanism to publish single bit state
|
|
information to one or more processors in the SoC.
|
|
|
|
config MSM_SMD_DEBUG
|
|
depends on MSM_SMD
|
|
bool "MSM SMD debug support"
|
|
help
|
|
Support for debugging SMD and SMSM communication between apps and
|
|
other processors in the SoC. Debug support primarily consists of
|
|
logs consisting of information such as what interrupts were processed,
|
|
what channels caused interrupt activity, and when internal state
|
|
change events occur.
|
|
|
|
config MSM_GLINK
|
|
bool "Generic Link (G-Link)"
|
|
help
|
|
G-Link is a generic link transport that replaces SMD. It is used
|
|
within a System-on-Chip (SoC) for communication between both internal
|
|
processors and external peripherals. The actual physical transport
|
|
is handled by transport plug-ins that can be individually enabled and
|
|
configured separately.
|
|
|
|
config MSM_GLINK_LOOPBACK_SERVER
|
|
bool "Generic Link (G-Link) Loopback Server"
|
|
help
|
|
G-Link Loopback Server that enable loopback test framework to test
|
|
and validate the G-Link protocol stack. It support both local and
|
|
remote clients to configure the loopback server and echo back the
|
|
data received from the clients.
|
|
|
|
config MSM_GLINK_SMD_XPRT
|
|
depends on MSM_SMD
|
|
depends on MSM_GLINK
|
|
bool "Generic Link (G-Link) SMD Transport"
|
|
help
|
|
G-Link SMD Transport is a G-Link Transport plug-in. It allows G-Link
|
|
communication to remote entities through a SMD physical transport
|
|
channel. The remote side is assumed to be pure SMD. The nature of
|
|
SMD limits this G-Link transport to only connecting with entities
|
|
internal to the System-on-Chip.
|
|
|
|
config MSM_GLINK_SMEM_NATIVE_XPRT
|
|
depends on MSM_SMEM
|
|
depends on MSM_GLINK
|
|
bool "Generic Link (G-Link) SMEM Native Transport"
|
|
help
|
|
G-Link SMEM Native Transport is a G-Link Transport plug-in. It allows
|
|
G-Link communication to remote entities through a shared memory
|
|
physical transport. The nature of shared memory limits this G-Link
|
|
transport to only connecting with entities internal to the
|
|
System-on-Chip.
|
|
|
|
config MSM_SPCOM
|
|
depends on MSM_GLINK
|
|
bool "Secure Processor Communication over GLINK"
|
|
help
|
|
spcom driver allows loading Secure Processor Applications and
|
|
sending messages to Secure Processor Applications.
|
|
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 signle physical channel.
|
|
The physical layer is based on shared memory and interrupts.
|
|
spcom provides clients/server API, although currently only one client
|
|
or server is allowed per logical channel.
|
|
|
|
config MSM_SMEM_LOGGING
|
|
depends on MSM_SMEM
|
|
bool "MSM Shared Memory Logger"
|
|
help
|
|
Enable the shared memory logging to log the events between
|
|
the various processors in the system. This option exposes
|
|
the shared memory logger at /dev/smem_log and a debugfs node
|
|
named smem_log.
|
|
|
|
config MSM_SMP2P
|
|
bool "SMSM Point-to-Point (SMP2P)"
|
|
depends on MSM_SMEM
|
|
help
|
|
Provide point-to-point remote signaling support.
|
|
SMP2P enables transferring 32-bit values between
|
|
the local and a remote system using shared
|
|
memory and interrupts. A client can open multiple
|
|
32-bit values by specifying a unique string and
|
|
remote processor ID.
|
|
|
|
config MSM_SMP2P_TEST
|
|
bool "SMSM Point-to-Point Test"
|
|
depends on MSM_SMP2P
|
|
help
|
|
Enables loopback and unit testing support for
|
|
SMP2P. Loopback support is used by other
|
|
processors to do unit testing. Unit tests
|
|
are used to verify the local and remote
|
|
implementations.
|
|
|
|
config MSM_SPM
|
|
bool "Driver support for SPM Version 2"
|
|
help
|
|
Enables the support for Version 2 of the SPM driver. 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 MSM_QMI_INTERFACE
|
|
depends on IPC_ROUTER
|
|
depends on QMI_ENCDEC
|
|
bool "MSM QMI Interface Library"
|
|
help
|
|
Library to send and receive QMI messages over IPC Router.
|
|
This library provides interface functions to the kernel drivers
|
|
to perform QMI message marshaling and transport them over IPC
|
|
Router.
|
|
|
|
config MSM_DCC
|
|
bool "MSM Data Capture and Compare enigne support"
|
|
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 MSM_HVC
|
|
bool "MSM Hypervisor Call Support"
|
|
help
|
|
This enables the Hypervisor Call module. It provides apis to call
|
|
into the hypervisor thereby allowing access to services exposed by
|
|
the hypervisor. It is primarily intended to be used for Silicon
|
|
Partner/Manufacturer function identifier subrange but supports other
|
|
service call subranges as well.
|
|
|
|
config MSM_IPC_ROUTER_SMD_XPRT
|
|
depends on MSM_SMD
|
|
depends on IPC_ROUTER
|
|
bool "MSM SMD XPRT Layer"
|
|
help
|
|
SMD Transport Layer that enables IPC Router communication within
|
|
a System-on-Chip(SoC). When the SMD channels become available,
|
|
this layer registers a transport with IPC Router and enable
|
|
message exchange.
|
|
|
|
config MSM_EVENT_TIMER
|
|
bool "Event timer"
|
|
help
|
|
This option enables a modules that manages a list of event timers that
|
|
need to be monitored by the PM. The enables the PM code to monitor
|
|
events that require the core to be awake and ready to handle the
|
|
event.
|
|
|
|
config MSM_IPC_ROUTER_HSIC_XPRT
|
|
depends on USB_QCOM_IPC_BRIDGE
|
|
depends on IPC_ROUTER
|
|
bool "MSM HSIC XPRT Layer"
|
|
help
|
|
HSIC Transport Layer that enables off-chip communication of
|
|
IPC Router. When the HSIC endpoint becomes available, this layer
|
|
registers the transport with IPC Router and enable message
|
|
exchange.
|
|
|
|
config MSM_SYSMON_GLINK_COMM
|
|
bool "MSM System Monitor communication support using GLINK transport"
|
|
depends on MSM_GLINK && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
This option adds support for MSM System Monitor APIs using the GLINK
|
|
transport layer. The APIs provided may be used for notifying
|
|
subsystems within the SoC about other subsystems' power-up/down
|
|
state-changes.
|
|
|
|
config MSM_IPC_ROUTER_GLINK_XPRT
|
|
depends on MSM_GLINK
|
|
depends on IPC_ROUTER
|
|
bool "MSM GLINK XPRT Layer"
|
|
help
|
|
GLINK Transport Layer that enables IPC Router communication within
|
|
a System-on-Chip(SoC). When the GLINK channels become available,
|
|
this layer registers a transport with IPC Router and enable
|
|
message exchange.
|
|
|
|
config MSM_SYSTEM_HEALTH_MONITOR
|
|
bool "System Health Monitor"
|
|
depends on MSM_QMI_INTERFACE && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
System Health Monitor (SHM) passively monitors the health of the
|
|
peripherals connected to the application processor. Software
|
|
components in the application processor that experience
|
|
communication failure can request the SHM to perform a system-wide
|
|
health check. If any failures are detected during the health-check,
|
|
then a subsystem restart will be triggered for the failed subsystem.
|
|
|
|
config MSM_GLINK_PKT
|
|
bool "Enable device interface for GLINK packet channels"
|
|
depends on MSM_GLINK
|
|
help
|
|
G-link packet driver provides the interface for the userspace
|
|
clients to communicate over G-Link via deivce nodes.
|
|
This enable the usersapce clients to read and write to
|
|
some glink packets channel.
|
|
|
|
config MSM_TZ_SMMU
|
|
bool "Helper functions for SMMU configuration through TZ"
|
|
depends on ARCH_MSMTHULIUM
|
|
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 MSM_SUBSYSTEM_RESTART
|
|
bool "MSM Subsystem Restart"
|
|
help
|
|
This option enables the MSM subsystem restart framework.
|
|
|
|
The MSM subsystem restart framework provides support to boot,
|
|
shutdown, and restart subsystems with a reference counted API.
|
|
It also notifies userspace of transitions between these states via
|
|
sysfs.
|
|
|
|
config MSM_PIL
|
|
bool "Peripheral image loading"
|
|
select FW_LOADER
|
|
default n
|
|
help
|
|
Some peripherals need to be loaded into memory before they can be
|
|
brought out of reset.
|
|
|
|
Say yes to support these devices.
|
|
|
|
config MSM_PIL_SSR_GENERIC
|
|
tristate "MSM Subsystem Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down MSM Subsystem processors.
|
|
This driver also monitors the SMSM status bits and the watchdog
|
|
interrupt for the subsystem and restarts it on a watchdog bite
|
|
or a fatal error. Subsystems include LPASS, Venus, VPU, WCNSS and
|
|
BCSS.
|
|
|
|
config MSM_PIL_MSS_QDSP6V5
|
|
tristate "MSS QDSP6v5 (Hexagon) Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down QDSP6v5 (Hexagon) processors
|
|
in modem subsystems. If you would like to make or receive phone
|
|
calls then say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_SHARED_HEAP_ACCESS
|
|
bool "Shared Heap access"
|
|
help
|
|
Enable support to provide access to clients to certain HLOS regions
|
|
which are protected by the secure environment.
|
|
|
|
config TRACER_PKT
|
|
bool "Tracer Packet"
|
|
help
|
|
Tracer Packet helps in profiling the performance of inter-
|
|
processor communication protocols. The profiling information
|
|
can be logged into the tracer packet itself.
|
|
|
|
config MSM_SECURE_BUFFER
|
|
bool "Helper functions for securing buffers through TZ"
|
|
help
|
|
Say 'Y' here 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 ICNSS
|
|
tristate "Platform driver for Q6 integrated connectivity"
|
|
---help---
|
|
This module adds support for Q6 integrated WLAN connectivity
|
|
subsystem. This module is responsible for communicating WLAN on/off
|
|
control messages to FW over QMI channel. It is also responsible for
|
|
handling WLAN PD restart notifications.
|
|
|
|
config MSM_CORE_CTL_HELPER
|
|
tristate "Core control helper functions for dynamically hotplug CPUs"
|
|
help
|
|
Provide helper functions for core control driver. Core control
|
|
driver dynamically hotplugs CPUs from kernel based on current
|
|
system load and state. It also supports limiting min and
|
|
max online CPUs from userspace.
|
|
|
|
config MSM_BAM_DMUX
|
|
bool "BAM Data Mux Driver"
|
|
depends on SPS
|
|
help
|
|
Support Muxed Data Channels over BAM interface.
|
|
BAM has a limited number of pipes. This driver
|
|
provides a means to support more logical channels
|
|
via muxing than BAM could without muxing.
|
|
|
|
config MSM_PERFORMANCE
|
|
tristate "Core control driver to support userspace hotplug requests"
|
|
help
|
|
This driver is used to provide CPU hotplug support to userspace.
|
|
It ensures that no more than a user specified number of CPUs stay
|
|
online at any given point in time.
|
|
|
|
config MSM_PERFORMANCE_HOTPLUG_ON
|
|
bool "Hotplug functionality through msm_performance turned on"
|
|
depends on MSM_PERFORMANCE
|
|
default y
|
|
help
|
|
If some other core-control driver is present turn off the core-control
|
|
capability of msm_performance driver. Setting this flag to false will
|
|
compile out the nodes needed for core-control functionality through
|
|
msm_performance.
|
|
|
|
config MSM_SERVICE_LOCATOR
|
|
bool "Service Locator"
|
|
depends on MSM_QMI_INTERFACE
|
|
help
|
|
The Service Locator provides a library to retrieve location
|
|
information given a service identifier. Location here translates
|
|
to what process domain exports the service, and which subsystem
|
|
that process domain will execute in.
|
|
|
|
config MSM_SERVICE_NOTIFIER
|
|
bool "Service Notifier"
|
|
depends on MSM_SERVICE_LOCATOR && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
The Service Notifier provides a library for a kernel client to
|
|
register for state change notifications regarding a remote service.
|
|
A remote service here refers to a process providing certain services
|
|
like audio, the identifier for which is provided by the service
|
|
locator.
|
|
|
|
config MSM_QBT1000
|
|
bool "QBT1000 Ultrasonic Fingerprint Sensor"
|
|
help
|
|
This driver is used to enable clocks and marshal buffers for trusted
|
|
applications running in the trusted execution environment.
|
|
|
|
config MSM_PACMAN
|
|
tristate "Enable the Peripheral Access Control Manager (PACMan)"
|
|
help
|
|
Add support for the Peripheral Access Control Manager (PACMan). This
|
|
driver allows reconfiguration of the Bus Access Manager Low Speed
|
|
peripheral (BLSP) ownership.
|
|
|
|
config MSM_KERNEL_PROTECT
|
|
bool "Protect kernel text by removing write permissions in stage-2"
|
|
depends on !FUNCTION_TRACER
|
|
help
|
|
On hypervisor-enabled targets, this option will make a call into
|
|
the hypervisor to request that the kernel text be remapped
|
|
without write permissions. This protects against malicious
|
|
devices rewriting kernel code.
|
|
|
|
Note that this will BREAK any runtime patching of the kernel text
|
|
(i.e. anything that uses apply_alternatives,
|
|
aarch64_insn_patch_text_nosync, etc. including the various CPU
|
|
errata workarounds in arch/arm64/kernel/cpu_errata.c).
|
|
|
|
config MSM_KERNEL_PROTECT_TEST
|
|
bool "Bootup test of kernel protection (INTENTIONAL CRASH)"
|
|
depends on MSM_KERNEL_PROTECT
|
|
help
|
|
Attempts to write to the kernel text after making the kernel text
|
|
read-only. This test is FATAL whether it passes or fails!
|
|
Success is signaled by a stage-2 fault.
|
|
|
|
source "drivers/soc/qcom/memshare/Kconfig"
|
|
|
|
endif # ARCH_MSM
|