Re: [PATCH v3 0/2] Lenovo ThinkPad T14s EC thermal monitoring and thermal zone integration

From: Neil Armstrong

Date: Fri Jul 03 2026 - 10:15:06 EST


On 7/3/26 16:09, Neil Armstrong wrote:
On 7/3/26 12:32, Neil Armstrong wrote:
On 7/1/26 12:37, Daniel Lezcano wrote:
Hi,

This series extends the Lenovo ThinkPad T14s embedded controller driver
with environmental monitoring capabilities and integrates the exposed
sensors into the Linux thermal framework.

The EC provides access to several platform temperature sensors
covering the SoC, keyboard area, bottom cover, charging circuitry, QTM
module and SSD. These sensors are currently used by the firmware for
thermal management but are not exposed to Linux.

The first patch adds hwmon support for the EC temperature sensors.

The second patch exposes the EC as a thermal sensor provider in the
device tree and defines thermal zones for the keyboard skin
temperature and the charging circuitry temperature. This allows the
generic thermal framework to react to EC-reported temperatures and
apply standard Linux thermal mitigation policies.

As the EC protocol is not fully decoded, the passive trip points
get/set actions are missing, so it is not possible to program a
threshold and receive an interrupt when crossed the way up or
down. Consequently, the thermal zone related to the charging circuitry
is polled every two seconds until we can set the trip points in the
EC.

This series fixes critical thermal issues happening on this platform
where a kernel compilation, or heavy workloads, lead to a system
reboot.

Tested on a Lenovo ThinkPad T14s Gen 6 (Snapdragon X Elite).

Thanks,

Daniel

---
  Changelog:
    v3:
     - Removed event based because trip point are not yet well supported
     - Added an empty line after variable declaration (Ilpo Järvinen)
     - Used MILLIDEGREE_PER_DEGREE from units.h (Ilpo Järvinen)
     - Made switch consistent (Ilpo Järvinen)
    v2:
     - Fixed patch 1 subject prefix
     - Removed the fan information part
     - Added HWMON_T_ALARM
     - Fixed DT change description to reflect what it does really

Daniel Lezcano (2):
   platform: arm64: lenovo-thinkpad-t14s-ec: Add hwmon support for
     temperatures
   arm64: dts: qcom: x1e78100-t14s: Add thermal zones for keyboard skin
     and charging sensors

  .../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi   |  68 ++++++++-
  drivers/platform/arm64/lenovo-thinkpad-t14s.c | 130 ++++++++++++++++++
  2 files changed, 197 insertions(+), 1 deletion(-)


Tested-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx> # on T14s OLED

The charging sensor can go very high aswell and when cpu load is high the charging
is throttled down, so perhaps it would be nice to also have a thermal zone for the
charging sensors.

Ignore this sentence as there's already a charging thermal node...

Neil


On my setup when charging the battery at 60W the charging sensor reports ~63C but
goes up to 80C when building a kernel, but stays around ~70C if the charger is not
connected.

Neil