mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 05:41:55 +00:00
ffcb2fc86e
Add VTM thermal support. In the Voltage Thermal Management Module(VTM), K3 J72XX supplies a voltage reference and a temperature sensor feature that are gathered in the band gap voltage and temperature sensor (VBGAPTS) module. The band gap provides current and voltage reference for its internal circuits and other analog IP blocks. The analog-to-digital converter (ADC) produces an output value that is proportional to the silicon temperature. Currently reading temperatures only is supported. There are no active/passive cooling agent supported. J721e SoCs have errata i2128: https://www.ti.com/lit/pdf/sprz455 The VTM Temperature Monitors (TEMPSENSORs) are trimmed during production, with the resulting values stored in software-readable registers. Software should use these register values when translating the Temperature Monitor output codes to temperature values. It has an involved workaround. Software needs to read the error codes for -40C, 30C, 125C from the efuse for each device & derive a new look up table for adc to temperature conversion. Involved calculating slopes & constants using 3 different straight line equations with adc refernce codes as the y-axis & error codes in the x-axis. -40C to 30C 30C to 125C 125C to 150C With the above 2 line equations we derive the full look-up table to workaround the errata i2128 for j721e SoC. Tested temperature reading on J721e SoC & J7200 SoC. [daniel.lezcano@linaro.org: Generate look-up tables run-time] Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Keerthy <j-keerthy@ti.com> Link: https://lore.kernel.org/r/20220517172920.10857-3-j-keerthy@ti.com Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
64 lines
2.4 KiB
Makefile
64 lines
2.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for sensor chip drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_THERMAL) += thermal_sys.o
|
|
thermal_sys-y += thermal_core.o thermal_sysfs.o \
|
|
thermal_helpers.o
|
|
|
|
# netlink interface to manage the thermal framework
|
|
thermal_sys-$(CONFIG_THERMAL_NETLINK) += thermal_netlink.o
|
|
|
|
# interface to/from other layers providing sensors
|
|
thermal_sys-$(CONFIG_THERMAL_HWMON) += thermal_hwmon.o
|
|
thermal_sys-$(CONFIG_THERMAL_OF) += thermal_of.o
|
|
|
|
# governors
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_FAIR_SHARE) += gov_fair_share.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_BANG_BANG) += gov_bang_bang.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_STEP_WISE) += gov_step_wise.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_USER_SPACE) += gov_user_space.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_POWER_ALLOCATOR) += gov_power_allocator.o
|
|
|
|
# cpufreq cooling
|
|
thermal_sys-$(CONFIG_CPU_FREQ_THERMAL) += cpufreq_cooling.o
|
|
thermal_sys-$(CONFIG_CPU_IDLE_THERMAL) += cpuidle_cooling.o
|
|
|
|
# devfreq cooling
|
|
thermal_sys-$(CONFIG_DEVFREQ_THERMAL) += devfreq_cooling.o
|
|
|
|
obj-$(CONFIG_K3_THERMAL) += k3_bandgap.o k3_j72xx_bandgap.o
|
|
# platform thermal drivers
|
|
obj-y += broadcom/
|
|
obj-$(CONFIG_THERMAL_MMIO) += thermal_mmio.o
|
|
obj-$(CONFIG_SPEAR_THERMAL) += spear_thermal.o
|
|
obj-$(CONFIG_SUN8I_THERMAL) += sun8i_thermal.o
|
|
obj-$(CONFIG_ROCKCHIP_THERMAL) += rockchip_thermal.o
|
|
obj-$(CONFIG_RCAR_THERMAL) += rcar_thermal.o
|
|
obj-$(CONFIG_RCAR_GEN3_THERMAL) += rcar_gen3_thermal.o
|
|
obj-$(CONFIG_RZG2L_THERMAL) += rzg2l_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_IMX_SC_THERMAL) += imx_sc_thermal.o
|
|
obj-$(CONFIG_IMX8MM_THERMAL) += imx8mm_thermal.o
|
|
obj-$(CONFIG_MAX77620_THERMAL) += max77620_thermal.o
|
|
obj-$(CONFIG_QORIQ_THERMAL) += qoriq_thermal.o
|
|
obj-$(CONFIG_DA9062_THERMAL) += da9062-thermal.o
|
|
obj-y += intel/
|
|
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
|
|
obj-y += st/
|
|
obj-$(CONFIG_QCOM_TSENS) += qcom/
|
|
obj-y += tegra/
|
|
obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o
|
|
obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o
|
|
obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o
|
|
obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o
|
|
obj-$(CONFIG_AMLOGIC_THERMAL) += amlogic_thermal.o
|
|
obj-$(CONFIG_SPRD_THERMAL) += sprd_thermal.o
|
|
obj-$(CONFIG_KHADAS_MCU_FAN_THERMAL) += khadas_mcu_fan.o
|