[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e573cfc8-be9c-482c-9b06-4eedbb92d520@kernel.org>
Date: Sat, 30 Aug 2025 11:08:02 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Shin Son <shin.son@...sung.com>,
Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>, Zhang Rui <rui.zhang@...el.com>,
Lukasz Luba <lukasz.luba@....com>, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Alim Akhtar <alim.akhtar@...sung.com>
Cc: linux-pm@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] arm64: dts: exynosautov920: Add tmu hardware binding
On 25/08/2025 08:49, Shin Son wrote:
> Create a new exynosautov920-tmu.dtsi describing new TMU hardware
> and include it from exynosautov920.dtsi.
>
> The exynosautov920-tmu node uses the misc clock as its source
> and exposes two new DT properties:
>
> - tmu-name: identifies the TMU variant for sensor skipping
> - sensor-index-ranges: defines valid sensor index ranges for the bitmap
>
> This TMU binding defines six thermal zones with a critical trip point
> at 125 degrees:
>
> tmu_top : cpucl0-left, cpucl1
> tmu_sub0: cpucl0-right, cpucl2
> tmu_sub1: g3d, npu
>
> Signed-off-by: Shin Son <shin.son@...sung.com>
> ---
> .../boot/dts/exynos/exynosautov920-tmu.dtsi | 92 +++++++++++++++++++
> .../arm64/boot/dts/exynos/exynosautov920.dtsi | 34 +++++++
> 2 files changed, 126 insertions(+)
> create mode 100644 arch/arm64/boot/dts/exynos/exynosautov920-tmu.dtsi
>
> diff --git a/arch/arm64/boot/dts/exynos/exynosautov920-tmu.dtsi b/arch/arm64/boot/dts/exynos/exynosautov920-tmu.dtsi
> new file mode 100644
> index 000000000000..fa88e9bcdfec
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynosautov920-tmu.dtsi
> @@ -0,0 +1,92 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Samsung's ExynosAuto920 TMU configurations device tree source
> + *
> + * Copyright (c) 2020 Samsung Electronics Co., Ltd.
> + *
> + * Samsung's ExynosAuto920 SoC TMU(Thermal Managemenut Unit) are listed as
> + * device tree nodes in this file.
> + */
> +
> +/ {
> + thermal-zones {
> + cpucl0left-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_top 0>;
> +
> + trips {
> + cpucl0_0_critical: cpucl0-0-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
Missing blank line.
> + cpucl0right-thermal {
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Maybe you need to update your dtschema and yamllint. Don't rely on
distro packages for dtschema and be sure you are using the latest
released dtschema.
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_sub0 0>;
> +
> + trips {
> + cpucl0_1_critical: cpucl0-1-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + cpucl1-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_top 1>;
> +
> + trips {
> + cpucl1_critical: cpucl1-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + cpucl2-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_sub0 1>;
> +
> + trips {
> + cpucl2_critical: cpucl2-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + g3d-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_sub1 0>;
> +
> + trips {
> + g3d_critical: g3d-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + npu-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&tmuctrl_sub1 1>;
> +
> + trips {
> + npu_critical: npu-critical {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
> index 0fdf2062930a..a4ff941f8e43 100644
> --- a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
> @@ -330,6 +330,39 @@ watchdog_cl1: watchdog@...70000 {
> samsung,cluster-index = <1>;
> };
>
> + tmuctrl_top: tmutop-thermal@...a0000 {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
If you cannot find a name matching your device, please check in kernel
sources for similar cases or you can grow the spec (via pull request to
DT spec repo).
Best regards,
Krzysztof
Powered by blists - more mailing lists