Files
2025-08-12 22:16:57 +02:00

266 lines
11 KiB
Plaintext
Executable File

# SPDX-License-Identifier: GPL-2.0-only
config QCOM_TSENS
tristate "Qualcomm TSENS Temperature Alarm"
depends on NVMEM_QCOM_QFPROM
depends on ARCH_QCOM || COMPILE_TEST
help
This enables the thermal sysfs driver for the TSENS device. It shows
up in Sysfs as a thermal zone with multiple trip points. Disabling the
thermal zone device via the mode file results in disabling the sensor.
Also able to set threshold temperature for both hot and cold and update
when a threshold is reached.
config QCOM_SPMI_ADC_TM5
tristate "Qualcomm SPMI PMIC Thermal Monitor ADC5"
depends on OF && SPMI && IIO
select REGMAP_SPMI
select QCOM_VADC_COMMON
help
This enables the thermal driver for the ADC thermal monitoring
device. It shows up as a thermal zone with multiple trip points.
Thermal client sets threshold temperature for both warm and cool and
gets updated when a threshold is reached.
config QCOM_SPMI_TEMP_ALARM
tristate "Qualcomm SPMI PMIC Temperature Alarm"
depends on OF && SPMI && IIO
select REGMAP_SPMI
help
This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
PMIC devices. It shows up in sysfs as a thermal sensor with multiple
trip points. The temperature reported by the thermal sensor reflects the
real time die temperature if an ADC is present or an estimate of the
temperature based upon the over temperature stage value.
config QCOM_LMH
tristate "Qualcomm Limits Management Hardware"
depends on ARCH_QCOM && QCOM_SCM
help
This enables initialization of Qualcomm limits management
hardware(LMh). LMh allows for hardware-enforced mitigation for cpus based on
input from temperature and current sensors. On many newer Qualcomm SoCs
LMh is configured in the firmware and this feature need not be enabled.
However, on certain SoCs like sdm845 LMh has to be configured from kernel.
config QTI_QMI_SENSOR_V2
tristate "QTI QMI TS V2 sensor driver"
depends on THERMAL_OF
select QCOM_QMI_HELPERS
help
This enables to list the QTI remote subsystem temperature sensors
with QMI TS V2 interface. This driver can read the temperature of
the remote sensor. These sensors can take thresholds and notify the
thermal framework when the threshold is reached.
config QTI_POLICY_ENGINE_SENSOR
tristate "QTI Policy Engine Sensor device"
depends on THERMAL
help
This enables the QTI Policy Engine sensor device. This driver will
register the policy engine recommendation with thermal framework as
a sensor. This will enable to provide configuration to mitigate
cooling devices when a recommendation is sent from hardware.
config QTI_QMI_COOLING_DEVICE
tristate "QTI QMI cooling devices"
depends on QCOM_QMI_HELPERS && THERMAL
help
This enables the QTI remote subsystem cooling devices. These cooling
devices will be used by QTI chipset to place various remote
subsystem mitigations like remote processor passive mitigation,
remote subsystem voltage restriction at low temperatures etc.
The QMI cooling device will interface with remote subsystem
using QTI QMI interface.
config QTI_BCL_PMIC5
tristate "BCL driver for BCL peripherals in PMIC5"
depends on SPMI && THERMAL
help
This driver provides routines to configure and monitor the BCL
PMIC peripheral. This driver registers the battery current and
voltage sensors with the thermal core framework and can take
threshold input and notify the thermal core when the threshold is
reached.
config QTI_BCL_SOC_DRIVER
tristate "QTI Battery state of charge sensor driver"
depends on THERMAL && POWER_SUPPLY
help
This driver registers battery state of charge as a sensor with
thermal framework. This sensor can monitor for state of charge
thresholds and notify the thermal framework when the thresholds
are reached and cleared. This will help to monitor and apply any
mitigation when state of charge goes below a certain threshold.
config QTI_USERSPACE_CDEV
tristate "QTI Userspace cooling device"
depends on THERMAL_OF
help
This enables the QTI userspace cooling device, which will help
send the mitigation notification via thermal framework netlink
socket, so that userspace cooling device can perform a mitigation
action.
config QTI_CPU_HOTPLUG_COOLING_DEVICE
tristate "QTI CPU Hotplug cooling devices"
depends on THERMAL && HOTPLUG_CPU
help
This enables the QTI CPU Hotplug cooling devices. These cooling
devices will be used by QTI chipset to hotplug a CPU to achieve
thermal cooling. CPU Hotplug will be done after core isolation,
to prevent any process from waking the mitigated CPU.
config QTI_CPU_VOLTAGE_COOLING_DEVICE
tristate "QTI CPU VOLTAGE cooling devices"
depends on CPU_FREQ && THERMAL
help
This enables the QTI CPU Voltage cooling devices. This cooling
device will allow the CPUs with different frequency plan in a
cluster to be mitigated together based on the voltages. This will
decrease or increase the voltages in a cluster based on thermal
conditions.
config QTI_DDR_COOLING_DEVICE
tristate "QTI DDR cooling devices"
depends on THERMAL && INTERCONNECT
help
This enables the QTI DDR cooling devices. These cooling
devices will be used by QTI chipset to place a DDR state request
to meet the performance requirement under thermally constrained
conditions.
config QTI_CPUFREQ_CDEV
tristate "QTI CPU frequency cooling device"
depends on CPU_FREQ && THERMAL && PM_OPP
help
This enables the QTI cpufreq cooling device, which
will help register the cpu freq devices with thermal
framework and allow limiting the cpu frequency by
userspace.
config QTI_THERMALZONE_CONFIG_DEBUG
tristate "QTI Thermal Zone config debug driver"
depends on THERMAL && THERMAL_OF && DEBUG_FS
help
This enables debugfs based interface support for thermal zones
to read the entire configuration of a given thermal zone. It
includes passive/polling delay, cooling device upper or lower
level configuration etc. The userspace client can use this
debugfs interface to understand full snapshot of a thermal zone.
config QTI_SDPM_CLOCK_MONITOR
tristate "QTI SDPM Clock Monitor"
depends on COMMON_CLK && CPU_FREQ
help
This enables the QTI SDPM Clock Monitor. This driver can register
for different clock rate change notifications and write the clock
rate into the SDPM CSR register. This driver will receive the clock
list and the CSR details from devicetree.
config QTI_CPU_PAUSE_COOLING_DEVICE
tristate "QTI CPU Pause cooling devices"
depends on THERMAL_OF && HOTPLUG_CPU
depends on ARCH_QCOM || COMPILE_TEST
help
This enables the QTI CPU Pause cooling device. These cooling
devices will be used by QTI chipset to pause a CPU from being
scheduled and hence will let the CPU to power collapse. Pausing
a CPU will be used when the CPU frequency mitigation
is not good enough to achieve the necessary cooling.
config QTI_DEVFREQ_CDEV
tristate "QTI Devfreq cooling device"
depends on PM_DEVFREQ && THERMAL && PM_OPP
help
This enables the QTI devfreq cooling device, which
will help register the devfreq cooling devices with
thermal framework and allow limiting the devfreq
frequency.
config MAX31760_FAN_CONTROLLER
tristate "MAX31760 Fan Controller Driver"
depends on THERMAL && THERMAL_OF
help
This enables the MAX31760 fan controller cooling device.
This driver uses i2c bus to control registers for setting
different fan speed. Also, this driver initializes the power for
the fan controller.
config QTI_GPU_DUMP_SKIP_COOLING_DEVICE
tristate "QTI GPU Dump Skip Cooling device"
depends on THERMAL
help
This enables the QTI GPU Dump Skip cooling device. This driver will
register with thermal framework as a cooling device. This will enable
the feature to update a PMIC SDAM and a SOC cookie which will be checked in
SDI path to disable GFX rail and skip GPU Scan dump when ambient temperature
is more than the recommended threshold.
config QTI_THERMAL_VENDOR_HOOK
tristate "QTI thermal vendor hook driver"
depends on THERMAL
help
This is a placeholder driver for all thermal vendor hook register.
It registers for thermal cooling device stats vendor hook and
disables cooling stats for different thermal cooling devices
selectively.
config QTI_BCL_OFF_COOLING_DEVICE
tristate "QTI Ibat threshold update cooling devices"
depends on SPMI && THERMAL
help
This enables the bcl off cooling devices. These cooling devices will
be used to disable bcl whenever RF calibration is performed using
external power supply. When external power supply is used for RF
calibration, iBat current can cross the battery specs that can trigger
batfet issues. So pmic bcl should be disabled as it is for protection
for battery not external power supply.
config QTI_LMH_CPU_VDD_COOLING_DEVICE
tristate "QTI CPU LMH VDD Voltage cooling devices"
depends on THERMAL && THERMAL_OF
help
This enables the QTI limits hardware CPU VDD cooling devices.
These cooling devices will be used by QTI chipset to place a
request to limits hardware for a minimum CPU railway voltage
corner at cold temperature condition.
config QTI_THERMAL_LIMITS_DCVS
tristate "QTI LMH DCVS Driver"
depends on THERMAL && CPU_THERMAL
help
This enables the driver for Limits Management Hardware - DCVS block
for the application processors. The h/w block that is available for
each cluster can be used to perform quick thermal mitigations by
tracking temperatures of the CPUs and taking thermal action in the
hardware without s/w intervention.
config REGULATOR_COOLING_DEVICE
tristate "Regulator voltage floor cooling device"
depends on REGULATOR && THERMAL_OF
help
This implements a mitigation device to place a minimum voltage floor
on a particular regulator. This mitigation device will be used by low
temperature reliability rules to mitigate a regulator at nominal
voltage.
config QTI_QMI_SENSOR
tristate "QTI QMI sensor driver"
depends on QCOM_QMI_HELPERS && THERMAL
help
This enables to list the QTI remote subsystem temperature sensors.
This driver can read the temperature of the remote sensor.
These sensors can take thresholds and notify the thermal
framework when the threshold is reached.
config THERMAL_TSENS_LEGACY
tristate "Qualcomm Technologies Inc. TSENS Temperature driver"
depends on THERMAL
help
This enables the thermal sysfs driver for the TSENS device. It shows
up in Sysfs as a thermal zone with multiple trip points. Also able
to set threshold temperature for both warm and cool and update
thermal userspace client when a threshold is reached. Warm/Cool
temperature thresholds can be set independently for each sensor.