dt-bindings: thermal: Add Google GS101 TMU

Document the Thermal Management Unit (TMU) found on the Google GS101 SoC.

The GS101 TMU utilizes a hybrid control model shared between the
Application Processor (AP) and the ACPM (Alive Clock and Power Manager)
firmware. This hybrid ACPM TMU architecture is also present on other
Samsung Exynos SoCs (e.g., AutoV920, Exynos850).

While the TMU is a standard memory-mapped IP block, on this platform
the AP's direct register access is restricted to the interrupt pending
(INTPEND) registers for event identification. High-level functional
tasks, such as sensor initialization, threshold programming, and
temperature reads, are delegated to the ACPM firmware.

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://patch.msgid.link/20260603-acpm-tmu-v8-1-0f1810a356e6@linaro.org
This commit is contained in:
Tudor Ambarus 2026-06-03 13:00:16 +00:00 committed by Daniel Lezcano
parent 4f6d1a9ea1
commit ddb39deb06

View File

@ -0,0 +1,69 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/thermal/google,gs101-tmu-top.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung Exynos ACPM Thermal Management Unit (TMU)
maintainers:
- Tudor Ambarus <tudor.ambarus@linaro.org>
description:
The Samsung Exynos ACPM TMU is a thermal sensor block found on Exynos
based platforms (such as Google GS101 and Exynos850). It supports
both direct register-level access and firmware-mediated management
via the ACPM (Alive Clock and Power Manager) firmware.
On these platforms, the hardware is managed in a hybrid fashion. The
Application Processor (AP) maintains direct memory-mapped access
exclusively to the interrupt pending registers to identify thermal
events. All other functional aspects - including sensor
initialization, threshold configuration, and temperature acquisition
- are handled by the ACPM firmware. The AP coordinates these
operations through the ACPM IPC protocol.
properties:
compatible:
const: google,gs101-tmu-top
reg:
maxItems: 1
clocks:
items:
- description: APB peripheral clock (PCLK) for TMU register access.
interrupts:
maxItems: 1
"#thermal-sensor-cells":
const: 1
samsung,acpm-ipc:
$ref: /schemas/types.yaml#/definitions/phandle
description: Phandle to the ACPM IPC node.
required:
- compatible
- reg
- clocks
- interrupts
- "#thermal-sensor-cells"
- samsung,acpm-ipc
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/google,gs101.h>
thermal-sensor@100a0000 {
compatible = "google,gs101-tmu-top";
reg = <0x100a0000 0x800>;
clocks = <&cmu_misc CLK_GOUT_MISC_TMU_TOP_PCLK>;
interrupts = <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH 0>;
#thermal-sensor-cells = <1>;
samsung,acpm-ipc = <&acpm_ipc>;
};