arm64: dts: ls1012a: add thermal monitor node
Subsystems (2)
PATCH v3 1/1 arm64: dts: ls1012a: add thermal monitor node
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.
---
v3:
-- fix alignment and format issue
v2:
-- rebase to latest kernel
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 76 ++++++++++++++++++++++++++ 1 file changed, 76 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +76 -0
@@ -43,6 +43,7 @@ */ #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/thermal/thermal.h> / { compatible = "fsl,ls1012a";
@@ -127,6 +128,81 @@ clocks = <&sysclk>; }; + tmu: tmu at 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 at 2180000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>;
Signature · 1 line
2.1.0.27.g96db324
PATCH v3 1/1 arm64: dts: ls1012a: add thermal monitor node
Quoted 70 lines · Yuantian Tang
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 <[email protected]>---
v3:
-- fix alignment and format issue
v2:
-- rebase to latest kernelarch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 76 ++++++++++++++++++++++++++ 1 file changed, 76 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +41
-0@@ -43,6 +43,7 @@ */ #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/thermal/thermal.h> / { compatible = "fsl,ls1012a";@@ -127,6 +128,81 @@ clocks = <&sysclk>; }; + tmu: tmu at 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
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi line 180
Quoted 10 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +10
-0+ 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>;
Please remember to have a newline between property list and child node. I fixed it up and applied the patch.
Shawn
Quoted 31 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +25
-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 at 2180000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>;Signature · 1 line
2.1.0.27.g96db324
PATCH v3 1/1 arm64: dts: ls1012a: add thermal monitor node
Hi,
Quoted 87 lines
-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: Thursday, March 16, 2017 11:11 AM
To: Andy Tang
Cc: robh+dt at kernel.org; mark.rutland at arm.com; catalin.marinas at arm.com; will.deacon at arm.com; devicetree at vger.kernel.org; linux-arm- kernel at lists.infradead.org
Subject: Re: [PATCH v3] arm64: dts: ls1012a: add thermal monitor nodeQuoted 77 lines · Yuantian Tang
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 <[email protected]>---
v3:
-- fix alignment and format issue
v2:
-- rebase to latest kernelarch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 76 ++++++++++++++++++++++++++ 1 file changed, 76 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +46
-0@@ -43,6 +43,7 @@ */ #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/thermal/thermal.h> / { compatible = "fsl,ls1012a";@@ -127,6 +128,81 @@ clocks = <&sysclk>; }; + tmu: tmu at 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>; + }; +
Quoted 9 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi line 180
Quoted 5 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +5
-0+ thermal-zones { + cpu_thermal: cpu-thermal { + polling-delay-passive = <1000>; + polling-delay = <5000>; + thermal-sensors = <&tmu 0>;Please remember to have a newline between property list and child node. I fixed it up and applied the patch.
Thanks, Shawn. I will keep it in mind.
Regards,
Andy
Quoted 35 lines
Shawn
Quoted 9 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +9
-0+ trips { + cpu_alert: cpu-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + + cpu_crit: cpu-crit { + temperature = <95000>;arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
Quoted 10 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +10
-0+ hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&cpu_alert>; + cooling-device = + <&cpu0
THERMAL_NO_LIMITarch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi line 200
Quoted 1 line
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +1
-0+THERMAL_NO_LIMIT>;Quoted 11 lines
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +5
-1+ }; + }; + }; + }; + i2c0: i2c at 2180000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; --2.1.0.27.g96db324