Hi Wei-Ning,

On Fri, May 15, 2015 at 01:33:02PM +0800, Wei-Ning Huang wrote:
>    Hi Sascha,
>    I tried these patches but I didn't see any entries under
>    '/sys/class/thermal', am I missing something?
>    Wei-Ning

Please write a mail to me rather than to Paul if you want me to react.

You'll need a dts snippet that registers a thermal zone. Try the
attached patch. I haven't posted it because it only contains my testing
code which registers a fake gpio controlled fan.

Sascha

-----------------------------8<-----------------------------

>From 2ea6d94fe430c317064d06b46a8d0d2036ca4236 Mon Sep 17 00:00:00 2001
From: Sascha Hauer <s.ha...@pengutronix.de>
Date: Tue, 12 May 2015 09:24:25 +0200
Subject: [PATCH] ARM64: dts: mt8173-evb: debugging: Add fake thermal zone

This adds a thermal zone for the CPU which is controlled by a fan. No
fan exists on this board and the temperatures are bogus. This is only
for debugging purposes until the cpufreq driver is available.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 39 +++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts 
b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
index 43d5401..0a1f905 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
@@ -14,6 +14,7 @@
 
 /dts-v1/;
 #include "mt8173.dtsi"
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        model = "mediatek,mt8173-evb";
@@ -31,6 +32,44 @@
        };
 
        chosen { };
+
+       fan: gpio_fan {
+               compatible = "gpio-fan";
+               gpios = <&pio 24 0>;
+               gpio-fan,speed-map = <0    0
+                                     4500 1>;
+               #cooling-cells = <2>;
+       };
+
+       thermal-zones {
+               cpu_thermal: cpu_thermal {
+                       polling-delay-passive = <1000>; /* milliseconds */
+                       polling-delay = <0>; /* milliseconds */
+
+                       thermal-sensors = <&thermal 0>;
+
+                       trips {
+                               cpu_passive: cpu_passive {
+                                       temperature = <47000>; /* millicelsius 
*/
+                                       hysteresis = <2000>; /* millicelsius */
+                                       type = "passive";
+                               };
+
+                               cpu_crit {
+                                       temperature = <90000>; /* millicelsius 
*/
+                                       hysteresis = <2000>; /* millicelsius */
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_passive>;
+                                       cooling-device = <&fan THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
 };
 
 &uart0 {
-- 
2.1.4


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to