* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/thermal/thermal.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
                        clocks = <&sys_clk 32>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster0_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
                        clocks = <&sys_clk 33>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster1_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@101 {
                             <1 10 4>;
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu-crit {
+                                       temperature = <110000>; /* 110C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu-alert {
+                                       temperature = <100000>; /* 100C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                               map1 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu2
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
        soc@0 {
                compatible = "simple-bus";
                #address-cells = <1>;
                        watchdog {
                                compatible = "socionext,uniphier-wdt";
                        };
+
+                       pvtctl: pvtctl {
+                               compatible = "socionext,uniphier-ld20-thermal";
+                               interrupts = <0 3 4>;
+                               #thermal-sensor-cells = <0>;
+                               socionext,tmod-calibration = <0x0f22 0x68ee>;
+                       };
                };
 
                nand: nand@68000000 {