linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
@ 2020-06-30  3:20 andy.tang
  2020-06-30  3:20 ` [PATCH 2/2] arm64: dts: ls208xa: " andy.tang
  2020-06-30  5:12 ` [PATCH 1/2] arm64: dts: ls1088a: " Amit Kucheria
  0 siblings, 2 replies; 10+ messages in thread
From: andy.tang @ 2020-06-30  3:20 UTC (permalink / raw)
  To: shawnguo
  Cc: leoyang.li, robh+dt, linux-arm-kernel, devicetree, linux-kernel,
	Yuantian Tang

From: Yuantian Tang <andy.tang@nxp.com>

There are 2 thermal zones in ls1088a soc. Add the other thermal zone
node to enable it.
Also update the values in calibration table to make the temperatures
monitored more precise.

Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
---
 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100 +++++++++++-------
 1 file changed, 62 insertions(+), 38 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 36a799554620..ccbbc23e6c85 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -129,19 +129,19 @@
 	};
 
 	thermal-zones {
-		cpu_thermal: cpu-thermal {
+		core-cluster {
 			polling-delay-passive = <1000>;
 			polling-delay = <5000>;
 			thermal-sensors = <&tmu 0>;
 
 			trips {
-				cpu_alert: cpu-alert {
+				core_cluster_alert: core-cluster-alert {
 					temperature = <85000>;
 					hysteresis = <2000>;
 					type = "passive";
 				};
 
-				cpu_crit: cpu-crit {
+				core_cluster_crit: core-cluster-crit {
 					temperature = <95000>;
 					hysteresis = <2000>;
 					type = "critical";
@@ -150,7 +150,7 @@
 
 			cooling-maps {
 				map0 {
-					trip = <&cpu_alert>;
+					trip = <&core_cluster_alert>;
 					cooling-device =
 						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
@@ -163,6 +163,26 @@
 				};
 			};
 		};
+
+		soc {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 1>;
+
+			trips {
+				soc-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				soc-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
 	};
 
 	timer {
@@ -209,45 +229,49 @@
 			compatible = "fsl,qoriq-tmu";
 			reg = <0x0 0x1f80000 0x0 0x10000>;
 			interrupts = <0 23 0x4>;
-			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
+			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
 			fsl,tmu-calibration =
 				/* Calibration data group 1 */
-				<0x00000000 0x00000026
-				0x00000001 0x0000002d
-				0x00000002 0x00000032
-				0x00000003 0x00000039
-				0x00000004 0x0000003f
-				0x00000005 0x00000046
-				0x00000006 0x0000004d
-				0x00000007 0x00000054
-				0x00000008 0x0000005a
-				0x00000009 0x00000061
-				0x0000000a 0x0000006a
-				0x0000000b 0x00000071
+				<0x00000000 0x00000023
+				0x00000001 0x0000002a
+				0x00000002 0x00000030
+				0x00000003 0x00000037
+				0x00000004 0x0000003d
+				0x00000005 0x00000044
+				0x00000006 0x0000004a
+				0x00000007 0x00000051
+				0x00000008 0x00000057
+				0x00000009 0x0000005e
+				0x0000000a 0x00000064
+				0x0000000b 0x0000006b
 				/* Calibration data group 2 */
-				0x00010000 0x00000025
-				0x00010001 0x0000002c
-				0x00010002 0x00000035
-				0x00010003 0x0000003d
-				0x00010004 0x00000045
-				0x00010005 0x0000004e
-				0x00010006 0x00000057
-				0x00010007 0x00000061
-				0x00010008 0x0000006b
-				0x00010009 0x00000076
+				0x00010000 0x00000022
+				0x00010001 0x0000002a
+				0x00010002 0x00000032
+				0x00010003 0x0000003a
+				0x00010004 0x00000042
+				0x00010005 0x0000004a
+				0x00010006 0x00000052
+				0x00010007 0x0000005a
+				0x00010008 0x00000062
+				0x00010009 0x0000006a
 				/* Calibration data group 3 */
-				0x00020000 0x00000029
-				0x00020001 0x00000033
-				0x00020002 0x0000003d
-				0x00020003 0x00000049
-				0x00020004 0x00000056
-				0x00020005 0x00000061
-				0x00020006 0x0000006d
+				0x00020000 0x00000021
+				0x00020001 0x0000002b
+				0x00020002 0x00000035
+				0x00020003 0x00000040
+				0x00020004 0x0000004a
+				0x00020005 0x00000054
+				0x00020006 0x0000005e
 				/* Calibration data group 4 */
-				0x00030000 0x00000021
-				0x00030001 0x0000002a
-				0x00030002 0x0000003c
-				0x00030003 0x0000004e>;
+				0x00030000 0x00000010
+				0x00030001 0x0000001c
+				0x00030002 0x00000027
+				0x00030003 0x00000032
+				0x00030004 0x0000003e
+				0x00030005 0x00000049
+				0x00030006 0x00000054
+				0x00030007 0x00000060>;
 			little-endian;
 			#thermal-sensor-cells = <1>;
 		};
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] arm64: dts: ls208xa: add more thermal zone support
  2020-06-30  3:20 [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support andy.tang
@ 2020-06-30  3:20 ` andy.tang
  2020-06-30  5:12 ` [PATCH 1/2] arm64: dts: ls1088a: " Amit Kucheria
  1 sibling, 0 replies; 10+ messages in thread
From: andy.tang @ 2020-06-30  3:20 UTC (permalink / raw)
  To: shawnguo
  Cc: leoyang.li, robh+dt, linux-arm-kernel, devicetree, linux-kernel,
	Yuantian Tang

From: Yuantian Tang <andy.tang@nxp.com>

There are 7 thermal zones in ls208xa soc. Add the other thermal zone
nodes to enable them.

Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
---
 .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 132 +++++++++++++++++-
 1 file changed, 126 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 3944ef16ec60..019e99826645 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -78,28 +78,88 @@
 	};
 
 	thermal-zones {
-		cpu_thermal: cpu-thermal {
+		ddr-controller1 {
 			polling-delay-passive = <1000>;
 			polling-delay = <5000>;
+			thermal-sensors = <&tmu 1>;
 
-			thermal-sensors = <&tmu 4>;
+			trips {
+				ddr-ctrler1-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				ddr-ctrler1-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+
+		ddr-controller2 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 2>;
+
+			trips {
+				ddr-ctrler2-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				ddr-ctrler2-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+
+		ddr-controller3 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 3>;
 
 			trips {
-				cpu_alert: cpu-alert {
-					temperature = <75000>;
+				ddr-ctrler3-alert {
+					temperature = <85000>;
 					hysteresis = <2000>;
 					type = "passive";
 				};
-				cpu_crit: cpu-crit {
+
+				ddr-ctrler3-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+
+		core-cluster1 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 4>;
+
+			trips {
+				core_cluster1_alert: core-cluster1-alert {
 					temperature = <85000>;
 					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				core_cluster1_crit: core-cluster1-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
 					type = "critical";
 				};
 			};
 
 			cooling-maps {
 				map0 {
-					trip = <&cpu_alert>;
+					trip = <&core_cluster1_alert>;
 					cooling-device =
 						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
@@ -112,6 +172,66 @@
 				};
 			};
 		};
+
+		core-cluster2 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 5>;
+
+			trips {
+				core-cluster2-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				core-cluster2-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+
+		core-cluster3 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 6>;
+
+			trips {
+				core-cluster3-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				core-cluster3-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+
+		core-cluster4 {
+			polling-delay-passive = <1000>;
+			polling-delay = <5000>;
+			thermal-sensors = <&tmu 7>;
+
+			trips {
+				core-cluster4-alert {
+					temperature = <85000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+
+				core-cluster4-crit {
+					temperature = <95000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
 	};
 
 	timer {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  3:20 [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support andy.tang
  2020-06-30  3:20 ` [PATCH 2/2] arm64: dts: ls208xa: " andy.tang
@ 2020-06-30  5:12 ` Amit Kucheria
  2020-06-30  5:28   ` [EXT] " Andy Tang
  1 sibling, 1 reply; 10+ messages in thread
From: Amit Kucheria @ 2020-06-30  5:12 UTC (permalink / raw)
  To: Yuantian Tang
  Cc: Shawn Guo, Li Yang, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML

On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
>
> From: Yuantian Tang <andy.tang@nxp.com>
>
> There are 2 thermal zones in ls1088a soc. Add the other thermal zone
> node to enable it.
> Also update the values in calibration table to make the temperatures
> monitored more precise.
>
> Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> ---
>  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100 +++++++++++-------
>  1 file changed, 62 insertions(+), 38 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> index 36a799554620..ccbbc23e6c85 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> @@ -129,19 +129,19 @@
>         };
>
>         thermal-zones {
> -               cpu_thermal: cpu-thermal {
> +               core-cluster {
>                         polling-delay-passive = <1000>;
>                         polling-delay = <5000>;
>                         thermal-sensors = <&tmu 0>;
>
>                         trips {
> -                               cpu_alert: cpu-alert {
> +                               core_cluster_alert: core-cluster-alert {
>                                         temperature = <85000>;
>                                         hysteresis = <2000>;
>                                         type = "passive";
>                                 };
>
> -                               cpu_crit: cpu-crit {
> +                               core_cluster_crit: core-cluster-crit {
>                                         temperature = <95000>;
>                                         hysteresis = <2000>;
>                                         type = "critical";
> @@ -150,7 +150,7 @@
>
>                         cooling-maps {
>                                 map0 {
> -                                       trip = <&cpu_alert>;
> +                                       trip = <&core_cluster_alert>;
>                                         cooling-device =
>                                                 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> @@ -163,6 +163,26 @@
>                                 };
>                         };
>                 };
> +
> +               soc {
> +                       polling-delay-passive = <1000>;
> +                       polling-delay = <5000>;
> +                       thermal-sensors = <&tmu 1>;
> +
> +                       trips {
> +                               soc-alert {
> +                                       temperature = <85000>;
> +                                       hysteresis = <2000>;
> +                                       type = "passive";
> +                               };
> +
> +                               soc-crit {
> +                                       temperature = <95000>;
> +                                       hysteresis = <2000>;
> +                                       type = "critical";
> +                               };
> +                       };
> +               };

You should also add a cooling-maps section for this thermal zone given
that it has a passive trip type. Otherwise there is no use for a
passive trip type.

>         };
>
>         timer {
> @@ -209,45 +229,49 @@
>                         compatible = "fsl,qoriq-tmu";
>                         reg = <0x0 0x1f80000 0x0 0x10000>;
>                         interrupts = <0 23 0x4>;
> -                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
> +                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
>                         fsl,tmu-calibration =
>                                 /* Calibration data group 1 */
> -                               <0x00000000 0x00000026
> -                               0x00000001 0x0000002d
> -                               0x00000002 0x00000032
> -                               0x00000003 0x00000039
> -                               0x00000004 0x0000003f
> -                               0x00000005 0x00000046
> -                               0x00000006 0x0000004d
> -                               0x00000007 0x00000054
> -                               0x00000008 0x0000005a
> -                               0x00000009 0x00000061
> -                               0x0000000a 0x0000006a
> -                               0x0000000b 0x00000071
> +                               <0x00000000 0x00000023
> +                               0x00000001 0x0000002a
> +                               0x00000002 0x00000030
> +                               0x00000003 0x00000037
> +                               0x00000004 0x0000003d
> +                               0x00000005 0x00000044
> +                               0x00000006 0x0000004a
> +                               0x00000007 0x00000051
> +                               0x00000008 0x00000057
> +                               0x00000009 0x0000005e
> +                               0x0000000a 0x00000064
> +                               0x0000000b 0x0000006b
>                                 /* Calibration data group 2 */
> -                               0x00010000 0x00000025
> -                               0x00010001 0x0000002c
> -                               0x00010002 0x00000035
> -                               0x00010003 0x0000003d
> -                               0x00010004 0x00000045
> -                               0x00010005 0x0000004e
> -                               0x00010006 0x00000057
> -                               0x00010007 0x00000061
> -                               0x00010008 0x0000006b
> -                               0x00010009 0x00000076
> +                               0x00010000 0x00000022
> +                               0x00010001 0x0000002a
> +                               0x00010002 0x00000032
> +                               0x00010003 0x0000003a
> +                               0x00010004 0x00000042
> +                               0x00010005 0x0000004a
> +                               0x00010006 0x00000052
> +                               0x00010007 0x0000005a
> +                               0x00010008 0x00000062
> +                               0x00010009 0x0000006a
>                                 /* Calibration data group 3 */
> -                               0x00020000 0x00000029
> -                               0x00020001 0x00000033
> -                               0x00020002 0x0000003d
> -                               0x00020003 0x00000049
> -                               0x00020004 0x00000056
> -                               0x00020005 0x00000061
> -                               0x00020006 0x0000006d
> +                               0x00020000 0x00000021
> +                               0x00020001 0x0000002b
> +                               0x00020002 0x00000035
> +                               0x00020003 0x00000040
> +                               0x00020004 0x0000004a
> +                               0x00020005 0x00000054
> +                               0x00020006 0x0000005e
>                                 /* Calibration data group 4 */
> -                               0x00030000 0x00000021
> -                               0x00030001 0x0000002a
> -                               0x00030002 0x0000003c
> -                               0x00030003 0x0000004e>;
> +                               0x00030000 0x00000010
> +                               0x00030001 0x0000001c
> +                               0x00030002 0x00000027
> +                               0x00030003 0x00000032
> +                               0x00030004 0x0000003e
> +                               0x00030005 0x00000049
> +                               0x00030006 0x00000054
> +                               0x00030007 0x00000060>;
>                         little-endian;
>                         #thermal-sensor-cells = <1>;
>                 };
> --
> 2.17.1
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  5:12 ` [PATCH 1/2] arm64: dts: ls1088a: " Amit Kucheria
@ 2020-06-30  5:28   ` Andy Tang
  2020-06-30  5:36     ` Amit Kucheria
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Tang @ 2020-06-30  5:28 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: Shawn Guo, Leo Li, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML



> -----Original Message-----
> From: Amit Kucheria <amit.kucheria@linaro.org>
> Sent: 2020年6月30日 13:12
> To: Andy Tang <andy.tang@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone
> support
> 
> Caution: EXT Email
> 
> On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> >
> > From: Yuantian Tang <andy.tang@nxp.com>
> >
> > There are 2 thermal zones in ls1088a soc. Add the other thermal zone
> > node to enable it.
> > Also update the values in calibration table to make the temperatures
> > monitored more precise.
> >
> > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > ---
> >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > +++++++++++-------
> >  1 file changed, 62 insertions(+), 38 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > index 36a799554620..ccbbc23e6c85 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > @@ -129,19 +129,19 @@
> >         };
> >
> >         thermal-zones {
> > -               cpu_thermal: cpu-thermal {
> > +               core-cluster {
> >                         polling-delay-passive = <1000>;
> >                         polling-delay = <5000>;
> >                         thermal-sensors = <&tmu 0>;
> >
> >                         trips {
> > -                               cpu_alert: cpu-alert {
> > +                               core_cluster_alert:
> core-cluster-alert
> > + {
> >                                         temperature = <85000>;
> >                                         hysteresis = <2000>;
> >                                         type = "passive";
> >                                 };
> >
> > -                               cpu_crit: cpu-crit {
> > +                               core_cluster_crit: core-cluster-crit {
> >                                         temperature = <95000>;
> >                                         hysteresis = <2000>;
> >                                         type = "critical"; @@
> -150,7
> > +150,7 @@
> >
> >                         cooling-maps {
> >                                 map0 {
> > -                                       trip = <&cpu_alert>;
> > +                                       trip =
> <&core_cluster_alert>;
> >                                         cooling-device =
> >                                                 <&cpu0
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> >                                                 <&cpu1
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26 @@
> >                                 };
> >                         };
> >                 };
> > +
> > +               soc {
> > +                       polling-delay-passive = <1000>;
> > +                       polling-delay = <5000>;
> > +                       thermal-sensors = <&tmu 1>;
> > +
> > +                       trips {
> > +                               soc-alert {
> > +                                       temperature = <85000>;
> > +                                       hysteresis = <2000>;
> > +                                       type = "passive";
> > +                               };
> > +
> > +                               soc-crit {
> > +                                       temperature = <95000>;
> > +                                       hysteresis = <2000>;
> > +                                       type = "critical";
> > +                               };
> > +                       };
> > +               };
> 
> You should also add a cooling-maps section for this thermal zone given that it
> has a passive trip type. Otherwise there is no use for a passive trip type.
It is better to have a cooling device. But there is only one cooling device on this platform
which is used by core-cluster. So there is no extra cooling device for it.
This zone can take action when critical temp is reached. So it is still useful.
What do you suggest? 

BR,
Andy
> 
> >         };
> >
> >         timer {
> > @@ -209,45 +229,49 @@
> >                         compatible = "fsl,qoriq-tmu";
> >                         reg = <0x0 0x1f80000 0x0 0x10000>;
> >                         interrupts = <0 23 0x4>;
> > -                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c
> 0x30062>;
> > +                       fsl,tmu-range = <0xb0000 0x9002a 0x6004c
> > + 0x70062>;
> >                         fsl,tmu-calibration =
> >                                 /* Calibration data group 1 */
> > -                               <0x00000000 0x00000026
> > -                               0x00000001 0x0000002d
> > -                               0x00000002 0x00000032
> > -                               0x00000003 0x00000039
> > -                               0x00000004 0x0000003f
> > -                               0x00000005 0x00000046
> > -                               0x00000006 0x0000004d
> > -                               0x00000007 0x00000054
> > -                               0x00000008 0x0000005a
> > -                               0x00000009 0x00000061
> > -                               0x0000000a 0x0000006a
> > -                               0x0000000b 0x00000071
> > +                               <0x00000000 0x00000023
> > +                               0x00000001 0x0000002a
> > +                               0x00000002 0x00000030
> > +                               0x00000003 0x00000037
> > +                               0x00000004 0x0000003d
> > +                               0x00000005 0x00000044
> > +                               0x00000006 0x0000004a
> > +                               0x00000007 0x00000051
> > +                               0x00000008 0x00000057
> > +                               0x00000009 0x0000005e
> > +                               0x0000000a 0x00000064
> > +                               0x0000000b 0x0000006b
> >                                 /* Calibration data group 2 */
> > -                               0x00010000 0x00000025
> > -                               0x00010001 0x0000002c
> > -                               0x00010002 0x00000035
> > -                               0x00010003 0x0000003d
> > -                               0x00010004 0x00000045
> > -                               0x00010005 0x0000004e
> > -                               0x00010006 0x00000057
> > -                               0x00010007 0x00000061
> > -                               0x00010008 0x0000006b
> > -                               0x00010009 0x00000076
> > +                               0x00010000 0x00000022
> > +                               0x00010001 0x0000002a
> > +                               0x00010002 0x00000032
> > +                               0x00010003 0x0000003a
> > +                               0x00010004 0x00000042
> > +                               0x00010005 0x0000004a
> > +                               0x00010006 0x00000052
> > +                               0x00010007 0x0000005a
> > +                               0x00010008 0x00000062
> > +                               0x00010009 0x0000006a
> >                                 /* Calibration data group 3 */
> > -                               0x00020000 0x00000029
> > -                               0x00020001 0x00000033
> > -                               0x00020002 0x0000003d
> > -                               0x00020003 0x00000049
> > -                               0x00020004 0x00000056
> > -                               0x00020005 0x00000061
> > -                               0x00020006 0x0000006d
> > +                               0x00020000 0x00000021
> > +                               0x00020001 0x0000002b
> > +                               0x00020002 0x00000035
> > +                               0x00020003 0x00000040
> > +                               0x00020004 0x0000004a
> > +                               0x00020005 0x00000054
> > +                               0x00020006 0x0000005e
> >                                 /* Calibration data group 4 */
> > -                               0x00030000 0x00000021
> > -                               0x00030001 0x0000002a
> > -                               0x00030002 0x0000003c
> > -                               0x00030003 0x0000004e>;
> > +                               0x00030000 0x00000010
> > +                               0x00030001 0x0000001c
> > +                               0x00030002 0x00000027
> > +                               0x00030003 0x00000032
> > +                               0x00030004 0x0000003e
> > +                               0x00030005 0x00000049
> > +                               0x00030006 0x00000054
> > +                               0x00030007 0x00000060>;
> >                         little-endian;
> >                         #thermal-sensor-cells = <1>;
> >                 };
> > --
> > 2.17.1
> >

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  5:28   ` [EXT] " Andy Tang
@ 2020-06-30  5:36     ` Amit Kucheria
  2020-06-30  6:37       ` Andy Tang
  0 siblings, 1 reply; 10+ messages in thread
From: Amit Kucheria @ 2020-06-30  5:36 UTC (permalink / raw)
  To: Andy Tang
  Cc: Shawn Guo, Leo Li, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML

On Tue, Jun 30, 2020 at 10:58 AM Andy Tang <andy.tang@nxp.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Amit Kucheria <amit.kucheria@linaro.org>
> > Sent: 2020年6月30日 13:12
> > To: Andy Tang <andy.tang@nxp.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> > Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone
> > support
> >
> > Caution: EXT Email
> >
> > On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> > >
> > > From: Yuantian Tang <andy.tang@nxp.com>
> > >
> > > There are 2 thermal zones in ls1088a soc. Add the other thermal zone
> > > node to enable it.
> > > Also update the values in calibration table to make the temperatures
> > > monitored more precise.
> > >
> > > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > > ---
> > >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > > +++++++++++-------
> > >  1 file changed, 62 insertions(+), 38 deletions(-)
> > >
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > index 36a799554620..ccbbc23e6c85 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > @@ -129,19 +129,19 @@
> > >         };
> > >
> > >         thermal-zones {
> > > -               cpu_thermal: cpu-thermal {
> > > +               core-cluster {
> > >                         polling-delay-passive = <1000>;
> > >                         polling-delay = <5000>;
> > >                         thermal-sensors = <&tmu 0>;
> > >
> > >                         trips {
> > > -                               cpu_alert: cpu-alert {
> > > +                               core_cluster_alert:
> > core-cluster-alert
> > > + {
> > >                                         temperature = <85000>;
> > >                                         hysteresis = <2000>;
> > >                                         type = "passive";
> > >                                 };
> > >
> > > -                               cpu_crit: cpu-crit {
> > > +                               core_cluster_crit: core-cluster-crit {
> > >                                         temperature = <95000>;
> > >                                         hysteresis = <2000>;
> > >                                         type = "critical"; @@
> > -150,7
> > > +150,7 @@
> > >
> > >                         cooling-maps {
> > >                                 map0 {
> > > -                                       trip = <&cpu_alert>;
> > > +                                       trip =
> > <&core_cluster_alert>;
> > >                                         cooling-device =
> > >                                                 <&cpu0
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > >                                                 <&cpu1
> > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26 @@
> > >                                 };
> > >                         };
> > >                 };
> > > +
> > > +               soc {
> > > +                       polling-delay-passive = <1000>;
> > > +                       polling-delay = <5000>;
> > > +                       thermal-sensors = <&tmu 1>;
> > > +
> > > +                       trips {
> > > +                               soc-alert {
> > > +                                       temperature = <85000>;
> > > +                                       hysteresis = <2000>;
> > > +                                       type = "passive";
> > > +                               };
> > > +
> > > +                               soc-crit {
> > > +                                       temperature = <95000>;
> > > +                                       hysteresis = <2000>;
> > > +                                       type = "critical";
> > > +                               };
> > > +                       };
> > > +               };
> >
> > You should also add a cooling-maps section for this thermal zone given that it
> > has a passive trip type. Otherwise there is no use for a passive trip type.
> It is better to have a cooling device. But there is only one cooling device on this platform
> which is used by core-cluster. So there is no extra cooling device for it.
> This zone can take action when critical temp is reached. So it is still useful.
> What do you suggest?

If the action taken by the core-cluster cooling-maps is the only one
that can be taken, I suggest getting rid of the the soc-alert passive
trip completely. It is not of any use.

If there is a chance that your soc thermal-zone can heat up before
your cpu-cluster zone (unlikely), you could use the same cooling
device (cpu0, cpu1) for soc thermal zone too.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  5:36     ` Amit Kucheria
@ 2020-06-30  6:37       ` Andy Tang
  2020-06-30  6:46         ` Amit Kucheria
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Tang @ 2020-06-30  6:37 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: Shawn Guo, Leo Li, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML



> -----Original Message-----
> From: Amit Kucheria <amit.kucheria@linaro.org>
> Sent: 2020年6月30日 13:37
> To: Andy Tang <andy.tang@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> zone support
> 
> Caution: EXT Email
> 
> On Tue, Jun 30, 2020 at 10:58 AM Andy Tang <andy.tang@nxp.com> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > Sent: 2020年6月30日 13:12
> > > To: Andy Tang <andy.tang@nxp.com>
> > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
> > > Rob Herring <robh+dt@kernel.org>; lakml
> > > <linux-arm-kernel@lists.infradead.org>;
> > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > > Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> > > zone support
> > >
> > > Caution: EXT Email
> > >
> > > On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> > > >
> > > > From: Yuantian Tang <andy.tang@nxp.com>
> > > >
> > > > There are 2 thermal zones in ls1088a soc. Add the other thermal
> > > > zone node to enable it.
> > > > Also update the values in calibration table to make the
> > > > temperatures monitored more precise.
> > > >
> > > > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > > > ---
> > > >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > > > +++++++++++-------
> > > >  1 file changed, 62 insertions(+), 38 deletions(-)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > index 36a799554620..ccbbc23e6c85 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > @@ -129,19 +129,19 @@
> > > >         };
> > > >
> > > >         thermal-zones {
> > > > -               cpu_thermal: cpu-thermal {
> > > > +               core-cluster {
> > > >                         polling-delay-passive = <1000>;
> > > >                         polling-delay = <5000>;
> > > >                         thermal-sensors = <&tmu 0>;
> > > >
> > > >                         trips {
> > > > -                               cpu_alert: cpu-alert {
> > > > +                               core_cluster_alert:
> > > core-cluster-alert
> > > > + {
> > > >                                         temperature =
> <85000>;
> > > >                                         hysteresis = <2000>;
> > > >                                         type = "passive";
> > > >                                 };
> > > >
> > > > -                               cpu_crit: cpu-crit {
> > > > +                               core_cluster_crit:
> > > > + core-cluster-crit {
> > > >                                         temperature =
> <95000>;
> > > >                                         hysteresis = <2000>;
> > > >                                         type = "critical"; @@
> > > -150,7
> > > > +150,7 @@
> > > >
> > > >                         cooling-maps {
> > > >                                 map0 {
> > > > -                                       trip = <&cpu_alert>;
> > > > +                                       trip =
> > > <&core_cluster_alert>;
> > > >                                         cooling-device =
> > > >                                                 <&cpu0
> > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > > >                                                 <&cpu1
> > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26 @@
> > > >                                 };
> > > >                         };
> > > >                 };
> > > > +
> > > > +               soc {
> > > > +                       polling-delay-passive = <1000>;
> > > > +                       polling-delay = <5000>;
> > > > +                       thermal-sensors = <&tmu 1>;
> > > > +
> > > > +                       trips {
> > > > +                               soc-alert {
> > > > +                                       temperature =
> <85000>;
> > > > +                                       hysteresis = <2000>;
> > > > +                                       type = "passive";
> > > > +                               };
> > > > +
> > > > +                               soc-crit {
> > > > +                                       temperature =
> <95000>;
> > > > +                                       hysteresis = <2000>;
> > > > +                                       type = "critical";
> > > > +                               };
> > > > +                       };
> > > > +               };
> > >
> > > You should also add a cooling-maps section for this thermal zone
> > > given that it has a passive trip type. Otherwise there is no use for a
> passive trip type.
> > It is better to have a cooling device. But there is only one cooling
> > device on this platform which is used by core-cluster. So there is no extra
> cooling device for it.
> > This zone can take action when critical temp is reached. So it is still useful.
> > What do you suggest?
> 
> If the action taken by the core-cluster cooling-maps is the only one that can
> be taken, I suggest getting rid of the the soc-alert passive trip completely. It is
> not of any use.
> 
> If there is a chance that your soc thermal-zone can heat up before your
> cpu-cluster zone (unlikely), you could use the same cooling device (cpu0, cpu1)
> for soc thermal zone too.
Thanks for your suggestion.
I was told that a cooling-maps can not be applied to more than one thermal zone.
So the only option is to remove the alert trip.

BR,
Andy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  6:37       ` Andy Tang
@ 2020-06-30  6:46         ` Amit Kucheria
  2020-06-30  7:27           ` Andy Tang
  2020-07-02  3:33           ` Andy Tang
  0 siblings, 2 replies; 10+ messages in thread
From: Amit Kucheria @ 2020-06-30  6:46 UTC (permalink / raw)
  To: Andy Tang
  Cc: Shawn Guo, Leo Li, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML

On Tue, Jun 30, 2020 at 12:07 PM Andy Tang <andy.tang@nxp.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Amit Kucheria <amit.kucheria@linaro.org>
> > Sent: 2020年6月30日 13:37
> > To: Andy Tang <andy.tang@nxp.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> > Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> > zone support
> >
> > Caution: EXT Email
> >
> > On Tue, Jun 30, 2020 at 10:58 AM Andy Tang <andy.tang@nxp.com> wrote:
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > > Sent: 2020年6月30日 13:12
> > > > To: Andy Tang <andy.tang@nxp.com>
> > > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
> > > > Rob Herring <robh+dt@kernel.org>; lakml
> > > > <linux-arm-kernel@lists.infradead.org>;
> > > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > > > Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> > > > zone support
> > > >
> > > > Caution: EXT Email
> > > >
> > > > On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> > > > >
> > > > > From: Yuantian Tang <andy.tang@nxp.com>
> > > > >
> > > > > There are 2 thermal zones in ls1088a soc. Add the other thermal
> > > > > zone node to enable it.
> > > > > Also update the values in calibration table to make the
> > > > > temperatures monitored more precise.
> > > > >
> > > > > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > > > > ---
> > > > >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > > > > +++++++++++-------
> > > > >  1 file changed, 62 insertions(+), 38 deletions(-)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > index 36a799554620..ccbbc23e6c85 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > @@ -129,19 +129,19 @@
> > > > >         };
> > > > >
> > > > >         thermal-zones {
> > > > > -               cpu_thermal: cpu-thermal {
> > > > > +               core-cluster {
> > > > >                         polling-delay-passive = <1000>;
> > > > >                         polling-delay = <5000>;
> > > > >                         thermal-sensors = <&tmu 0>;
> > > > >
> > > > >                         trips {
> > > > > -                               cpu_alert: cpu-alert {
> > > > > +                               core_cluster_alert:
> > > > core-cluster-alert
> > > > > + {
> > > > >                                         temperature =
> > <85000>;
> > > > >                                         hysteresis = <2000>;
> > > > >                                         type = "passive";
> > > > >                                 };
> > > > >
> > > > > -                               cpu_crit: cpu-crit {
> > > > > +                               core_cluster_crit:
> > > > > + core-cluster-crit {
> > > > >                                         temperature =
> > <95000>;
> > > > >                                         hysteresis = <2000>;
> > > > >                                         type = "critical"; @@
> > > > -150,7
> > > > > +150,7 @@
> > > > >
> > > > >                         cooling-maps {
> > > > >                                 map0 {
> > > > > -                                       trip = <&cpu_alert>;
> > > > > +                                       trip =
> > > > <&core_cluster_alert>;
> > > > >                                         cooling-device =
> > > > >                                                 <&cpu0
> > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > > > >                                                 <&cpu1
> > > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26 @@
> > > > >                                 };
> > > > >                         };
> > > > >                 };
> > > > > +
> > > > > +               soc {
> > > > > +                       polling-delay-passive = <1000>;
> > > > > +                       polling-delay = <5000>;
> > > > > +                       thermal-sensors = <&tmu 1>;
> > > > > +
> > > > > +                       trips {
> > > > > +                               soc-alert {
> > > > > +                                       temperature =
> > <85000>;
> > > > > +                                       hysteresis = <2000>;
> > > > > +                                       type = "passive";
> > > > > +                               };
> > > > > +
> > > > > +                               soc-crit {
> > > > > +                                       temperature =
> > <95000>;
> > > > > +                                       hysteresis = <2000>;
> > > > > +                                       type = "critical";
> > > > > +                               };
> > > > > +                       };
> > > > > +               };
> > > >
> > > > You should also add a cooling-maps section for this thermal zone
> > > > given that it has a passive trip type. Otherwise there is no use for a
> > passive trip type.
> > > It is better to have a cooling device. But there is only one cooling
> > > device on this platform which is used by core-cluster. So there is no extra
> > cooling device for it.
> > > This zone can take action when critical temp is reached. So it is still useful.
> > > What do you suggest?
> >
> > If the action taken by the core-cluster cooling-maps is the only one that can
> > be taken, I suggest getting rid of the the soc-alert passive trip completely. It is
> > not of any use.
> >
> > If there is a chance that your soc thermal-zone can heat up before your
> > cpu-cluster zone (unlikely), you could use the same cooling device (cpu0, cpu1)
> > for soc thermal zone too.
> Thanks for your suggestion.
> I was told that a cooling-maps can not be applied to more than one thermal zone.
> So the only option is to remove the alert trip.

The cooling-map is unique to the thermal-zone. But the cooling devices
may be reused.

See arch/arm64/boot/dts/qcom/sdm845.dtsi for an example.

So, in your case, you would have a cooling-map section that ties the
soc-alert trip to the same cooling devices as in cpu-cluster cooling
map.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  6:46         ` Amit Kucheria
@ 2020-06-30  7:27           ` Andy Tang
  2020-07-02  3:33           ` Andy Tang
  1 sibling, 0 replies; 10+ messages in thread
From: Andy Tang @ 2020-06-30  7:27 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: Shawn Guo, Leo Li, Rob Herring, lakml,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML



> -----Original Message-----
> From: Amit Kucheria <amit.kucheria@linaro.org>
> Sent: 2020年6月30日 14:47
> To: Andy Tang <andy.tang@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> zone support
> 
> Caution: EXT Email
> 
> On Tue, Jun 30, 2020 at 12:07 PM Andy Tang <andy.tang@nxp.com> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > Sent: 2020年6月30日 13:37
> > > To: Andy Tang <andy.tang@nxp.com>
> > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
> > > Rob Herring <robh+dt@kernel.org>; lakml
> > > <linux-arm-kernel@lists.infradead.org>;
> > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > > Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
> > > thermal zone support
> > >
> > > Caution: EXT Email
> > >
> > > On Tue, Jun 30, 2020 at 10:58 AM Andy Tang <andy.tang@nxp.com>
> wrote:
> > > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > > > Sent: 2020年6月30日 13:12
> > > > > To: Andy Tang <andy.tang@nxp.com>
> > > > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li
> > > > > <leoyang.li@nxp.com>; Rob Herring <robh+dt@kernel.org>; lakml
> > > > > <linux-arm-kernel@lists.infradead.org>;
> > > > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > > > <devicetree@vger.kernel.org>; LKML
> > > > > <linux-kernel@vger.kernel.org>
> > > > > Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
> > > > > thermal zone support
> > > > >
> > > > > Caution: EXT Email
> > > > >
> > > > > On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> > > > > >
> > > > > > From: Yuantian Tang <andy.tang@nxp.com>
> > > > > >
> > > > > > There are 2 thermal zones in ls1088a soc. Add the other
> > > > > > thermal zone node to enable it.
> > > > > > Also update the values in calibration table to make the
> > > > > > temperatures monitored more precise.
> > > > > >
> > > > > > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > > > > > ---
> > > > > >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > > > > > +++++++++++-------
> > > > > >  1 file changed, 62 insertions(+), 38 deletions(-)
> > > > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > index 36a799554620..ccbbc23e6c85 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > @@ -129,19 +129,19 @@
> > > > > >         };
> > > > > >
> > > > > >         thermal-zones {
> > > > > > -               cpu_thermal: cpu-thermal {
> > > > > > +               core-cluster {
> > > > > >                         polling-delay-passive = <1000>;
> > > > > >                         polling-delay = <5000>;
> > > > > >                         thermal-sensors = <&tmu 0>;
> > > > > >
> > > > > >                         trips {
> > > > > > -                               cpu_alert: cpu-alert {
> > > > > > +                               core_cluster_alert:
> > > > > core-cluster-alert
> > > > > > + {
> > > > > >                                         temperature =
> > > <85000>;
> > > > > >                                         hysteresis =
> <2000>;
> > > > > >                                         type = "passive";
> > > > > >                                 };
> > > > > >
> > > > > > -                               cpu_crit: cpu-crit {
> > > > > > +                               core_cluster_crit:
> > > > > > + core-cluster-crit {
> > > > > >                                         temperature =
> > > <95000>;
> > > > > >                                         hysteresis =
> <2000>;
> > > > > >                                         type = "critical";
> @@
> > > > > -150,7
> > > > > > +150,7 @@
> > > > > >
> > > > > >                         cooling-maps {
> > > > > >                                 map0 {
> > > > > > -                                       trip =
> <&cpu_alert>;
> > > > > > +                                       trip =
> > > > > <&core_cluster_alert>;
> > > > > >                                         cooling-device =
> > > > > >                                                 <&cpu0
> > > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > > > > >                                                 <&cpu1
> > > > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26
> @@
> > > > > >                                 };
> > > > > >                         };
> > > > > >                 };
> > > > > > +
> > > > > > +               soc {
> > > > > > +                       polling-delay-passive = <1000>;
> > > > > > +                       polling-delay = <5000>;
> > > > > > +                       thermal-sensors = <&tmu 1>;
> > > > > > +
> > > > > > +                       trips {
> > > > > > +                               soc-alert {
> > > > > > +                                       temperature =
> > > <85000>;
> > > > > > +                                       hysteresis =
> <2000>;
> > > > > > +                                       type = "passive";
> > > > > > +                               };
> > > > > > +
> > > > > > +                               soc-crit {
> > > > > > +                                       temperature =
> > > <95000>;
> > > > > > +                                       hysteresis =
> <2000>;
> > > > > > +                                       type = "critical";
> > > > > > +                               };
> > > > > > +                       };
> > > > > > +               };
> > > > >
> > > > > You should also add a cooling-maps section for this thermal zone
> > > > > given that it has a passive trip type. Otherwise there is no use
> > > > > for a
> > > passive trip type.
> > > > It is better to have a cooling device. But there is only one
> > > > cooling device on this platform which is used by core-cluster. So
> > > > there is no extra
> > > cooling device for it.
> > > > This zone can take action when critical temp is reached. So it is still
> useful.
> > > > What do you suggest?
> > >
> > > If the action taken by the core-cluster cooling-maps is the only one
> > > that can be taken, I suggest getting rid of the the soc-alert
> > > passive trip completely. It is not of any use.
> > >
> > > If there is a chance that your soc thermal-zone can heat up before
> > > your cpu-cluster zone (unlikely), you could use the same cooling
> > > device (cpu0, cpu1) for soc thermal zone too.
> > Thanks for your suggestion.
> > I was told that a cooling-maps can not be applied to more than one thermal
> zone.
> > So the only option is to remove the alert trip.
> 
> The cooling-map is unique to the thermal-zone. But the cooling devices may
> be reused.
> 
> See arch/arm64/boot/dts/qcom/sdm845.dtsi for an example.
> 
> So, in your case, you would have a cooling-map section that ties the soc-alert
> trip to the same cooling devices as in cpu-cluster cooling map.
Got it. Thanks,

BR,
Andy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-06-30  6:46         ` Amit Kucheria
  2020-06-30  7:27           ` Andy Tang
@ 2020-07-02  3:33           ` Andy Tang
  2020-07-13  3:15             ` Shawn Guo
  1 sibling, 1 reply; 10+ messages in thread
From: Andy Tang @ 2020-07-02  3:33 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Leo Li, Rob Herring, lakml, Amit Kucheria,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML

Hi Shawn,

Do you think it is ok if the cooling devices are shared between thermal zones?

BR,
Andy

> -----Original Message-----
> From: Amit Kucheria <amit.kucheria@linaro.org>
> Sent: 2020年6月30日 14:47
> To: Andy Tang <andy.tang@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> Herring <robh+dt@kernel.org>; lakml <linux-arm-kernel@lists.infradead.org>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
> zone support
> 
> Caution: EXT Email
> 
> On Tue, Jun 30, 2020 at 12:07 PM Andy Tang <andy.tang@nxp.com> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > Sent: 2020年6月30日 13:37
> > > To: Andy Tang <andy.tang@nxp.com>
> > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
> > > Rob Herring <robh+dt@kernel.org>; lakml
> > > <linux-arm-kernel@lists.infradead.org>;
> > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>
> > > Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
> > > thermal zone support
> > >
> > > Caution: EXT Email
> > >
> > > On Tue, Jun 30, 2020 at 10:58 AM Andy Tang <andy.tang@nxp.com>
> wrote:
> > > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Amit Kucheria <amit.kucheria@linaro.org>
> > > > > Sent: 2020年6月30日 13:12
> > > > > To: Andy Tang <andy.tang@nxp.com>
> > > > > Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li
> > > > > <leoyang.li@nxp.com>; Rob Herring <robh+dt@kernel.org>; lakml
> > > > > <linux-arm-kernel@lists.infradead.org>;
> > > > > open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> > > > > <devicetree@vger.kernel.org>; LKML
> > > > > <linux-kernel@vger.kernel.org>
> > > > > Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
> > > > > thermal zone support
> > > > >
> > > > > Caution: EXT Email
> > > > >
> > > > > On Tue, Jun 30, 2020 at 8:56 AM <andy.tang@nxp.com> wrote:
> > > > > >
> > > > > > From: Yuantian Tang <andy.tang@nxp.com>
> > > > > >
> > > > > > There are 2 thermal zones in ls1088a soc. Add the other
> > > > > > thermal zone node to enable it.
> > > > > > Also update the values in calibration table to make the
> > > > > > temperatures monitored more precise.
> > > > > >
> > > > > > Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
> > > > > > ---
> > > > > >  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
> > > > > > +++++++++++-------
> > > > > >  1 file changed, 62 insertions(+), 38 deletions(-)
> > > > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > index 36a799554620..ccbbc23e6c85 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> > > > > > @@ -129,19 +129,19 @@
> > > > > >         };
> > > > > >
> > > > > >         thermal-zones {
> > > > > > -               cpu_thermal: cpu-thermal {
> > > > > > +               core-cluster {
> > > > > >                         polling-delay-passive = <1000>;
> > > > > >                         polling-delay = <5000>;
> > > > > >                         thermal-sensors = <&tmu 0>;
> > > > > >
> > > > > >                         trips {
> > > > > > -                               cpu_alert: cpu-alert {
> > > > > > +                               core_cluster_alert:
> > > > > core-cluster-alert
> > > > > > + {
> > > > > >                                         temperature =
> > > <85000>;
> > > > > >                                         hysteresis =
> <2000>;
> > > > > >                                         type = "passive";
> > > > > >                                 };
> > > > > >
> > > > > > -                               cpu_crit: cpu-crit {
> > > > > > +                               core_cluster_crit:
> > > > > > + core-cluster-crit {
> > > > > >                                         temperature =
> > > <95000>;
> > > > > >                                         hysteresis =
> <2000>;
> > > > > >                                         type = "critical";
> @@
> > > > > -150,7
> > > > > > +150,7 @@
> > > > > >
> > > > > >                         cooling-maps {
> > > > > >                                 map0 {
> > > > > > -                                       trip =
> <&cpu_alert>;
> > > > > > +                                       trip =
> > > > > <&core_cluster_alert>;
> > > > > >                                         cooling-device =
> > > > > >                                                 <&cpu0
> > > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > > > > >                                                 <&cpu1
> > > > > > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26
> @@
> > > > > >                                 };
> > > > > >                         };
> > > > > >                 };
> > > > > > +
> > > > > > +               soc {
> > > > > > +                       polling-delay-passive = <1000>;
> > > > > > +                       polling-delay = <5000>;
> > > > > > +                       thermal-sensors = <&tmu 1>;
> > > > > > +
> > > > > > +                       trips {
> > > > > > +                               soc-alert {
> > > > > > +                                       temperature =
> > > <85000>;
> > > > > > +                                       hysteresis =
> <2000>;
> > > > > > +                                       type = "passive";
> > > > > > +                               };
> > > > > > +
> > > > > > +                               soc-crit {
> > > > > > +                                       temperature =
> > > <95000>;
> > > > > > +                                       hysteresis =
> <2000>;
> > > > > > +                                       type = "critical";
> > > > > > +                               };
> > > > > > +                       };
> > > > > > +               };
> > > > >
> > > > > You should also add a cooling-maps section for this thermal zone
> > > > > given that it has a passive trip type. Otherwise there is no use
> > > > > for a
> > > passive trip type.
> > > > It is better to have a cooling device. But there is only one
> > > > cooling device on this platform which is used by core-cluster. So
> > > > there is no extra
> > > cooling device for it.
> > > > This zone can take action when critical temp is reached. So it is still
> useful.
> > > > What do you suggest?
> > >
> > > If the action taken by the core-cluster cooling-maps is the only one
> > > that can be taken, I suggest getting rid of the the soc-alert
> > > passive trip completely. It is not of any use.
> > >
> > > If there is a chance that your soc thermal-zone can heat up before
> > > your cpu-cluster zone (unlikely), you could use the same cooling
> > > device (cpu0, cpu1) for soc thermal zone too.
> > Thanks for your suggestion.
> > I was told that a cooling-maps can not be applied to more than one thermal
> zone.
> > So the only option is to remove the alert trip.
> 
> The cooling-map is unique to the thermal-zone. But the cooling devices may
> be reused.
> 
> See arch/arm64/boot/dts/qcom/sdm845.dtsi for an example.
> 
> So, in your case, you would have a cooling-map section that ties the soc-alert
> trip to the same cooling devices as in cpu-cluster cooling map.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support
  2020-07-02  3:33           ` Andy Tang
@ 2020-07-13  3:15             ` Shawn Guo
  0 siblings, 0 replies; 10+ messages in thread
From: Shawn Guo @ 2020-07-13  3:15 UTC (permalink / raw)
  To: Andy Tang
  Cc: Leo Li, Rob Herring, lakml, Amit Kucheria,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML

On Thu, Jul 02, 2020 at 03:33:59AM +0000, Andy Tang wrote:
> Hi Shawn,
> 
> Do you think it is ok if the cooling devices are shared between thermal zones?

Yeah, Amit has the authority on thermal support, so follow his
suggestion, I would say :)

Shawn

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-07-13  3:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-30  3:20 [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support andy.tang
2020-06-30  3:20 ` [PATCH 2/2] arm64: dts: ls208xa: " andy.tang
2020-06-30  5:12 ` [PATCH 1/2] arm64: dts: ls1088a: " Amit Kucheria
2020-06-30  5:28   ` [EXT] " Andy Tang
2020-06-30  5:36     ` Amit Kucheria
2020-06-30  6:37       ` Andy Tang
2020-06-30  6:46         ` Amit Kucheria
2020-06-30  7:27           ` Andy Tang
2020-07-02  3:33           ` Andy Tang
2020-07-13  3:15             ` Shawn Guo

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).