All of lore.kernel.org
 help / color / mirror / Atom feed
From: Quentin Schulz <quentin.schulz@free-electrons.com>
To: dmitry.torokhov@gmail.com, robh+dt@kernel.org,
	mark.rutland@arm.com, maxime.ripard@free-electrons.com,
	wens@csie.org, lee.jones@linaro.org, linux@armlinux.org.uk,
	jic23@kernel.org, knaack.h@gmx.de, lars@metafoo.de,
	pmeerw@pmeerw.net
Cc: Quentin Schulz <quentin.schulz@free-electrons.com>,
	thomas.petazzoni@free-electrons.com, linux-input@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org,
	linux-sunxi@googlegroups.com, icenowy@aosc.xyz
Subject: [PATCH v3 09/11] ARM: dtsi: sun8i: a33: add CPU thermal throttling
Date: Tue, 21 Mar 2017 16:36:09 +0100	[thread overview]
Message-ID: <20170321153611.16228-10-quentin.schulz@free-electrons.com> (raw)
In-Reply-To: <20170321153611.16228-1-quentin.schulz@free-electrons.com>

This adds CPU thermal throttling for the Allwinner A33. It uses the
thermal sensor present in the SoC's GPADC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
---

v3:
  - switched to new phandle because of modified DT node name for the GPADC
  (named THS),
  - got rid of cooling-min-level and cooling-max-level as it's not used in any
  code in the kernel,

v2:
  - updated cooling-max-level to reflect newly added OPPs,

 arch/arm/boot/dts/sun8i-a33.dtsi | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index f391f71..73552bb 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -43,6 +43,7 @@
  */
 
 #include "sun8i-a23-a33.dtsi"
+#include <dt-bindings/thermal/thermal.h>
 
 / {
 	cpu0_opp_table: opp_table0 {
@@ -127,6 +128,7 @@
 			clocks = <&ccu CLK_CPUX>;
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu0_opp_table>;
+			#cooling-cells = <2>;
 		};
 
 		cpu@1 {
@@ -170,6 +172,49 @@
 		};
 	};
 
