linux/drivers/thermal
Balsam CHIHI f5f633b182 thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver
The Low Voltage Thermal Sensor (LVTS) is a multiple sensors, multi
controllers contained in a thermal domain.

A thermal domains can be the MCU or the AP.

Each thermal domains contain up to seven controllers, each thermal
controller handle up to four thermal sensors.

The LVTS has two Finite State Machines (FSM), one to handle the
functionin temperatures range like hot or cold temperature and another
one to handle monitoring trip point. The FSM notifies via interrupts
when a trip point is crossed.

The interrupt is managed at the thermal controller level, so when an
interrupt occurs, the driver has to find out which sensor triggered
such an interrupt.

The sampling of the thermal can be filtered or immediate. For the
former, the LVTS measures several points and applies a low pass
filter.

Signed-off-by: Balsam CHIHI <bchihi@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

On MT8195 Tomato Chromebook:

Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230209105628.50294-5-bchihi@baylibre.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-02-15 17:28:42 +01:00
..
broadcom thermal/drivers/bcm2835: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:14:11 +01:00
intel thermal: intel: powerclamp: Add two module parameters 2023-02-09 21:01:06 +01:00
mediatek thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver 2023-02-15 17:28:42 +01:00
qcom thermal/drivers/qcom-spmi-adc-tm5: Use asm intead of asm-generic 2023-01-18 09:17:28 +01:00
samsung thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp 2023-01-06 14:14:48 +01:00
st thermal/drivers/st: Use generic trip points 2023-01-06 14:14:47 +01:00
tegra thermal/drivers/tegra: Fix set_trip_temp() deadlock 2023-01-06 14:14:48 +01:00
ti-soc-thermal thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid() 2023-01-06 14:14:48 +01:00
amlogic_thermal.c thermal/drivers/amlogic: Switch to new of API 2022-08-17 14:09:38 +02:00
armada_thermal.c thermal/drivers/armada: Use the thermal_zone_get_crit_temp() 2023-01-24 12:37:56 +01:00
cpufreq_cooling.c Merge branches 'thermal-intel' and 'thermal-drivers' 2022-10-03 20:43:32 +02:00
cpuidle_cooling.c thermal/drivers/cpuidle_cooling: Fix use after error 2021-04-15 13:21:26 +02:00
da9062-thermal.c thermal/drivers/da9062: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
db8500_thermal.c thermal/drivers/db8500: Switch to new of API 2022-08-17 14:09:38 +02:00
devfreq_cooling.c Thermal control updates for 5.20-rc1 2022-08-02 11:27:53 -07:00
dove_thermal.c thermal/drivers/dove: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:18:47 +01:00
gov_bang_bang.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_fair_share.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_power_allocator.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_step_wise.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_user_space.c thermal: gov_user_space: Do not lock thermal zone mutex 2022-08-30 20:18:47 +02:00
hisi_thermal.c thermal/drivers/hisi: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:47 +01:00
imx_sc_thermal.c thermal/drivers/imx_sc_thermal: Add iMX8QM sensors 2023-01-17 10:28:13 +01:00
imx_thermal.c thermal/drivers/imx: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
imx8mm_thermal.c thermal/drivers/imx8mm: Add hwmon support 2022-12-14 15:25:40 +01:00
k3_bandgap.c thermal/drivers/banggap: Switch to new of API 2022-08-17 14:09:38 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Map fuse_base only for erratum workaround 2022-12-14 15:25:41 +01:00
Kconfig thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
khadas_mcu_fan.c thermal/core: Make cooling device state change private 2021-01-19 22:31:10 +01:00
kirkwood_thermal.c thermal/drivers/kirkwood: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:50 +01:00
Makefile thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
max77620_thermal.c thermal/drivers/maxim: Switch to new of API 2022-08-17 14:09:38 +02:00
qoriq_thermal.c thermal/drivers/qoriq: Switch to new of API 2022-08-17 14:09:38 +02:00
rcar_gen3_thermal.c thermal/drivers/rcar_gen3: Use the generic function to get the number of trips 2023-01-06 14:14:47 +01:00
rcar_thermal.c thermal/drivers/rcar: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
rockchip_thermal.c thermal/drivers/rockchip: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:21:59 +01:00
rzg2l_thermal.c thermal/drivers/rzg2l: Switch to new of API 2022-08-17 14:09:38 +02:00
spear_thermal.c thermal/drivers/spear: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:23:25 +01:00
sprd_thermal.c thermal/drivers/sprd: Switch to new of API 2022-08-17 14:09:38 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Convert to use macro 2023-01-24 11:43:22 +01:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: Use sysfs_emit_at() instead of scnprintf() 2023-02-09 20:39:48 +01:00
thermal_core.h thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_helpers.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_hwmon.c thermal/core: Protect hwmon accesses to thermal operations with thermal zone mutex 2022-11-14 19:04:37 +01:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal/drivers/thermal_mmio: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:19 +01:00
thermal_netlink.c thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_netlink.h thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_of.c thermal/of: Remove of_thermal_get_crit_temp() 2023-01-06 14:14:47 +01:00
thermal_sysfs.c thermal/core: Add a generic thermal_zone_set_trip() function 2023-01-06 14:14:47 +01:00
thermal_trip.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Switch to new of API 2022-08-17 14:09:37 +02:00
uniphier_thermal.c thermal/drivers/uniphier: Use regular comment syntax 2023-01-16 11:22:29 +01:00