The Limits Management Hardware (LMH-DCVS) is a hardware block for monitoring thermal profiles and taking immediate action to control temperature without software intervention. The h/w block can only be configured under secure mode. The LMH-DCVS block reads CPU temperatures of a cluster by sensing information from the TSENS hardware and determines the course of action. When enabled, the h/w triggers when the high threshold is hit for any CPU in the cluster. The mitigative action is frequency and voltage control that is provided to the OSM hardware. The driver registers a virtual thermal zone device for each hardware instance. The thermal zone device is used to set the thresholds for the hardware to work on. Once the thresholds are setup and the trip type is enabled, the hardware functions autonomously. Mitigative action is completely controlled in the h/w. Writing to the actual hardware is done through the SCM call. Change-Id: I70d4bc387717491256fec1ef6bd8cd6a28ea641b Signed-off-by: Lina Iyer <ilina@codeaurora.org>
57 lines
2.3 KiB
Makefile
57 lines
2.3 KiB
Makefile
#
|
|
# Makefile for sensor chip drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_THERMAL) += thermal_sys.o
|
|
thermal_sys-y += thermal_core.o
|
|
|
|
# interface to/from other layers providing sensors
|
|
thermal_sys-$(CONFIG_THERMAL_HWMON) += thermal_hwmon.o
|
|
thermal_sys-$(CONFIG_THERMAL_OF) += of-thermal.o
|
|
|
|
# governors
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_FAIR_SHARE) += fair_share.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_BANG_BANG) += gov_bang_bang.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_STEP_WISE) += step_wise.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_USER_SPACE) += user_space.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_POWER_ALLOCATOR) += power_allocator.o
|
|
|
|
# cpufreq cooling
|
|
thermal_sys-$(CONFIG_CPU_THERMAL) += cpu_cooling.o
|
|
|
|
# clock cooling
|
|
thermal_sys-$(CONFIG_CLOCK_THERMAL) += clock_cooling.o
|
|
|
|
# devfreq cooling
|
|
thermal_sys-$(CONFIG_DEVFREQ_THERMAL) += devfreq_cooling.o
|
|
|
|
# platform thermal drivers
|
|
obj-$(CONFIG_QCOM_SPMI_TEMP_ALARM) += qcom-spmi-temp-alarm.o
|
|
obj-$(CONFIG_SPEAR_THERMAL) += spear_thermal.o
|
|
obj-$(CONFIG_ROCKCHIP_THERMAL) += rockchip_thermal.o
|
|
obj-$(CONFIG_RCAR_THERMAL) += rcar_thermal.o
|
|
obj-$(CONFIG_KIRKWOOD_THERMAL) += kirkwood_thermal.o
|
|
obj-y += samsung/
|
|
obj-$(CONFIG_DOVE_THERMAL) += dove_thermal.o
|
|
obj-$(CONFIG_DB8500_THERMAL) += db8500_thermal.o
|
|
obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o
|
|
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
|
|
obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o
|
|
obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o
|
|
obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o
|
|
obj-$(CONFIG_INTEL_SOC_DTS_IOSF_CORE) += intel_soc_dts_iosf.o
|
|
obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o
|
|
obj-$(CONFIG_INTEL_QUARK_DTS_THERMAL) += intel_quark_dts_thermal.o
|
|
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
|
|
obj-$(CONFIG_INT340X_THERMAL) += int340x_thermal/
|
|
obj-$(CONFIG_INTEL_PCH_THERMAL) += intel_pch_thermal.o
|
|
obj-$(CONFIG_ST_THERMAL) += st/
|
|
obj-$(CONFIG_TEGRA_SOCTHERM) += tegra_soctherm.o
|
|
obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o
|
|
obj-$(CONFIG_THERMAL_QPNP) += qpnp-temp-alarm.o
|
|
obj-$(CONFIG_THERMAL_QPNP_ADC_TM) += qpnp-adc-tm.o
|
|
obj-$(CONFIG_THERMAL_TSENS8974) += msm-tsens.o
|
|
obj-$(CONFIG_THERMAL_MONITOR) += msm_thermal.o msm_thermal-dev.o
|
|
obj-$(CONFIG_LIMITS_MONITOR) += lmh_interface.o
|
|
obj-$(CONFIG_LIMITS_LITE_HW) += lmh_lite.o
|
|
obj-$(CONFIG_QCOM_THERMAL_LIMITS_DCVS) += msm_lmh_dcvs.o
|