* [PATCH v1 0/6] Support the thermal for RK3368 SoCs
@ 2015-10-29 7:14 Caesar Wang
2015-10-29 7:14 ` [PATCH v1 1/6] dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible Caesar Wang
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Caesar Wang @ 2015-10-29 7:14 UTC (permalink / raw)
To: Heiko Stuebner, Eduardo Valentin
Cc: linux-rockchip, Caesar Wang, devicetree, Will Deacon,
Lorenzo Pieralisi, linux-pm, Olof Johansson, Kumar Gala,
linux-kernel, Ian Campbell, Rob Herring, Dmitry Torokhov,
linux-arm-kernel, Pawel Moll, Zhang Rui, Mark Rutland,
Catalin Marinas
This series patchs are working for RK3368 on Rockchip platform.
@Heiko,
The PATCH [5/6] is working based on big/littel cluster cpufreq
added. Anyway, the PATCH [5/6] also work for next kernel.
@Eduardo,
This patchset are based on linus master branch.
Note: Need add the following thermal patchs for thermal driver before apply
this series patchs.
1) thermal: rockchip: fix handling of invalid readings
(https://patchwork.kernel.org/patch/6973101/)
2) thermal: rockhip: fix setting thermal shutdown polarity
(https://patchwork.kernel.org/patch/6973131/)
3) dt-bindings: rockchip-thermal: Add the pinctrl states in this document
(https://patchwork.kernel.org/patch/7472021/)
4) thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r
(https://patchwork.kernel.org/patch/7472051/)
the git log oneline my local branch as follows:
8132956 arm64: dts: Enable the Thermal on R88 board
ba3fd05 arm64: dts: Add main Thermal info to rk3368.dtsi
66adecc arm64: dts: Add the thermal data found on RK3368
acc9cb6 thermal: rockchip: Support the RK3368 SoCs in thermal driver
8c65003 thermal: rockchip: better to compatible the driver for different SoCs
ea9f28a dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible
29eb0c7 thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r
cf2100b dt-bindings: rockchip-thermal: Add the pinctrl states in this document
38e287b0 thermal: rockhip: fix setting thermal shutdown polarity
ddee4a2 thermal: rockchip: fix handling of invalid readings
8a28d67 Merge tag 'powerpc-4.3-6' of
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
977bf06 powerpc/dma: dma_set_coherent_mask() should not be GPL only
a22c4d7 block: re-add discard_granularity and alignment checks
23d8827 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
3d0aa36 Merge branch 'for-linus' of git://git.kernel.dk/linux-block
dc5bc3f Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
9e17f90 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
174fd8d blkcg: fix incorrect read/write sync/async stat accounting
858e904 Merge tag 'iommu-fixes-v4.3-rc7' of
......
----
This series are tested on RK3368 board.
while true;do ls >/dev/null; done&
while true; do grep "" /sys/class/thermal/thermal_zone[0-1]/temp; sleep .5; done &
You can get the temperature form sensors.
/sys/class/thermal/thermal_zone0/temp:27500
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:30000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:27500
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:30000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:25000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:32500
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:30000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:22500
/sys/class/thermal/thermal_zone1/temp:32500
/sys/class/thermal/thermal_zone0/temp:25000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:25000
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:22500
/sys/class/thermal/thermal_zone1/temp:30000
/sys/class/thermal/thermal_zone0/temp:30000
/sys/class/thermal/thermal_zone1/temp:32500
/sys/class/thermal/thermal_zone1/temp:32500
/sys/class/thermal/thermal_zone0/temp:32500
Changes in v1:
- %s/thermal/rockchip-thermal in subject.
- add a new patch for thermal driver to support more SoCs.
- As Dmitry comment, make the conversion table in as a parameter.
- support the opt gpio pinctrl state
Caesar Wang (6):
dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible
thermal: rockchip: better to compatible the driver for different SoCs
thermal: rockchip: Support the RK3368 SoCs in thermal driver
arm64: dts: Add the thermal data found on RK3368
arm64: dts: Add main Thermal info to rk3368.dtsi
arm64: dts: Enable the Thermal on R88 board
.../bindings/thermal/rockchip-thermal.txt | 4 +-
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 6 +
arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi | 112 +++++++++
arch/arm64/boot/dts/rockchip/rk3368.dtsi | 36 +++
drivers/thermal/rockchip_thermal.c | 267 ++++++++++++++++-----
5 files changed, 362 insertions(+), 63 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v1 1/6] dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible
2015-10-29 7:14 [PATCH v1 0/6] Support the thermal for RK3368 SoCs Caesar Wang
@ 2015-10-29 7:14 ` Caesar Wang
2015-10-29 7:14 ` [PATCH v1 4/6] arm64: dts: Add the thermal data found on RK3368 Caesar Wang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Caesar Wang @ 2015-10-29 7:14 UTC (permalink / raw)
To: Heiko Stuebner, Eduardo Valentin
Cc: linux-rockchip, Caesar Wang, devicetree, linux-pm, Kumar Gala,
linux-kernel, Ian Campbell, Rob Herring, linux-arm-kernel,
Pawel Moll, Zhang Rui, Mark Rutland
This patchset attempts to new compatible for thermal founding
on RK3368 SoCs.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v1:
- %s/thermal/rockchip-thermal in subject.
Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
index b38200d..0dfa60d 100644
--- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
@@ -1,7 +1,9 @@
* Temperature Sensor ADC (TSADC) on rockchip SoCs
Required properties:
-- compatible : "rockchip,rk3288-tsadc"
+- compatible : should be "rockchip,<name>-tsadc"
+ "rockchip,rk3288-tsadc": found on RK3288 SoCs
+ "rockchip,rk3368-tsadc": found on RK3368 SoCs
- reg : physical base address of the controller and length of memory mapped
region.
- interrupts : The interrupt number to the cpu. The interrupt specifier format
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v1 4/6] arm64: dts: Add the thermal data found on RK3368
2015-10-29 7:14 [PATCH v1 0/6] Support the thermal for RK3368 SoCs Caesar Wang
2015-10-29 7:14 ` [PATCH v1 1/6] dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible Caesar Wang
@ 2015-10-29 7:14 ` Caesar Wang
2015-10-29 7:14 ` [PATCH v1 5/6] arm64: dts: Add main Thermal info to rk3368.dtsi Caesar Wang
2015-10-29 7:14 ` [PATCH v1 6/6] arm64: dts: Enable the Thermal on R88 board Caesar Wang
3 siblings, 0 replies; 5+ messages in thread
From: Caesar Wang @ 2015-10-29 7:14 UTC (permalink / raw)
To: Heiko Stuebner, Eduardo Valentin
Cc: linux-rockchip, Caesar Wang, devicetree, Kumar Gala, linux-kernel,
Ian Campbell, Rob Herring, Dmitry Torokhov, Pawel Moll,
Will Deacon, Mark Rutland, Catalin Marinas, linux-arm-kernel
This patchset add the thermal for RK3368 dts,
Since the two CPU clusters, with four CPU core for each cluster,
One cluster is optimized for high-performance(big cluster) and the othe
is optimized for low power(little cluster).
This patch adds the second order for thermal throttle, and the critical
temperature for thermal over-tempeature protection on Software.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v1: None
arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi | 112 +++++++++++++++++++++++
1 file changed, 112 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi
new file mode 100644
index 0000000..a10010f
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3368-thermal.dtsi
@@ -0,0 +1,112 @@
+/*
+ * Device Tree Source for RK3368 SoC thermal
+ *
+ * Copyright (c) 2015, Fuzhou Rockchip Electronics Co., Ltd
+ * Caesar Wang <wxt@rock-chips.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <dt-bindings/thermal/thermal.h>
+
+cpu_thermal: cpu_thermal {
+ polling-delay-passive = <100>; /* milliseconds */
+ polling-delay = <5000>; /* milliseconds */
+
+ thermal-sensors = <&tsadc 0>;
+
+ trips {
+ cpu_alert0: cpu_alert0 {
+ temperature = <75000>; /* millicelsius */
+ hysteresis = <2000>; /* millicelsius */
+ type = "passive";
+ };
+ cpu_alert1: cpu_alert1 {
+ temperature = <80000>; /* millicelsius */
+ hysteresis = <2000>; /* millicelsius */
+ type = "passive";
+ };
+ cpu_crit: cpu_crit {
+ temperature = <95000>; /* millicelsius */
+ hysteresis = <2000>; /* millicelsius */
+ type = "critical";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&cpu_alert0>;
+ cooling-device =
+ <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ map1 {
+ trip = <&cpu_alert1>;
+ cooling-device =
+ <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+};
+
+gpu_thermal: gpu_thermal {
+ polling-delay-passive = <100>; /* milliseconds */
+ polling-delay = <5000>; /* milliseconds */
+
+ thermal-sensors = <&tsadc 1>;
+
+ trips {
+ gpu_alert0: gpu_alert0 {
+ temperature = <80000>; /* millicelsius */
+ hysteresis = <2000>; /* millicelsius */
+ type = "passive";
+ };
+ gpu_crit: gpu_crit {
+ temperature = <1150000>; /* millicelsius */
+ hysteresis = <2000>; /* millicelsius */
+ type = "critical";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert0>;
+ cooling-device =
+ <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+};
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v1 5/6] arm64: dts: Add main Thermal info to rk3368.dtsi
2015-10-29 7:14 [PATCH v1 0/6] Support the thermal for RK3368 SoCs Caesar Wang
2015-10-29 7:14 ` [PATCH v1 1/6] dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible Caesar Wang
2015-10-29 7:14 ` [PATCH v1 4/6] arm64: dts: Add the thermal data found on RK3368 Caesar Wang
@ 2015-10-29 7:14 ` Caesar Wang
2015-10-29 7:14 ` [PATCH v1 6/6] arm64: dts: Enable the Thermal on R88 board Caesar Wang
3 siblings, 0 replies; 5+ messages in thread
From: Caesar Wang @ 2015-10-29 7:14 UTC (permalink / raw)
To: Heiko Stuebner, Eduardo Valentin
Cc: linux-rockchip, Caesar Wang, devicetree, Lorenzo Pieralisi,
Kumar Gala, linux-kernel, Ian Campbell, Rob Herring, Pawel Moll,
Will Deacon, Mark Rutland, Olof Johansson, Catalin Marinas,
linux-arm-kernel
This patch add the thermal needed info on RK3368.
Meanwhile, support the trips to throttle for thermal.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v1:
- support the opt gpio pinctrl state
arch/arm64/boot/dts/rockchip/rk3368.dtsi | 36 ++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368.dtsi b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
index cc093a4..7207293 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
@@ -45,6 +45,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/thermal/thermal.h>
/ {
compatible = "rockchip,rk3368";
@@ -123,6 +124,8 @@
reg = <0x0 0x0>;
cpu-idle-states = <&cpu_sleep>;
enable-method = "psci";
+
+ #cooling-cells = <2>; /* min followed by max */
};
cpu_l1: cpu@1 {
@@ -155,6 +158,8 @@
reg = <0x0 0x100>;
cpu-idle-states = <&cpu_sleep>;
enable-method = "psci";
+
+ #cooling-cells = <2>; /* min followed by max */
};
cpu_b1: cpu@101 {
@@ -404,6 +409,27 @@
status = "disabled";
};
+ thermal-zones {
+ #include "rk3368-thermal.dtsi"
+ };
+
+ tsadc: tsadc@ff280000 {
+ compatible = "rockchip,rk3368-tsadc";
+ reg = <0x0 0xff280000 0x0 0x100>;
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
+ clock-names = "tsadc", "apb_pclk";
+ resets = <&cru SRST_TSADC>;
+ reset-names = "tsadc-apb";
+ pinctrl-names = "init", "default", "sleep";
+ pinctrl-0 = <&otp_gpio>;
+ pinctrl-1 = <&otp_out>;
+ pinctrl-2 = <&otp_gpio>;
+ #thermal-sensor-cells = <1>;
+ rockchip,hw-tshut-temp = <95000>;
+ status = "disabled";
+ };
+
gmac: ethernet@ff290000 {
compatible = "rockchip,rk3368-gmac";
reg = <0x0 0xff290000 0x0 0x10000>;
@@ -829,6 +855,16 @@
};
};
+ tsadc {
+ otp_out: otp-gpio {
+ rockchip,pins = <0 10 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
+ otp_out: otp-out {
+ rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
uart0 {
uart0_xfer: uart0-xfer {
rockchip,pins = <2 24 RK_FUNC_1 &pcfg_pull_up>,
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v1 6/6] arm64: dts: Enable the Thermal on R88 board
2015-10-29 7:14 [PATCH v1 0/6] Support the thermal for RK3368 SoCs Caesar Wang
` (2 preceding siblings ...)
2015-10-29 7:14 ` [PATCH v1 5/6] arm64: dts: Add main Thermal info to rk3368.dtsi Caesar Wang
@ 2015-10-29 7:14 ` Caesar Wang
3 siblings, 0 replies; 5+ messages in thread
From: Caesar Wang @ 2015-10-29 7:14 UTC (permalink / raw)
To: Heiko Stuebner, Eduardo Valentin
Cc: linux-rockchip, Caesar Wang, devicetree, Olof Johansson,
Kumar Gala, linux-kernel, Ian Campbell, Rob Herring, Pawel Moll,
Will Deacon, Mark Rutland, Catalin Marinas, linux-arm-kernel
This patch enable the TS-ADC.
When a thermal temperature is invoked use the CRU to reset the chip
on R88 board. TSHUT is low active on this board.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v1: None
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
index 401a812..7684426a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
@@ -336,6 +336,12 @@
status = "okay";
};
+&tsadc {
+ rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
+ rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
+ status = "okay";
+}
+
&uart2 {
status = "okay";
};
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-29 7:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-29 7:14 [PATCH v1 0/6] Support the thermal for RK3368 SoCs Caesar Wang
2015-10-29 7:14 ` [PATCH v1 1/6] dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible Caesar Wang
2015-10-29 7:14 ` [PATCH v1 4/6] arm64: dts: Add the thermal data found on RK3368 Caesar Wang
2015-10-29 7:14 ` [PATCH v1 5/6] arm64: dts: Add main Thermal info to rk3368.dtsi Caesar Wang
2015-10-29 7:14 ` [PATCH v1 6/6] arm64: dts: Enable the Thermal on R88 board Caesar Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).