linux-arm-kernel.lists.infradead.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: devicetree, Yuantian Tang, linux-kernel, leoyang.li, robh+dt,
	linux-arm-kernel

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: devicetree, Yuantian Tang, linux-kernel, leoyang.li, robh+dt,
	linux-arm-kernel

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Li Yang, Rob Herring, Shawn Guo, lakml

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
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Leo Li, Rob Herring, Shawn Guo, lakml



> -----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
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Leo Li, Rob Herring, Shawn Guo, lakml

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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Leo Li, Rob Herring, Shawn Guo, lakml



> -----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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Leo Li, Rob Herring, Shawn Guo, lakml

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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Leo Li, Rob Herring, Shawn Guo, lakml



> -----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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Amit Kucheria, Leo Li, Rob Herring, lakml

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.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ 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: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Amit Kucheria, Leo Li, Rob Herring, lakml

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2020-07-13  3:17 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).