0e07b7bd3c
Changes in 5.4.261 vfs: fix readahead(2) on block devices genirq/matrix: Exclude managed interrupts in irq_matrix_allocated() i40e: fix potential memory leaks in i40e_remove() tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file() wifi: mt76: mt7603: rework/fix rx pse hang check tcp_metrics: add missing barriers on delete tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics() tcp_metrics: do not create an entry from tcp_init_metrics() wifi: rtlwifi: fix EDCA limit set by BT coexistence can: dev: can_restart(): don't crash kernel if carrier is OK can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on() thermal: core: prevent potential string overflow r8169: use tp_to_dev instead of open code r8169: fix rare issue with broken rx after link-down on RTL8125 chtls: fix tp->rcv_tstamp initialization tcp: Remove one extra ktime_get_ns() from cookie_init_timestamp tcp: fix cookie_init_timestamp() overflows ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() ipv6: avoid atomic fragment on GSO packets net: add DEV_STATS_READ() helper ipvlan: properly track tx_errors regmap: debugfs: Fix a erroneous check after snprintf() clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying num_parents clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src clk: imx: Select MXC_CLK for CLK_IMX8QXP clk: keystone: pll: fix a couple NULL vs IS_ERR() checks clk: npcm7xx: Fix incorrect kfree clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data platform/x86: wmi: Fix probe failure when failing to register WMI devices platform/x86: wmi: remove unnecessary initializations platform/x86: wmi: Fix opening of char device hwmon: (coretemp) Fix potentially truncated sysfs attribute name drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs drm/rockchip: vop: Fix call to crtc reset helper drm/radeon: possible buffer overflow drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe() arm64: dts: qcom: sdm845-mtp: fix WiFi configuration ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator soc: qcom: llcc cleanup to get rid of sdm845 specific driver file soc: qcom: Rename llcc-slice to llcc-qcom soc: qcom: llcc: Handle a second device without data corruption firmware: ti_sci: Replace HTTP links with HTTPS ones firmware: ti_sci: Mark driver as non removable clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped hwrng: geode - fix accessing registers libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value sched/rt: Provide migrate_disable/enable() inlines nd_btt: Make BTT lanes preemptible crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure crypto: caam/jr - fix Chacha20 + Poly1305 self test failure HID: cp2112: Use irqchip template hid: cp2112: Fix duplicate workqueue initialization ARM: 9321/1: memset: cast the constant byte to unsigned char ext4: move 'ix' sanity check to corrent position scsi: ufs: core: Leave space for '\0' in utf8 desc string RDMA/hfi1: Workaround truncation compilation error sh: bios: Revive earlyprintk support ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails ASoC: ams-delta.c: use component after check mfd: dln2: Fix double put in dln2_probe leds: pwm: simplify if condition leds: pwm: convert to atomic PWM API leds: pwm: Don't disable the PWM when the LED should be off ledtrig-cpu: Limit to 8 CPUs leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu' tty: tty_jobctrl: fix pid memleak in disassociate_ctty() usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency dmaengine: ti: edma: handle irq_of_parse_and_map() errors misc: st_core: Do not call kfree_skb() under spin_lock_irqsave() tools: iio: privatize globals and functions in iio_generic_buffer.c file tools: iio: iio_generic_buffer: Fix some integer type and calculation tools: iio: iio_generic_buffer ensure alignment USB: usbip: fix stub_dev hub disconnect dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() f2fs: fix to initialize map.m_pblk in f2fs_precache_extents() modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host powerpc/xive: Fix endian conversion size powerpc/imc-pmu: Use the correct spinlock initializer. powerpc/pseries: fix potential memory leak in init_cpu_associativity() i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call pcmcia: cs: fix possible hung task and memory leak pccardd() pcmcia: ds: fix refcount leak in pcmcia_device_add() pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() media: bttv: fix use after free error due to btv->timeout timer media: s3c-camif: Avoid inappropriate kfree() media: dvb-usb-v2: af9035: fix missing unlock regmap: prevent noinc writes from clobbering cache pwm: sti: Avoid conditional gotos pwm: sti: Reduce number of allocations and drop usage of chip_data pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume Input: synaptics-rmi4 - fix use after free in rmi_unregister_function() llc: verify mac len before reading mac header tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING inet: shrink struct flowi_common dccp: Call security_inet_conn_request() after setting IPv4 addresses. dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. net: r8169: Disable multicast filter for RTL8168H and RTL8107E Fix termination state for idr_for_each_entry_ul() net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT tg3: power down device only on SYSTEM_POWER_OFF r8169: respect userspace disabling IFF_MULTICAST netfilter: xt_recent: fix (increase) ipv6 literal buffer length netfilter: nft_redir: use `struct nf_nat_range2` throughout and deduplicate eval call-backs netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies fbdev: imsttfb: Fix error path of imsttfb_probe() fbdev: imsttfb: fix a resource leak in probe fbdev: fsl-diu-fb: mark wr_reg_wa() static Revert "mmc: core: Capture correct oemid-bits for eMMC cards" btrfs: use u64 for buffer sizes in the tree search ioctls Linux 5.4.261 Change-Id: Iee65ff18889e15022b25cf33662c0f835825af9d Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
1364 lines
49 KiB
Plaintext
1364 lines
49 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# QCOM Soc drivers
|
|
#
|
|
menu "Qualcomm SoC drivers"
|
|
|
|
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 Technologies, Inc. Command DB driver"
|
|
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_MEM_OFFLINE
|
|
bool "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 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_MEM_BUF
|
|
bool "Qualcomm Technologies, Inc. Memory Buffer Sharing Driver"
|
|
depends on HH_MSGQ && HH_RM_DRV && ION_MSM_HEAPS
|
|
help
|
|
Add support for lending memory from one virtual machine to another.
|
|
This driver communicates with the hypervisor, as well as other
|
|
virtual machines, to request and lend memory from and to VMs
|
|
respectively.
|
|
If unsure, say N
|
|
|
|
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 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_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 MSM_SPSS_UTILS
|
|
depends on MSM_PIL
|
|
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 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_PROXY_OF_CONSUMER
|
|
tristate "Qualcomm Technologies, Inc. OF proxy consumer driver"
|
|
help
|
|
A target may contain multiple defconfigs, but only one device-tree
|
|
configuration. Such a target may have device-drivers that are
|
|
only enabled in a particular defconfig, while disabled in the
|
|
others. For the kernel that boots up with disabled configuration,
|
|
since the device-tree node exists, the of_devlink logic expects
|
|
the driver to be probed, which is not possible. As a result, the
|
|
sync-state remains incomplete.
|
|
This proxy consumer driver shows a proxy-presence of the main
|
|
driver to satisfy the sync-state.
|
|
|
|
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_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 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_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. This provides interfaces
|
|
to clients that use the LLCC. Say yes here to enable LLCC slice
|
|
driver.
|
|
|
|
config QCOM_LAHAINA_LLCC
|
|
tristate "Qualcomm Technologies, Inc. LAHAINA LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for Lahaina platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_SDXLEMUR_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDXLEMUR LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for SDXLEMUR platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_SHIMA_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SHIMA LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for Shima platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_YUPIK_LLCC
|
|
tristate "Qualcomm Technologies, Inc. YUPIK LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for Yupik platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_SM8150_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SM8150 LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for SM8150 platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_SDMSHRIKE_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDMSHRIKE LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for SDMSHRIKE platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
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.
|
|
If unsure, say n.
|
|
|
|
config QCOM_SDM845_LLCC
|
|
tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say yes here to enable the LLCC driver for SDM845. This provides
|
|
data required to configure LLCC so that clients can start using the
|
|
LLCC slices.
|
|
|
|
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_DIREWOLF_LLCC
|
|
tristate "Qualcomm Technologies, Inc. Direwolf LLCC driver"
|
|
depends on QCOM_LLCC
|
|
help
|
|
Say y or m here to enable the LLCC driver for Direwolf platform.
|
|
This provides data required to configure LLCC so that clients
|
|
can start using the LLCC slices.
|
|
If unsure, say n.
|
|
|
|
config QCOM_MDT_LOADER
|
|
tristate
|
|
select QCOM_SCM
|
|
|
|
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 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 MSM_PIL
|
|
tristate "Peripheral image loader"
|
|
select FW_LOADER
|
|
help
|
|
Some peripherals' firmware need to be loaded into memory before
|
|
they can be brought out of reset. The Peripheral Image Loader (PIL)
|
|
framework is used to achive this. The driver relays the lower-level
|
|
functionalities such as, authenticating the images, performing the
|
|
reset of the peripheral, and so on to the drivers that are registered
|
|
with it.
|
|
|
|
Say 'y' or 'm' to support these devices.
|
|
|
|
config MSM_SUBSYSTEM_RESTART
|
|
tristate "MSM Subsystem Restart"
|
|
select MSM_PIL
|
|
select QCOM_QMI_HELPERS
|
|
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 extends the APIs to add support for MSM System Monitor
|
|
using the QMI layer. These APIs may be used for sending events
|
|
or passing commands.
|
|
Moreover, the framework also notifies userspace of transitions
|
|
between these states via sysfs.
|
|
|
|
config MSM_QUIN_SUBSYSTEM_NOTIF_VIRT
|
|
tristate "MSM QUIN Subsystem Notif Virt"
|
|
select MSM_SUBSYSTEM_RESTART
|
|
help
|
|
This option enables the virtual MSM subsystem notification
|
|
framework for the QUIN platform.
|
|
|
|
The virtual MSM subsystem notif framework provides support for
|
|
a subsystem to notify its clients of its state, when the clients
|
|
are in a different virtual machine domain than the subsystem.
|
|
|
|
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
|
|
This is a debug feature where a kernel panic is triggered when
|
|
communication between subsystems through sysmon is taking too
|
|
long. This scneario can happen if the peripheral has died and
|
|
is no longer responsive.
|
|
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.
|
|
|
|
config MSM_PIL_SSR_GENERIC
|
|
tristate "MSM Subsystem Boot Support"
|
|
depends on 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_SERVICE_LOCATOR
|
|
tristate "Service Locator"
|
|
select 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
|
|
tristate "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_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.
|
|
|
|
config QGKI_MSM_BOOT_TIME_MARKER
|
|
bool "Use MSM boot time marker reporting"
|
|
depends on MSM_BOOT_STATS && QGKI
|
|
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 ARCH_QCOM || COMPILE_TEST
|
|
depends on NET
|
|
|
|
source "drivers/soc/qcom/memshare/Kconfig"
|
|
|
|
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
|
|
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_RPMH_QGKI_DEBUG
|
|
bool "Enhance RPMh debug for QGKI variants"
|
|
depends on QCOM_RPMH
|
|
help
|
|
Adding debug prints increases latency of handling RPMh requests. This
|
|
is specially notable during the boot process. Let's selectively remove
|
|
some tracing that are more informative than an actual error.
|
|
|
|
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_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_RPMPD
|
|
bool "Qualcomm RPM Power domain driver"
|
|
depends on QCOM_SMD_RPM=y
|
|
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_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 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 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_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_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
|
|
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 QCOM_MINIDUMP
|
|
tristate "QCOM Minidump Support"
|
|
depends on QCOM_SMEM && POWER_RESET_MSM
|
|
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_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 QGKI && QCOM_MINIDUMP
|
|
help
|
|
This enables ftrace buffer registration in minidump table.
|
|
This allows dumping ftrace buffer content as part of
|
|
minidump dumps.
|
|
|
|
config QCOM_MINIDUMP_PANIC_DUMP
|
|
bool "QCOM Minidump Panic dumps Support"
|
|
depends on QGKI && QCOM_MINIDUMP
|
|
help
|
|
This enables various dumps collection in minidump table,
|
|
on 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 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_MICRODUMP
|
|
tristate "Qualcomm Technologies, Inc. Microdump Support"
|
|
depends on MSM_SUBSYSTEM_RESTART
|
|
depends on QCOM_SMEM
|
|
help
|
|
This enables microdump feature. It collects
|
|
crash data from SMEM whenever modem subsytem
|
|
crashes and stores it under /dev to expose
|
|
to user space.
|
|
|
|
config QCOM_APR
|
|
tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
depends on RPMSG
|
|
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_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 QCOM_GLINK_PKT
|
|
tristate "Enable device interface for GLINK packet channels"
|
|
depends on QCOM_GLINK || 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.
|
|
|
|
source "drivers/soc/qcom/hab/Kconfig"
|
|
source "drivers/soc/qcom/hgsl/Kconfig"
|
|
|
|
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 QTI_PLH
|
|
bool "Qualcomm Technologies Inc. RIMPS PLH interface"
|
|
depends on ARM_SCMI_PROTOCOL && MSM_PERFORMANCE
|
|
default n
|
|
help
|
|
Interface between RIMPS PLH and userspace.
|
|
|
|
This interface is responsible for handling the communication
|
|
with RIMPS PLH such as passing tunables, enable and disable.
|
|
|
|
config MSM_PERFORMANCE_QGKI
|
|
bool "Enable QGKI features"
|
|
depends on QGKI
|
|
help
|
|
This option enables full functionality of MSM_PERFORMANCE for
|
|
QGKI flavor. This is not defined in GKI builds wherein the driver
|
|
offers minimal functionality of changing the min and max frequency
|
|
of a given cluster. The user space can request the cpu freq change
|
|
by writing cpu#:freq values
|
|
|
|
config QMP_DEBUGFS_CLIENT
|
|
bool "Debugfs Client to communicate with AOP using QMP protocol"
|
|
depends on DEBUG_FS
|
|
help
|
|
This options enables a driver which allows clients to send messages
|
|
to Alway On processor using QMP transport. Users can echo a message
|
|
into an exposed debugfs node to send to AOP. The driver expects the
|
|
passed in string argument to be formatted correctly for AOP to read.
|
|
|
|
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_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 MSM_SUBSYSTEM_RESTART
|
|
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
|
|
tristate "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 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 MSM_GLINK_SSR
|
|
tristate "MSM GLINK SSR"
|
|
depends on RPMSG
|
|
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. This
|
|
will be used for drivers on MSMs.
|
|
Say M if you want to enable this
|
|
|
|
config QTI_PMIC_GLINK
|
|
tristate "Enable support for PMIC GLINK"
|
|
depends on QCOM_GLINK
|
|
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_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_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 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 QGKI
|
|
bool "Enable for QGKI or debug variant"
|
|
help
|
|
When this flag is enabled, it is safe to assume that the build
|
|
is a Non GKI build. It can be either QGKI build or a debug
|
|
build. This does not differentiate a QGKI and a debug build.
|
|
This flag is absent if the build is a GKI build. If this flag is
|
|
enabled, all the ABI compatibilities are not applicable.
|
|
|
|
config MSM_PM
|
|
bool
|
|
select MSM_IDLE_STATS if DEBUG_FS
|
|
select QTI_SYSTEM_PM if QCOM_RPMH
|
|
select QTI_SYSTEM_PM_RPM if MSM_RPM_SMD && QGKI && QCOM_MPM
|
|
bool "Qualcomm Technologies, Inc. (QTI) Power Management Drivers"
|
|
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 QTI_SYSTEM_PM
|
|
bool
|
|
|
|
config QTI_SYSTEM_PM_RPM
|
|
bool
|
|
|
|
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 QTI_PLH_SCMI_CLIENT
|
|
tristate "Qualcomm Technologies Inc. SCMI client driver for PLH"
|
|
depends on QTI_PLH
|
|
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 RIMPS PLH.
|
|
|
|
config QTI_HW_MEMLAT
|
|
tristate "Qualcomm Technologies Inc. RIMPS memlat interface driver"
|
|
depends on PERF_EVENTS
|
|
default n
|
|
help
|
|
Interface driver between RIMPS memlat and userspace.
|
|
|
|
This driver is responsible for handling the communication with
|
|
RIMPS memlat such as setting up PMU events, passing tunables, frequency
|
|
table, PMU counters and saving the values of PMU counters during LPM and
|
|
hotplug.
|
|
|
|
config QTI_HW_NUM_AMU
|
|
int
|
|
default 7 if ARCH_LAHAINA && QTI_HW_MEMLAT
|
|
default 5 if ARCH_HOLI && QTI_HW_MEMLAT
|
|
default 5
|
|
|
|
config QTI_HW_NUM_PMU
|
|
int
|
|
default 6 if (ARCH_LAHAINA || ARCH_HOLI) && QTI_HW_MEMLAT
|
|
default 6
|
|
|
|
config QTI_HW_MEMLAT_SCMI_CLIENT
|
|
tristate "Qualcomm Technologies Inc. SCMI client driver for HW MEMLAT"
|
|
depends on QTI_HW_MEMLAT
|
|
default n
|
|
help
|
|
SCMI client driver registers itself with SCMI framework for memlat
|
|
vendor protocol, and also registers with the memlat hw interface
|
|
driver.
|
|
|
|
This driver deliver the memlat vendor protocol handle to interface
|
|
driver, and interface driver will use this handle to communicate with
|
|
memlat HW.
|
|
|
|
config QTI_HW_MEMLAT_LOG
|
|
tristate "Qualcomm Technologies Inc. HW MEMLAT Logging"
|
|
depends on IPC_LOGGING && QCOM_RIMPS
|
|
default n
|
|
help
|
|
Memlat hw logging driver, this driver has the infra to collect logs
|
|
generated in MEMLAT HW and log the buffers.
|
|
|
|
This driver register with IPC_Logging framework, to have dedicated
|
|
buffer for memlat hw device.
|
|
|
|
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
|
|
|
|
config QTI_RPM_STATS_LOG
|
|
tristate "Qualcomm Technologies 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 RPM enters. The drivers outputs the message
|
|
via a sysfs node.
|
|
|
|
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 QTI_DDR_STATS_LOG
|
|
tristate "Qualcomm Technologies Inc (QTI) DDR Stats Driver"
|
|
depends on QCOM_RPMH
|
|
help
|
|
This option enables a driver which reads DDR statistical information
|
|
from AOP shared memory location such as DDR low power modes and DDR
|
|
frequency residency and counts. The driver outputs information using
|
|
sysfs.
|
|
|
|
config QTI_SYS_PM_VX
|
|
tristate "Qualcomm Technologies Inc (QTI) System PM Violators Driver"
|
|
depends on QMP_DEBUGFS_CLIENT
|
|
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 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_FSA4480_I2C
|
|
bool "Fairchild FSA4480 chip with I2C"
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
depends on AUDIO_QGKI
|
|
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 QCOM_SOC_SLEEP_STATS
|
|
tristate "Qualcomm Technologies, Inc. (QTI) SoC sleep stats driver"
|
|
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 sysfs
|
|
interface.
|
|
|
|
config QCOM_CDSP_RM
|
|
tristate "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. 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 and power statistics stored in SMEM.
|
|
SMEM region for each DSP subsystem is updated periodically
|
|
by the respective subsystem. Power stats gets updated after
|
|
DSP clock change event.
|
|
|
|
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 QGKI && 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_INITIAL_LOGBUF
|
|
bool "QCOM save initial log_buf"
|
|
depends on QGKI && QCOM_WDT_CORE
|
|
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 11000
|
|
range 11000 11000
|
|
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_GLINK
|
|
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 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_SMCINVOKE
|
|
tristate "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 QCOM_GUESTVM
|
|
tristate "Enable Guest VM to be loaded by PIL"
|
|
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
|
|
bool "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 QTI_CRYPTO_COMMON
|
|
tristate "Enable common crypto functionality used for FBE"
|
|
depends on SCSI_UFS_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_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. 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_VIRTUALIZATION
|
|
tristate "Enable hypervysor to be used for FBE"
|
|
depends on FS_ENCRYPTION_INLINE_CRYPT
|
|
depends on MSM_HAB
|
|
help
|
|
Say 'Y' 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 QCOM_RTIC
|
|
bool "Enable Qualcomm Technologies, Inc. RTIC feature"
|
|
depends on QGKI
|
|
default y if QGKI
|
|
help
|
|
This option enables QCOM Real Time Integrity Check feature. This
|
|
will trigger RTIC kernel MP.s (measurement parameters) generation
|
|
during the kernel build.
|
|
|
|
config RENAME_BLOCK_DEVICE
|
|
tristate "Rename block device node in /dev"
|
|
default n
|
|
help
|
|
Say 'Y' to to rename the block device node assigned by generic
|
|
driver to a name that is needed. This is used for rename block
|
|
device names created by default as sda1, sda2 etc. to the
|
|
names system is needed.this is applicable for block devices only.
|
|
|
|
config QCOM_ADSP_MANUAL_VOTE
|
|
bool "Send commands to ADSP to unvote/vote during Suspend/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_SLATECOM
|
|
bool "Provide APIs to communicate with Slate chipset"
|
|
help
|
|
SLATECOM is a thin layer above SPI. It is used whithin 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 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 DUMP_XBL_LOG
|
|
bool "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/module/xbl_log/xbl_log
|
|
|
|
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 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.
|
|
|
|
source "drivers/soc/qcom/icnss2/Kconfig"
|
|
|
|
source "drivers/soc/qcom/gnsssirf/Kconfig"
|
|
endmenu
|