1120 lines
39 KiB
Plaintext
1120 lines
39 KiB
Plaintext
#
|
|
# QCOM Soc drivers
|
|
#
|
|
menu "Qualcomm SoC drivers"
|
|
config QCOM_MEM_OFFLINE
|
|
bool "Dynamic Memory Region Offline driver"
|
|
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 OVERRIDE_MEMORY_LIMIT
|
|
bool "Override memory limit set by the kernel boot parameter"
|
|
depends on QCOM_MEM_OFFLINE
|
|
help
|
|
Override any memory limit set by the kernel boot parameter with
|
|
limit set by mem-offline dt entry so that memory offline framework
|
|
can initialize remaining memory with movable pages for memory
|
|
hot-plugging.
|
|
If unsure, say N
|
|
|
|
config QCOM_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 QCOM_GLINK_SSR
|
|
tristate "Qualcomm Glink SSR driver"
|
|
depends on RPMSG
|
|
depends on QCOM_RPROC_COMMON
|
|
help
|
|
Say y here to enable GLINK SSR support. The GLINK SSR driver
|
|
implements the SSR protocol for notifying the remote processor about
|
|
neighboring subsystems going up or down.
|
|
|
|
config QCOM_RUN_QUEUE_STATS
|
|
bool "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_GSBI
|
|
tristate "QCOM General Serial Bus Interface"
|
|
depends on ARCH_QCOM
|
|
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_MDT_LOADER
|
|
tristate
|
|
select QCOM_SCM
|
|
|
|
config QCOM_LLCC
|
|
tristate "Qualcomm Technologies, Inc. LLCC driver"
|
|
depends on ARCH_QCOM
|
|
help
|
|
Qualcomm Technologies, Inc. platform specific LLCC driver for Last
|
|
Level Cache. This provides interfaces to client's that use the LLCC.
|
|
Say yes here to enable LLCC slice driver.
|
|
|
|
config QCOM_SM8150_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SM8150 LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say yes here to enable the LLCC driver for SM8150. This is provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
config QCOM_SDMSHRIKE_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDMSHRIKE LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
This configuration option enables LLCC driver specific to SDMSHRIKE.
|
|
Say 'Y' here to enable the LLCC driver for SDMSHRIKE which provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
config QCOM_SM6150_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SM6150 LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say yes here to enable the LLCC driver for SM6150. This is provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
config QCOM_SDMMAGPIE_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDMMAGPIE LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say yes here to enable the LLCC driver for SDMMAGPIE. This is provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
config QCOM_ATOLL_LLCC
|
|
tristate "Qualcomm Technologies, Inc. ATOLL LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say yes here to enable the LLCC driver for ATOLL. This provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
config QCOM_SDXPRAIRIE_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDXPRAIRIE LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
This configuration option enables LLCC driver specific to SDXPRAIRIE.
|
|
Say 'Y' here to enable the LLCC driver for SDXPRAIRIE which provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
|
|
config QCOM_LLCC_AMON
|
|
tristate "Qualcomm Technologies, Inc. LLCC Activity Monitor(AMON) driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
This option enables a activity monitor driver for last level cache
|
|
controller. This driver configures the activity monitor as
|
|
deadlock detector and dumps the AMON registers upon detection of
|
|
deadlock.
|
|
|
|
config QCOM_LLCC_AMON_PANIC
|
|
tristate "Panic on detecting LLCC Activity Monitor(AMON) error"
|
|
depends on QCOM_LLCC_AMON
|
|
help
|
|
This option enables panic upon detection of LLCC Activity Monitor(AMON)
|
|
errors. Say yes here to enable deadlock detection mode of AMON. In
|
|
deadlock detection mode AMON will trigger an interrupt if some LLCC request
|
|
ages out.
|
|
|
|
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 block ports can be monitored.
|
|
This is used for performance and debug activity and exports SYSFS
|
|
interface. SYSFS interface used for configure and dump the LLCC
|
|
performance events.
|
|
|
|
config QCOM_PM
|
|
bool "Qualcomm Power Management"
|
|
depends on ARCH_QCOM && !ARM64
|
|
select ARM_CPU_SUSPEND
|
|
select QCOM_SCM
|
|
help
|
|
QCOM Platform specific power driver to manage cores and L2 low power
|
|
modes. It interface with various system drivers to put the cores in
|
|
low power modes.
|
|
|
|
config QCOM_QMI_HELPERS
|
|
bool "Qualcomm QMI Helpers"
|
|
depends on QRTR || QTI_QRTR
|
|
help
|
|
Helper library for handling QMI encoded messages. QMI encoded
|
|
messages are used in communication between the majority of QRTR
|
|
clients and this helpers provide the common functionality needed for
|
|
doing this from a kernel driver.
|
|
|
|
config QCOM_QMI_RMNET
|
|
bool "QTI QMI Rmnet Helpers"
|
|
depends on QCOM_QMI_HELPERS
|
|
depends on RMNET
|
|
help
|
|
Helper for handling interfaces between kernel clients and rmnet
|
|
driver. It enables the rmnet driver to create/delete DFC/WDA
|
|
clients and provides the common functionality for data flow control
|
|
and power save features.
|
|
|
|
config QCOM_QMI_DFC
|
|
bool "Enable burst mode flow control"
|
|
depends on QCOM_QMI_RMNET
|
|
help
|
|
Say y here to enable support for burst mode data flow control.
|
|
DFC client provides an interface to the modem dfc service and
|
|
does burst mode flow control. It enables the flow on receiving flow
|
|
status indication and disables flows while grant size is reached.
|
|
If unsure or not use burst mode flow control, say 'N'.
|
|
|
|
config QCOM_QMI_POWER_COLLAPSE
|
|
bool "Enable power save features"
|
|
depends on QCOM_QMI_RMNET
|
|
help
|
|
Say y here to enable support for power save features.
|
|
It provides an interface to offload uplink flow control based on
|
|
detected flow status.
|
|
If unsure or not use power save feature, say 'N'.
|
|
|
|
config QCOM_SMEM
|
|
tristate "Qualcomm Shared Memory Manager (SMEM)"
|
|
depends on ARCH_QCOM
|
|
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 MSM_APM
|
|
bool "Qualcomm Technologies, Inc. platform specific APM driver"
|
|
help
|
|
Platform specific driver to manage the power source of
|
|
memory arrays. Interfaces with regulator drivers to ensure
|
|
SRAM Vmin requirements are met across different performance
|
|
levels.
|
|
|
|
config QCOM_SMD_RPM
|
|
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
|
|
depends on ARCH_QCOM
|
|
depends on RPMSG && OF
|
|
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_SCM
|
|
bool "Secure Channel Manager (SCM) support"
|
|
default n
|
|
help
|
|
Say y here to enable Secure Channel Mananger(SCM) support for SoC.
|
|
SCM provides communication channel to communicate with secure
|
|
world(EL2 and EL3) by using smc call.
|
|
SCM driver provides the support for atomic scm calls also.
|
|
|
|
config QCOM_SCM_QCPE
|
|
bool "Para-Virtualized Secure Channel Manager (SCM) support over QCPE"
|
|
default n
|
|
help
|
|
Say y here to enable Secure Channel Mananger(SCM) support for SoC
|
|
in virtualized Linux, where SCM backend is QCPE (QCOM Protected
|
|
environment). The SCM channel will use QCOM HAB interface for
|
|
fronet-end to back-end communication.
|
|
|
|
config QCOM_MEMORY_DUMP_V2
|
|
bool "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 MSM_DEBUG_LAR_UNLOCK
|
|
bool "MSM Debug LAR Unlock Support"
|
|
depends on QCOM_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 QCOM_WATCHDOG_V2
|
|
bool "Qualcomm Watchdog Support"
|
|
depends on ARCH_QCOM
|
|
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 QCOM_FORCE_WDOG_BITE_ON_PANIC
|
|
bool "QCOM force watchdog bite"
|
|
depends on QCOM_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 QCOM_WDOG_IPI_ENABLE
|
|
bool "Qcom WDT pet optimization"
|
|
depends on QCOM_WATCHDOG_V2
|
|
default n
|
|
help
|
|
When this option is enabled, watchdog sends IPI to cores in low power
|
|
mode also. For power optimizations, by default watchdog don't ping
|
|
cores in low power mode at pettime.
|
|
|
|
To track CPUs health on LPM, or on debug builds enable it.
|
|
|
|
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
|
|
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
|
|
help
|
|
Say yes here to support the Qualcomm Shared Memory State Machine.
|
|
The state machine is represented by bits in shared memory.
|
|
|
|
config QCOM_WCNSS_CTRL
|
|
tristate "Qualcomm WCNSS control driver"
|
|
depends on ARCH_QCOM
|
|
depends on RPMSG
|
|
help
|
|
Client driver for the WCNSS_CTRL SMD channel, used to download nv
|
|
firmware to a newly booted WCNSS chip.
|
|
|
|
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 MSM_SERVICE_LOCATOR
|
|
bool "Service Locator"
|
|
depends on QCOM_QMI_HELPERS
|
|
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_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_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_SYSMON_QMI_COMM
|
|
bool "MSM System Monitor communication support using QMI transport"
|
|
depends on QCOM_QMI_HELPERS && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
This option adds support for MSM System Monitor APIs using the
|
|
QMI layer. The APIs provided may be used for notifying
|
|
subsystems within the SoC about other subsystems' power-up/down
|
|
state-changes.
|
|
|
|
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 SETUP_SSR_NOTIF_TIMEOUTS
|
|
bool "Set timeouts on SSR sysmon notifications and notifier callbacks"
|
|
help
|
|
Setup timers prior to initiating communication between
|
|
subsystems through sysmon, and prior to sending notifications
|
|
to drivers in the kernel that have registered callbacks with the
|
|
subsystem notifier framework for a particular subsystem. This
|
|
is a debugging feature.
|
|
|
|
config SSR_SYSMON_NOTIF_TIMEOUT
|
|
depends on SETUP_SSR_NOTIF_TIMEOUTS
|
|
int "SSR Sysmon notifications timeout in ms"
|
|
default 10000
|
|
help
|
|
The amount of time, in milliseconds, that should elapse between
|
|
the start and end of sysmon SSR notifications, before a warning
|
|
is emitted.
|
|
|
|
config SSR_SUBSYS_NOTIF_TIMEOUT
|
|
depends on SETUP_SSR_NOTIF_TIMEOUTS
|
|
int "SSR Subsystem notifier timeout in ms"
|
|
default 10000
|
|
help
|
|
The amount of time, in milliseconds, that should elapse between
|
|
the start and end of SSR notifications through the subsystem
|
|
notifier, before a warning is emitted.
|
|
|
|
config PANIC_ON_SSR_NOTIF_TIMEOUT
|
|
bool "Trigger kernel panic when notification timeout expires"
|
|
depends on SETUP_SSR_NOTIF_TIMEOUTS
|
|
help
|
|
Trigger a kernel panic when communication between subsystems
|
|
through sysmon is taking too long. Also trigger a kernel panic
|
|
if invoking the callbacks registered with a particular subsystem's
|
|
notifications by the subsystem notifier framework is taking too long.
|
|
This is a debugging feature.
|
|
|
|
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_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/debug/bootkpi/kpi_values"
|
|
If unsure, say N
|
|
|
|
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_DCC
|
|
bool "QCOM 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 QCOM_DCC_V2
|
|
bool "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 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_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 SDX_EXT_IPC
|
|
tristate "QCOM external ipc driver"
|
|
help
|
|
This enables the module to help modem communicate with external
|
|
Application processor connected to Qualcomm Technologies, Inc
|
|
modem chipset. The modem and APQ can understand each other's
|
|
state by reading ipc gpios.
|
|
|
|
If unsure, say N.
|
|
|
|
config QTI_NOTIFY_SIDEBAND
|
|
tristate "QCOM sideband signalling helper"
|
|
help
|
|
This provides helper APIs and a header file through which
|
|
transport layer driver can talk to the sideband driver to
|
|
assert appropriate sideband signal.
|
|
|
|
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 QCOM_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 MSM_REMOTEQDSS
|
|
bool "Allow debug tools to enable events on other processors"
|
|
depends on QCOM_SCM && DEBUG_FS
|
|
help
|
|
Other onchip processors/execution environments may support debug
|
|
events. Provide a sysfs interface for debug tools to dynamically
|
|
enable/disable these events. Interface located in
|
|
/sys/class/remoteqdss.
|
|
|
|
config ICNSS
|
|
tristate "Platform driver for Q6 integrated connectivity"
|
|
select CNSS_UTILS
|
|
---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 ICNSS_DEBUG
|
|
bool "ICNSS debug support"
|
|
depends on ICNSS
|
|
---help---
|
|
Say 'Y' here to enable ICNSS driver debug support. Debug support
|
|
primarily consists of logs consisting of information related to
|
|
hardware register access and enabling BUG_ON for certain cases to aid
|
|
the debugging.
|
|
|
|
config ICNSS_QMI
|
|
bool "ICNSS QMI support"
|
|
depends on ICNSS
|
|
---help---
|
|
Say 'Y' here to enable ICNSS QMI support. ICNSS driver will use
|
|
QMI framework to communicate with WLAN FW. It will send coldboot
|
|
handshake messages to WLAN FW, which includes hardware capabilities
|
|
and configurations. It also send WLAN on/off control message to FW
|
|
over QMI channel.
|
|
|
|
config CNSS_TIMESYNC
|
|
bool "cnss TIME SYNC support"
|
|
depends on ICNSS
|
|
---help---
|
|
Say 'Y' here to enable cnss TIME SYNC support. TIME SYNC support
|
|
primarily consists of reading the AUDIO TIMESYNC register for
|
|
deriving WLAN mac time stamp relation when FTM based clock sync is
|
|
used.
|
|
|
|
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 QCOM_MINIDUMP
|
|
bool "QCOM Minidump Support"
|
|
depends on QCOM_SMEM && QCOM_DLOAD_MODE
|
|
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 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 QCOM_BUS_SCALING
|
|
bool "Bus scaling driver"
|
|
help
|
|
This option enables bus scaling on MSM devices. Bus scaling
|
|
allows devices to request the clocks be set to rates sufficient
|
|
for the active devices needs without keeping the clocks at max
|
|
frequency when a slower speed is sufficient.
|
|
|
|
config QCOM_BUS_CONFIG_RPMH
|
|
bool "RPMH Bus scaling driver"
|
|
depends on QCOM_BUS_SCALING
|
|
help
|
|
This option enables bus scaling using QCOM specific hardware
|
|
accelerators. It enables the translation of bandwidth requests
|
|
from logical nodes to hardware nodes controlled by the BCM (Bus
|
|
Clock Manager)
|
|
|
|
config QCOM_COMMAND_DB
|
|
bool "Command DB"
|
|
help
|
|
Command DB queries shared memory by key string for shared system
|
|
resources
|
|
|
|
config QCOM_EARLY_RANDOM
|
|
bool "Initialize random pool very early"
|
|
help
|
|
The standard random pool may not initialize until late in the boot
|
|
process which means that any calls to get random numbers before then
|
|
may not be truly random. Select this option to make an early call
|
|
to get some random data to put in the pool. If unsure, say N.
|
|
|
|
config MSM_SPSS_UTILS
|
|
depends on MSM_PIL
|
|
bool "Secure Processor Utilities"
|
|
help
|
|
spss-utils driver selects Secure Processor firmware file name.
|
|
The firmware file name for dev, test or production is selected
|
|
based on two fuses.
|
|
Different file name is used for differnt SPSS HW versions,
|
|
because the SPSS firmware size is too small to support multiple
|
|
HW versions.
|
|
|
|
config MSM_SPCOM
|
|
depends on QCOM_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 single 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_TZ_SMMU
|
|
depends on ARCH_MSM8953 || ARCH_QCS405 || ARCH_QCS403 || ARCH_SDM429W
|
|
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 QTI_RPMH_API
|
|
bool "QTI RPMH (h/w accelerators) Communication API"
|
|
select MAILBOX
|
|
select QTI_RPMH_MBOX
|
|
select QTI_SYSTEM_PM
|
|
help
|
|
This option enables RPMH hardware communication for making shared
|
|
resource requests on Qualcomm Technologies Inc SoCs.
|
|
|
|
config QTI_SYSTEM_PM
|
|
bool
|
|
|
|
config QSEE_IPC_IRQ
|
|
bool "QSEE interrupt manager"
|
|
help
|
|
The QSEE IPC IRQ controller manages the interrupts from the QTI
|
|
secure execution environment. This interrupt controller will use
|
|
the registers in the spcs region to mask and clear interrupts.
|
|
Clients can use this driver to avoid adding common interrupt handling
|
|
code.
|
|
|
|
config QSEE_IPC_IRQ_BRIDGE
|
|
tristate "QSEE IPC Interrupt Bridge"
|
|
select QSEE_IPC_IRQ
|
|
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
|
|
The GLINK RPMSG Plugin is currently designed to plugin with the
|
|
remote proc framework as a subdev. This module is responsible for
|
|
creating the glink transports when remote proc is disabled.
|
|
|
|
config QCOM_GLINK_PKT
|
|
tristate "Enable device interface for GLINK packet channels"
|
|
depends on QCOM_GLINK || RPMSG_QCOM_GLINK_BGCOM
|
|
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 MSM_JTAGV8
|
|
bool "Debug and ETM trace support across power collapse for ARMv8"
|
|
default y if CORESIGHT_SOURCE_ETM4X
|
|
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_QDSS_BRIDGE
|
|
bool "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 QTI_RPM_STATS_LOG
|
|
bool "Qualcomm Technologies RPM Stats Driver"
|
|
depends on DEBUG_FS
|
|
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_CDSP_LOADER
|
|
tristate "CDSP loader support"
|
|
help
|
|
Enable CDSP image loader.
|
|
The CDSP loader brings CDSP out of reset
|
|
for platforms that have compute DSP.
|
|
Say M if you want to enable this module.
|
|
|
|
config QCOM_SMCINVOKE
|
|
bool "Secure QSEE Support"
|
|
help
|
|
Enable SMCInvoke driver which supports capability based secure
|
|
communication between QTI Secure Execution Environment (QSEE)
|
|
and high level operating system. It exposes APIs for both
|
|
userspace and kernel clients.
|
|
|
|
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_AVTIMER
|
|
tristate "Avtimer Driver"
|
|
default n
|
|
help
|
|
This driver gets the Q6 out of power collapsed state
|
|
and exposes ioctl control to read avtimer tick.
|
|
Enables camera to use for VT call to get avtimer
|
|
timestamp.
|
|
|
|
config MSM_PM
|
|
depends on PM
|
|
select MSM_IDLE_STATS if DEBUG_FS
|
|
select CPU_IDLE_MULTIPLE_DRIVERS
|
|
bool "Qualcomm Techonolgies Inc (QTI) platform specific PM driver"
|
|
help
|
|
Platform specific power driver to manage cores and l2 low power
|
|
modes. It interface with various system driver and put the cores
|
|
into low power modes. It implements OS initiated scheme and
|
|
determines last CPU to call into PSCI for cluster Low power
|
|
modes.
|
|
|
|
config MSM_PM_LEGACY
|
|
depends on PM
|
|
select MSM_IDLE_STATS if DEBUG_FS
|
|
select CPU_IDLE_MULTIPLE_DRIVERS
|
|
bool "Qualcomm Technologies, Inc. (QTI) platform specific Legacy PM driver"
|
|
help
|
|
Platform specific legacy power driver to manage
|
|
cores and l2 low power modes. It interface with
|
|
various system driver and put the cores into
|
|
low power modes.
|
|
|
|
config MSM_NOPM
|
|
default y if !PM
|
|
bool
|
|
help
|
|
This enables bare minimum support of power management at platform level.
|
|
i.e WFI
|
|
|
|
config MSM_QBT1000
|
|
bool "QBT1000 Ultrasonic Fingerprint Sensor"
|
|
help
|
|
This driver provides services for configuring the fingerprint
|
|
sensor hardware and for communicating with the trusted app which
|
|
uses it. It enables clocks and provides commands for loading
|
|
trusted apps, unloading them and marshalling buffers to the
|
|
trusted fingerprint app.
|
|
|
|
config APSS_CORE_EA
|
|
depends on CPU_FREQ && PM_OPP
|
|
bool "Qualcomm Technology Inc specific power aware driver"
|
|
help
|
|
Platform specific power aware driver to provide power
|
|
and temperature information to the scheduler.
|
|
|
|
config QCOM_FSA4480_I2C
|
|
bool "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.
|
|
|
|
if (MSM_PM || MSM_PM_LEGACY)
|
|
menuconfig MSM_IDLE_STATS
|
|
bool "Collect idle statistics"
|
|
help
|
|
Collect cores various low power mode idle statistics
|
|
and export them in proc/msm_pm_stats. User can read
|
|
this data and determine what low power modes and how
|
|
many times cores have entered into LPM modes.
|
|
|
|
if MSM_IDLE_STATS
|
|
|
|
config MSM_IDLE_STATS_FIRST_BUCKET
|
|
int "First bucket time"
|
|
default 62500
|
|
help
|
|
Upper time limit in nanoseconds of first bucket.
|
|
|
|
config MSM_IDLE_STATS_BUCKET_SHIFT
|
|
int "Bucket shift"
|
|
default 2
|
|
|
|
config MSM_IDLE_STATS_BUCKET_COUNT
|
|
int "Bucket count"
|
|
default 10
|
|
|
|
config MSM_SUSPEND_STATS_FIRST_BUCKET
|
|
int "First bucket time for suspend"
|
|
default 1000000000
|
|
help
|
|
Upper time limit in nanoseconds of first bucket of the
|
|
histogram. This is for collecting statistics on suspend.
|
|
|
|
endif # MSM_IDLE_STATS
|
|
endif # MSM_PM || MSM_PM_LEGACY
|
|
|
|
source "drivers/soc/qcom/memshare/Kconfig"
|
|
source "drivers/soc/qcom/hab/Kconfig"
|
|
source "drivers/soc/qcom/rmnet_ctl/Kconfig"
|
|
source "drivers/soc/qcom/hgsl/Kconfig"
|
|
|
|
config MSM_PERFORMANCE
|
|
tristate "msm performance driver to support userspace fmin/fmax request"
|
|
default n
|
|
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.
|
|
|
|
config MSM_DRM_NOTIFY
|
|
bool
|
|
depends on !DRM_MSM
|
|
help
|
|
This driver can register and receive notification for MSM_DRM
|
|
power event in external module. When display power state is
|
|
updated, any modules registered to the block chain will get
|
|
notified.
|
|
|
|
config MSM_DRM_TECHPACK
|
|
bool "Enable MSM DRM from techpack"
|
|
depends on DRM
|
|
depends on ARCH_QCOM || (ARM && COMPILE_TEST)
|
|
depends on OF
|
|
depends on MMU
|
|
depends on !DRM_MSM
|
|
select QCOM_MDT_LOADER if ARCH_QCOM
|
|
select REGULATOR
|
|
select DRM_KMS_HELPER
|
|
select DRM_PANEL
|
|
select SHMEM
|
|
select TMPFS
|
|
select QCOM_SCM
|
|
select SND_SOC_HDMI_CODEC if SND_SOC
|
|
select SYNC_FILE
|
|
select MSM_EXT_DISPLAY
|
|
select PM_GENERIC_DOMAINS
|
|
select V4L2_MEM2MEM_DEV
|
|
select DRM_MIPI_DSI
|
|
select MSM_DRM_NOTIFY
|
|
help
|
|
The DRM MSM TECHPACK will select modules that are required by
|
|
DRM MSM module. This option is only used when DRM MSM is loaded
|
|
from external techpack, and is mutually exclusive with builtin
|
|
DRM MSM module.
|
|
|
|
config QMP_DEBUGFS_CLIENT
|
|
bool "Debugfs Client to communicate with AOP using QMP protocol"
|
|
depends on DEBUG_FS
|
|
default n
|
|
help
|
|
This options enables a driver which allows clients to send messages
|
|
to Alway On processor using QMP transport.
|
|
|
|
config QCOM_QHEE_ENABLE_MEM_PROTECTION
|
|
bool "QHEE enable kernel memory protection"
|
|
depends on QCOM_SCM
|
|
default y
|
|
help
|
|
When this option is enabled, an SCM call will be invoked to enable
|
|
kernel memory protection in stage 2 memory mappings on kernel boot.
|
|
This is part of a security feature enabled in QHEE.
|
|
|
|
config QCOM_SMP2P_SLEEPSTATE
|
|
bool "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.
|
|
|
|
config QCOM_CDSP_RM
|
|
bool "CDSP request manager"
|
|
depends on QCOM_GLINK
|
|
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.
|
|
|
|
config PROJECT_INFO
|
|
bool "detect project info"
|
|
default n
|
|
help
|
|
detect projcet info If unsure, say n.
|
|
|
|
config RF_CABLE_DETECT
|
|
bool "detect RF cable connection"
|
|
help
|
|
detect RF cable connection for different RF configuration
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called RF cable.
|
|
If unsure, say N.
|
|
|
|
config QCOM_CX_IPEAK
|
|
bool "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_AOP_DDR_MESSAGING
|
|
bool "Send messages to AOP about the DDR frequency during reboot"
|
|
help
|
|
This driver sends messages to the AOP to adjust the DDR frequency when
|
|
the device is rebooting, to ensure that the device is powered off
|
|
cleanly.
|
|
|
|
config QCOM_AOP_DDRSS_COMMANDS
|
|
bool "Send commands to AOP to affect the behavior of the DDRSS"
|
|
help
|
|
This driver allows messages to be sent to the AOP to affect the DDRSS
|
|
behavior.
|
|
|
|
config QCOM_ADSP_MANUAL_VOTE
|
|
bool "Send commands to ADSP to unvote and vote during Suspend and resume"
|
|
help
|
|
This driver is used to manually release and acquire the ADSP vote from APPS
|
|
processor during system suspend and resume.
|
|
This driver sends message over QMI to the service which is running on
|
|
ADSP.
|
|
|
|
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_BGCOM_INTERFACE
|
|
bool "Driver support for Blackghost Communication"
|
|
depends on MSM_BGCOM
|
|
help
|
|
Create a bg_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_BGCOM
|
|
bool "Provide APIs to communicate with Blackghost chipset"
|
|
help
|
|
BGCOM is a thin layer above SPI. It is used whithin a SoC for
|
|
communication between G-Link/bg_com_dev and BG processor over SPI.
|
|
This handle the interrupts raised by BG and notify the G-link with
|
|
interrupt event and event data.
|
|
|
|
config MSM_BGRSB
|
|
bool "Provide support for rsb events on Blackghost chipset"
|
|
help
|
|
BGRSB communicates to BG over rpmsg driver for RSB configuration and
|
|
enable/disable on device power state change. It enables/disables
|
|
the regulator specific to RSB. Sends the side band events generated
|
|
by BG to input framework.
|
|
|
|
config MSM_BGRSB_RPMSG
|
|
bool "Provide support for Blackghost events to RSB"
|
|
depends on MSM_BGRSB
|
|
help
|
|
BGRSB-RPMSG informs BGRSB driver if GLINK channel has been
|
|
opened by remote processor. It doesn't maintain state machine
|
|
and is probed when BG opens channel and removed when the
|
|
channel is closed by remote processor.
|
|
|
|
config MSM_PIL_SSR_BG
|
|
tristate "MSM Subsystem Blackghost(BG) Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down Blackghost(BG) SOC which is
|
|
an external SOC. This driver communicates with Blackghost(BG) SOC
|
|
via pair of IPC GPIOs for inward and outward signals between MSM
|
|
and Blackghost(BG) SOC.
|
|
|
|
config QCOM_SOC_INFO
|
|
bool "Chip information for QTI SoCs"
|
|
depends on SOC_BUS
|
|
default y
|
|
help
|
|
This driver provides information about the SoC and chip information such
|
|
as the chip ID and revision. Information includes decoding the chip name
|
|
based on the chip ID and querying the SoC revision. This information is
|
|
loaded by the bootloader into SMEM during the boot up process.
|
|
|
|
config QTI_CRYPTO_COMMON
|
|
tristate "Enable common crypto functionality used for FBE"
|
|
depends on BLK_INLINE_ENCRYPTION
|
|
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_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.
|
|
endmenu
|
|
|
|
config QCOM_HYP_CORE_CTL
|
|
bool "CPU reservation scheme for Hypervisor"
|
|
depends on OKL4_GUEST
|
|
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 RENAME_BLOCK_DEVICE
|
|
bool "Rename block device node in /dev"
|
|
help
|
|
This driver is used to rename the block device node assigned by generic driver
|
|
to a name that is needed.
|
|
|
|
source "drivers/soc/qcom/wcnss/Kconfig"
|