From patchwork Thu Mar 19 07:57:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xinwei Kong X-Patchwork-Id: 6047261 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id AA394BF90F for ; Thu, 19 Mar 2015 08:00:45 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BF66B20523 for ; Thu, 19 Mar 2015 08:00:44 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D11CE202F8 for ; Thu, 19 Mar 2015 08:00:43 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1YYVLh-0000UR-9x; Thu, 19 Mar 2015 07:58:37 +0000 Received: from szxga01-in.huawei.com ([58.251.152.64]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YYVLB-000091-2d for linux-arm-kernel@lists.infradead.org; Thu, 19 Mar 2015 07:58:06 +0000 Received: from 172.24.2.119 (EHLO szxeml427-hub.china.huawei.com) ([172.24.2.119]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CLA59228; Thu, 19 Mar 2015 15:57:15 +0800 (CST) Received: from localhost (10.46.60.225) by szxeml427-hub.china.huawei.com (10.82.67.182) with Microsoft SMTP Server id 14.3.158.1; Thu, 19 Mar 2015 15:57:04 +0800 From: kongxinwei To: , Subject: [PATCH 2/3] dts: hi6220: enable thermal sensor for hisilicon SoC Date: Thu, 19 Mar 2015 15:57:28 +0800 Message-ID: <1426751849-10604-3-git-send-email-kong.kongxinwei@hisilicon.com> X-Mailer: git-send-email 1.9.5.msysgit.0 In-Reply-To: <1426751849-10604-1-git-send-email-kong.kongxinwei@hisilicon.com> References: <1426751849-10604-1-git-send-email-kong.kongxinwei@hisilicon.com> MIME-Version: 1.0 X-Originating-IP: [10.46.60.225] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150319_005805_512255_FE608C99 X-CRM114-Status: UNSURE ( 9.81 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.0 (/) Cc: devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linuxarm@huawei.com, xuwei5@hisilicon.com, linux-kernel@vger.kernel.org, liguozhu@hisilicon.com, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There have two parts for thermal sensor: 1. The first part is related with thermal sensor, every sensor need to pass the sensor id, the threshold and reset temperature; so the sensor will be registered as sensor devices; 2. The second part is related with thermal zones, in this part it will define the thermal zones and which sensor device should be bound to. it also need specify the polling interval for every thermal zone. Signed-off-by: Leo Yan Signed-off-by: kongxinwei --- arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 153 ++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 arch/arm64/boot/dts/hisilicon/hi6220.dtsi diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi new file mode 100644 index 0000000..da49790 --- /dev/null +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi @@ -0,0 +1,153 @@ + +#include + +/ { + + tsensor: tsensor@0,f7030700 { + compatible = "hisilicon,tsensor"; + reg = <0x0 0xf7030700 0x0 0x1000>; + interrupts = <0 7 0x4>; + clocks = <&clock_sys HI6220_TSENSOR_CLK>; + clock-names = "thermal_clk"; + #thermal-sensor-cells = <1>; + + local_sensor { + hisilicon,tsensor-id = <0>; + hisilicon,tsensor-thres-temp = <80000>; + hisilicon,tsensor-reset-temp = <100000>; + hisilicon,tsensor-bind-irq; + }; + + acpu1_sensor { + hisilicon,tsensor-id = <1>; + hisilicon,tsensor-thres-temp = <80000>; + hisilicon,tsensor-reset-temp = <100000>; + }; + + acpu0_sensor { + hisilicon,tsensor-id = <2>; + hisilicon,tsensor-thres-temp = <80000>; + hisilicon,tsensor-reset-temp = <100000>; + }; + + gpu_sensor { + hisilicon,tsensor-id = <3>; + hisilicon,tsensor-thres-temp = <80000>; + hisilicon,tsensor-reset-temp = <100000>; + }; + }; + + thermal-zones { + local: local { + /* milliseconds */ + polling-delay-passive = <1000>; + /* milliseconds */ + polling-delay = <5000>; + + /* sensor ID */ + thermal-sensors = <&tsensor 0>; + + trips { + local_alert: local_alert { + /* millicelsius */ + temperature = <70000>; + /* millicelsius */ + hysteresis = <2000>; + type = "passive"; + }; + local_crit: local_crit { + temperature = <90000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + /* There are currently no cooling maps + because there are no cooling devices */ + }; + }; + + cluster1: cluster1 { + polling-delay-passive = <1000>; + polling-delay = <5000>; + + /* sensor ID */ + thermal-sensors = <&tsensor 1>; + + trips { + cluster1_alert: cluster1_alert { + temperature = <70000>; + hysteresis = <2000>; + type = "passive"; + }; + cluster1_crit: cluster1_crit { + temperature = <90000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + /* There are currently no cooling maps + because there are no cooling devices */ + }; + }; + + cluster0: cluster0 { + polling-delay-passive = <1000>; + polling-delay = <5000>; + + /* sensor ID */ + thermal-sensors = <&tsensor 2>; + + trips { + cluster0_alert: cluster0_alert { + temperature = <70000>; + hysteresis = <2000>; + type = "passive"; + }; + cluster0_crit: cluster0_crit { + temperature = <90000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&cluster0_alert>; + cooling-device = + <&cpu0 THERMAL_NO_LIMIT + THERMAL_NO_LIMIT>; + }; + }; + }; + + gpu: gpu { + polling-delay-passive = <1000>; + polling-delay = <5000>; + + /* sensor ID */ + thermal-sensors = <&tsensor 3>; + + trips { + gpu_alert: gpu_alert { + temperature = <70000>; + hysteresis = <2000>; + type = "passive"; + }; + gpu_crit: gpu_crit { + temperature = <90000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + /* There are currently no cooling maps + because there are no cooling devices */ + }; + }; + }; +}