+	thermal-zones {
+		cpu_thermal {
+			/* milliseconds */
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&ths>;
+
+			cooling-maps {
+				map0 {
+					trip = <&cpu_alert0>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+				map1 {
+					trip = <&cpu_alert1>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+			};
+
+			trips {
+				cpu_alert0: cpu_alert0 {
+					/* milliCelsius */
+					temperature = <75000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				cpu_alert1: cpu_alert1 {
+					/* milliCelsius */
+					temperature = <90000>;
+					hysteresis = <2000>;
+					type = "hot";
+				};
+
+				cpu_crit: cpu_crit {
+					/* milliCelsius */
+					temperature = <110000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+
 	memory {
 		reg = <0x40000000 0x80000000>;
 	};
-- 
2.9.3

WARNING: multiple messages have this Message-ID (diff)
From: Quentin Schulz <quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	wens-jdAy2FN1RRM@public.gmane.org,
	lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	knaack.h-Mmb7MZpHnFY@public.gmane.org,
	lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org,
	pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org
Cc: Quentin Schulz
	<quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	icenowy-ymACFijhrKM@public.gmane.org
Subject: [PATCH v3 09/11] ARM: dtsi: sun8i: a33: add CPU thermal throttling
Date: Tue, 21 Mar 2017 16:36:09 +0100	[thread overview]
Message-ID: <20170321153611.16228-10-quentin.schulz@free-electrons.com> (raw)
In-Reply-To: <20170321153611.16228-1-quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>

This adds CPU thermal throttling for the Allwinner A33. It uses the
thermal sensor present in the SoC's GPADC.

Signed-off-by: Quentin Schulz <quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
---

v3:
  - switched to new phandle because of modified DT node name for the GPADC
  (named THS),
  - got rid of cooling-min-level and cooling-max-level as it's not used in any
  code in the kernel,

v2:
  - updated cooling-max-level to reflect newly added OPPs,

 arch/arm/boot/dts/sun8i-a33.dtsi | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index f391f71..73552bb 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -43,6 +43,7 @@
  */
 
 #include "sun8i-a23-a33.dtsi"
+#include <dt-bindings/thermal/thermal.h>
 
 / {
 	cpu0_opp_table: opp_table0 {
@@ -127,6 +128,7 @@
 			clocks = <&ccu CLK_CPUX>;
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu0_opp_table>;
+			#cooling-cells = <2>;
 		};
 
 		cpu@1 {
@@ -170,6 +172,49 @@
 		};
 	};
 
+	thermal-zones {
+		cpu_thermal {
+			/* milliseconds */
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&ths>;
+
+			cooling-maps {
+				map0 {
+					trip = <&cpu_alert0>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+				map1 {
+					trip = <&cpu_alert1>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+			};
+
+			trips {
+				cpu_alert0: cpu_alert0 {
+					/* milliCelsius */
+					temperature = <75000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				cpu_alert1: cpu_alert1 {
+					/* milliCelsius */
+					temperature = <90000>;
+					hysteresis = <2000>;
+					type = "hot";
+				};
+
+				cpu_crit: cpu_crit {
+					/* milliCelsius */
+					temperature = <110000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+
 	memory {
 		reg = <0x40000000 0x80000000>;
 	};
-- 
2.9.3

WARNING: multiple messages have this Message-ID (diff)
From: quentin.schulz@free-electrons.com (Quentin Schulz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 09/11] ARM: dtsi: sun8i: a33: add CPU thermal throttling
Date: Tue, 21 Mar 2017 16:36:09 +0100	[thread overview]
Message-ID: <20170321153611.16228-10-quentin.schulz@free-electrons.com> (raw)
In-Reply-To: <20170321153611.16228-1-quentin.schulz@free-electrons.com>

This adds CPU thermal throttling for the Allwinner A33. It uses the
thermal sensor present in the SoC's GPADC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
---

v3:
  - switched to new phandle because of modified DT node name for the GPADC
  (named THS),
  - got rid of cooling-min-level and cooling-max-level as it's not used in any
  code in the kernel,

v2:
  - updated cooling-max-level to reflect newly added OPPs,

 arch/arm/boot/dts/sun8i-a33.dtsi | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index f391f71..73552bb 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -43,6 +43,7 @@
  */
 
 #include "sun8i-a23-a33.dtsi"
+#include <dt-bindings/thermal/thermal.h>
 
 / {
 	cpu0_opp_table: opp_table0 {
@@ -127,6 +128,7 @@
 			clocks = <&ccu CLK_CPUX>;
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu0_opp_table>;
+			#cooling-cells = <2>;
 		};
 
 		cpu at 1 {
@@ -170,6 +172,49 @@
 		};
 	};
 
+	thermal-zones {
+		cpu_thermal {
+			/* milliseconds */
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&ths>;
+
+			cooling-maps {
+				map0 {
+					trip = <&cpu_alert0>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+				map1 {
+					trip = <&cpu_alert1>;
+					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+			};
+
+			trips {
+				cpu_alert0: cpu_alert0 {
+					/* milliCelsius */
+					temperature = <75000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				cpu_alert1: cpu_alert1 {
+					/* milliCelsius */
+					temperature = <90000>;
+					hysteresis = <2000>;
+					type = "hot";
+				};
+
+				cpu_crit: cpu_crit {
+					/* milliCelsius */
+					temperature = <110000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+
 	memory {
 		reg = <0x40000000 0x80000000>;
 	};
-- 
2.9.3

  parent reply	other threads:[~2017-03-21 17:34 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 15:36 [PATCH v3 00/11] add thermal throttling to Allwinner A33 SoC Quentin Schulz
2017-03-21 15:36 ` Quentin Schulz
2017-03-21 15:36 ` Quentin Schulz
2017-03-21 15:36 ` [PATCH v3 01/11] ARM: sun8i: a33: add operating-points-v2 property to all nodes Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-22  3:32   ` Chen-Yu Tsai
2017-03-22  3:32     ` Chen-Yu Tsai
2017-03-22  3:32     ` Chen-Yu Tsai
2017-03-22  7:16     ` Maxime Ripard
2017-03-22  7:16       ` Maxime Ripard
2017-03-22  7:16       ` Maxime Ripard
2017-03-21 15:36 ` [PATCH v3 02/11] ARM: sun8i: a33: add all operating points Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-22  3:31   ` Chen-Yu Tsai
2017-03-22  3:31     ` Chen-Yu Tsai
2017-03-22  3:31     ` Chen-Yu Tsai
2017-03-22  7:16     ` Maxime Ripard
2017-03-22  7:16       ` Maxime Ripard
2017-03-22  7:16       ` Maxime Ripard
2017-03-21 15:36 ` [PATCH v3 03/11] ARM: dts: sun8i: sina33: add cpu-supply Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-22  3:33   ` Chen-Yu Tsai
2017-03-22  3:33     ` Chen-Yu Tsai
2017-03-22  3:33     ` Chen-Yu Tsai
2017-03-22  7:17     ` Maxime Ripard
2017-03-22  7:17       ` Maxime Ripard
2017-03-22  7:17       ` Maxime Ripard
2017-03-21 15:36 ` [PATCH v3 04/11] Documentation: DT: bindings: mfd: add A33 GPADC binding Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-23 16:45   ` Lee Jones
2017-03-23 16:45     ` Lee Jones
2017-03-23 16:45     ` Lee Jones
2017-03-29  0:31   ` Rob Herring
2017-03-29  0:31     ` Rob Herring
2017-03-29  0:31     ` Rob Herring
2017-03-21 15:36 ` [PATCH v3 05/11] Documentation: DT: bindings: input: touschcreen: remove sun4i documentation Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-29  7:58   ` Lee Jones
2017-03-29  7:58     ` Lee Jones
2017-03-29  7:58     ` Lee Jones
2017-04-03 20:09     ` Dmitry Torokhov
2017-04-03 20:09       ` Dmitry Torokhov
2017-04-03 20:09       ` Dmitry Torokhov
2017-03-21 15:36 ` [PATCH v3 06/11] iio: adc: sun4i-gpadc-iio: move code used in MFD probing to new function Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36 ` [PATCH v3 07/11] iio: adc: sun4i-gpadc-iio: add support for A33 thermal sensor Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-25 17:48   ` Jonathan Cameron
2017-03-25 17:48     ` Jonathan Cameron
2017-03-25 17:48     ` Jonathan Cameron
2017-03-21 15:36 ` [PATCH v3 08/11] ARM: dtsi: sun8i: a33: add " Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36 ` Quentin Schulz [this message]
2017-03-21 15:36   ` [PATCH v3 09/11] ARM: dtsi: sun8i: a33: add CPU thermal throttling Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36 ` [PATCH v3 10/11] ARM: sun8i: a33: Add devfreq-based GPU cooling Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36 ` [PATCH v3 11/11] ARM: sun8i: sina33: add highest OPP of CPUs Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-03-21 15:36   ` Quentin Schulz
2017-04-04  8:31 ` [PATCH v3 00/11] add thermal throttling to Allwinner A33 SoC Lee Jones
2017-04-04  8:31   ` Lee Jones
2017-04-04  8:31   ` Lee Jones
2017-04-05  9:10   ` Quentin Schulz
2017-04-05  9:10     ` Quentin Schulz
2017-04-05  9:10     ` Quentin Schulz
2017-04-05  9:57     ` Lee Jones
2017-04-05  9:57       ` Lee Jones
2017-04-05  9:57       ` Lee Jones
2017-04-05 11:23       ` Quentin Schulz
2017-04-05 11:23         ` Quentin Schulz
2017-04-05 11:23         ` Quentin Schulz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170321153611.16228-10-quentin.schulz@free-electrons.com \
    --to=quentin.schulz@free-electrons.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=icenowy@aosc.xyz \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.