Add i.MX8QXP CPU thermal zone support.

Signed-off-by: Anson Huang <anson.hu...@nxp.com>
---
Changes since V7:
        - move the "imx,sensor-resource-id" to scu tsens node;
        - correct #thermal-sensor-cells value to be 0 as there is ONLY one 
thermal zone now;
        - add cooling map for passive mode.
---
 arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 35 ++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi 
b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
index 4c3dd95..eccdf28 100644
--- a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
@@ -10,6 +10,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/pinctrl/pads-imx8qxp.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        interrupt-parent = <&gic>;
@@ -34,6 +35,7 @@
                        reg = <0x0 0x0>;
                        enable-method = "psci";
                        next-level-cache = <&A35_L2>;
+                       #cooling-cells = <2>;
                };
 
                A35_1: cpu@1 {
@@ -116,6 +118,12 @@
                rtc: rtc {
                        compatible = "fsl,imx8qxp-sc-rtc";
                };
+
+               tsens: thermal-sensor {
+                       compatible = "fsl,imx8qxp-sc-thermal", 
"fsl,imx-sc-thermal";
+                       #thermal-sensor-cells = <0>;
+                       imx,sensor-resource-id = <IMX_SC_R_SYSTEM>;
+               };
        };
 
        timer {
@@ -443,4 +451,31 @@
                        power-domains = <&pd IMX_SC_R_GPIO_7>;
                };
        };
+
+       thermal_zones: thermal-zones {
+               cpu-thermal0 {
+                       polling-delay-passive = <250>;
+                       polling-delay = <2000>;
+                       thermal-sensors = <&tsens 0>;
+                       trips {
+                               cpu_alert0: trip0 {
+                                       temperature = <107000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_crit0: trip1 {
+                                       temperature = <127000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert0>;
+                                       cooling-device =
+                                               <&A35_0 THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
 };
-- 
2.7.4

Reply via email to