[EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support

Andy Tang andy.tang at nxp.com
Tue Jun 30 01:28:16 EDT 2020



> -----Original Message-----
> From: Amit Kucheria <amit.kucheria at linaro.org>
> Sent: 2020年6月30日 13:12
> To: Andy Tang <andy.tang at nxp.com>
> Cc: Shawn Guo <shawnguo at kernel.org>; Leo Li <leoyang.li at nxp.com>; Rob
> Herring <robh+dt at kernel.org>; lakml <linux-arm-kernel at lists.infradead.org>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree at vger.kernel.org>; LKML <linux-kernel at 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 at nxp.com> wrote:
> >
> > From: Yuantian Tang <andy.tang at 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 at 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
> >


More information about the linux-arm-kernel mailing list