]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
arm64: dts: ls1088a: Add TMU device tree support
authorYuantian Tang <andy.tang@nxp.com>
Fri, 12 May 2017 04:33:16 +0000 (12:33 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 15 May 2017 02:24:46 +0000 (10:24 +0800)
Add nodes and properties for thermal management support.

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

index 22e5a76e0449d6b2702977ae3bb1dbc88056b69d..df16284ec5eca3868d87cec590086592ff01df7f 100644 (file)
@@ -44,6 +44,7 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        compatible = "fsl,ls1088a";
@@ -61,6 +62,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x0>;
                        clocks = <&clockgen 1 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -89,6 +91,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x100>;
                        clocks = <&clockgen 1 1>;
+                       #cooling-cells = <2>;
                };
 
                cpu5: cpu@101 {
                        clocks = <&sysclk>;
                };
 
+               tmu: tmu@1f80000 {
+                       compatible = "fsl,qoriq-tmu";
+                       reg = <0x0 0x1f80000 0x0 0x10000>;
+                       interrupts = <0 23 0x4>;
+                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
+                       fsl,tmu-calibration =
+                               /* Calibration data group 1 */
+                               <0x00000000 0x00000026
+                               0x00000001 0x0000002d
+                               0x00000002 0x00000032
+                               0x00000003 0x00000039
+                               0x00000004 0x0000003f
+                               0x00000005 0x00000046
+                               0x00000006 0x0000004d
+                               0x00000007 0x00000054
+                               0x00000008 0x0000005a
+                               0x00000009 0x00000061
+                               0x0000000a 0x0000006a
+                               0x0000000b 0x00000071
+                               /* Calibration data group 2 */
+                               0x00010000 0x00000025
+                               0x00010001 0x0000002c
+                               0x00010002 0x00000035
+                               0x00010003 0x0000003d
+                               0x00010004 0x00000045
+                               0x00010005 0x0000004e
+                               0x00010006 0x00000057
+                               0x00010007 0x00000061
+                               0x00010008 0x0000006b
+                               0x00010009 0x00000076
+                               /* Calibration data group 3 */
+                               0x00020000 0x00000029
+                               0x00020001 0x00000033
+                               0x00020002 0x0000003d
+                               0x00020003 0x00000049
+                               0x00020004 0x00000056
+                               0x00020005 0x00000061
+                               0x00020006 0x0000006d
+                               /* Calibration data group 4 */
+                               0x00030000 0x00000021
+                               0x00030001 0x0000002a
+                               0x00030002 0x0000003c
+                               0x00030003 0x0000004e>;
+                       little-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>;
+                                       };
+
+                                       map1 {
+                                               trip = <&cpu_alert>;
+                                               cooling-device =
+                                                       <&cpu4 THERMAL_NO_LIMIT
+                                                       THERMAL_NO_LIMIT>;
+                                       };
+                               };
+                       };
+               };
+
                duart0: serial@21c0500 {
                        compatible = "fsl,ns16550", "ns16550a";
                        reg = <0x0 0x21c0500 0x0 0x100>;