]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
arm64: dts: ls1012a: add thermal monitor node
authorYuantian Tang <andy.tang@nxp.com>
Wed, 15 Mar 2017 07:10:25 +0000 (15:10 +0800)
committerShawn Guo <shawnguo@kernel.org>
Thu, 16 Mar 2017 03:05:43 +0000 (11:05 +0800)
There is a thermal monitoring unit on ls1012a soc which can
monitor and record the temperature of cores so that appropriate actions
can be taken or alarm the user when the temperature exceeds a programmed
temperature threshold.

Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi

index a1c5112f15824b4ac35ff585c180e413735c66bf..60b533144414ffca302495f6f69115db63e60019 100644 (file)
@@ -43,6 +43,7 @@
  */
 
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        compatible = "fsl,ls1012a";
                        clocks = <&sysclk>;
                };
 
+               tmu: tmu@1f00000 {
+                       compatible = "fsl,qoriq-tmu";
+                       reg = <0x0 0x1f00000 0x0 0x10000>;
+                       interrupts = <0 33 0x4>;
+                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
+                       fsl,tmu-calibration = <0x00000000 0x00000026
+                                              0x00000001 0x0000002d
+                                              0x00000002 0x00000032
+                                              0x00000003 0x00000039
+                                              0x00000004 0x0000003f
+                                              0x00000005 0x00000046
+                                              0x00000006 0x0000004d
+                                              0x00000007 0x00000054
+                                              0x00000008 0x0000005a
+                                              0x00000009 0x00000061
+                                              0x0000000a 0x0000006a
+                                              0x0000000b 0x00000071
+
+                                              0x00010000 0x00000025
+                                              0x00010001 0x0000002c
+                                              0x00010002 0x00000035
+                                              0x00010003 0x0000003d
+                                              0x00010004 0x00000045
+                                              0x00010005 0x0000004e
+                                              0x00010006 0x00000057
+                                              0x00010007 0x00000061
+                                              0x00010008 0x0000006b
+                                              0x00010009 0x00000076
+
+                                              0x00020000 0x00000029
+                                              0x00020001 0x00000033
+                                              0x00020002 0x0000003d
+                                              0x00020003 0x00000049
+                                              0x00020004 0x00000056
+                                              0x00020005 0x00000061
+                                              0x00020006 0x0000006d
+
+                                              0x00030000 0x00000021
+                                              0x00030001 0x0000002a
+                                              0x00030002 0x0000003c
+                                              0x00030003 0x0000004e>;
+                       big-endian;
+                       #thermal-sensor-cells = <1>;
+               };
+
+               thermal-zones {
+                       cpu_thermal: cpu-thermal {
+                               polling-delay-passive = <1000>;
+                               polling-delay = <5000>;
+                               thermal-sensors = <&tmu 0>;
+
+                               trips {
+                                       cpu_alert: cpu-alert {
+                                               temperature = <85000>;
+                                               hysteresis = <2000>;
+                                               type = "passive";
+                                       };
+
+                                       cpu_crit: cpu-crit {
+                                               temperature = <95000>;
+                                               hysteresis = <2000>;
+                                               type = "critical";
+                                       };
+                               };
+
+                               cooling-maps {
+                                       map0 {
+                                               trip = <&cpu_alert>;
+                                               cooling-device =
+                                                       <&cpu0 THERMAL_NO_LIMIT
+                                                       THERMAL_NO_LIMIT>;
+                                       };
+                               };
+                       };
+               };
+
                i2c0: i2c@2180000 {
                        compatible = "fsl,vf610-i2c";
                        #address-cells = <1>;