Re: [PATCH v5 5/5] arm64: dts: allwinner: sun55i: add thermal sensors

Chen-Yu Tsai <[email protected]>
Newsgroups dev.linux.lists.linux-sunxi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm
Message-ID <CAGb2v67PMYwFBV8gMbd6U2BU8ivZfAzUq50ttLG2UkdfKEwdMA@mail.gmail.com>
On Sun, Jul 5, 2026 at 1:16 AM Mikhail Kalashnikov <[email protected]> wrote:
>
> The A523 processor has two temperature controllers, THS0 and THS1.
> THS0 has only one temperature sensor, which is located in the DRAM
> controller.
>
> THS1 does have 3 sensors:
> ths1_0 - "big" cores
> ths1_1 - "little" cores
> ths1_2 - gpu
>
> Add the thermal sensor configuration and the thermal zones.
> Trips temperature, polling-delay and sustainable-power parameters are
> derived from the manufacturer's BSP.
>
> Signed-off-by: Mikhail Kalashnikov <[email protected]>
> ---
>  .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 160 ++++++++++++++++++
>  1 file changed, 160 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> index ca6a16807..2ed00e7a7 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi

[...]

> @@ -355,6 +364,32 @@ gpadc: adc@2009000 {
>                         status = "disabled";
>                 };
>
> +               ths1: thermal-sensor@2009400 {
> +                       compatible = "allwinner,sun55i-a523-ths1";
> +                       reg = <0x02009400 0x400>;
> +                       interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_GPADC1>;
> +                       clock-names = "bus", "mod";
> +                       resets = <&ccu RST_BUS_THS>;
> +                       nvmem-cells = <&ths_calibration0>, <&ths_calibration1>;
> +                       nvmem-cell-names = "calibration",
> +                                    "calibration-second-part";

Just put them on one line. We can go up to 100 characters wide.

> +                       #thermal-sensor-cells = <1>;
> +               };
> +
> +               ths0: thermal-sensor@200a000 {
> +                       compatible = "allwinner,sun55i-a523-ths0";
> +                       reg = <0x0200a000 0x400>;
> +                       interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_GPADC0>;
> +                       clock-names = "bus", "mod";
> +                       resets = <&ccu RST_BUS_THS>;
> +                       nvmem-cells = <&ths_calibration0>, <&ths_calibration1>;
> +                       nvmem-cell-names = "calibration",
> +                                    "calibration-second-part";

Same here.

> +                       #thermal-sensor-cells = <0>;
> +               };
> +
>                 wdt: watchdog@2050000 {
>                         compatible = "allwinner,sun55i-a523-wdt";
>                         reg = <0x2050000 0x20>;
> @@ -586,6 +621,14 @@ sid: efuse@3006000 {
>                         reg = <0x03006000 0x1000>;
>                         #address-cells = <1>;
>                         #size-cells = <1>;
> +
> +                       ths_calibration0: ths-calibration0@38 {
> +                               reg = <0x38 0x8>;
> +                       };
> +
> +                       ths_calibration1: ths-calibration1@44 {
> +                               reg = <0x44 0x8>;
> +                       };
>                 };
>
>                 gic: interrupt-controller@3400000 {
> @@ -1102,4 +1145,121 @@ npu: npu@7122000 {
>                         power-domains = <&ppu PD_NPU>;
>                 };
>         };
> +
> +       thermal-zones {
> +               cpu0_thermal: cpu0-thermal {

There is no reference to this or the other labels for the thermal zones.
Please drop them.

[...]

> +               gpu-thermal {
> +                       polling-delay-passive = <100>;
> +                       polling-delay = <1000>;
> +                       thermal-sensors = <&ths1 2>;
> +                       sustainable-power = <2400>;
> +
> +                       gpu-trips {

As mentioned by Sashiko, the trips container node must be named "trips".
This is also required by the thermal zone binding.

[...]


Thanks
ChenYu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.