Am Donnerstag, den 21.03.2019, 05:52 -0700 schrieb Angus Ainslie (Purism): > Add the imx8mq TMU (Thermal management unit) nodes for CPU, > GPU, and VPU. > > Signed-off-by: Angus Ainslie (Purism) <angus@xxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > --- > > Changes since v3: > > Moved the annotation. > > Changes since v2: > > Updated alert and critical temps for commercial parts. > Fixed node names. > > Changes since v1: > > Removed references to multi sensor patch. > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 118 ++++++++++++++++++++++ > 1 file changed, 118 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > index b39c6c75c043..81d5ce1b1ec1 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi > @@ -8,6 +8,7 @@ > #include <dt-bindings/power/imx8mq-power.h> > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/thermal/thermal.h> > #include "imx8mq-pinfunc.h" > > / { > @@ -89,6 +90,7 @@ > > reg = <0x0>; > > enable-method = "psci"; > > next-level-cache = <&A53_L2>; > > + #cooling-cells = <2>; > > }; > > > > A53_1: cpu@1 { > @@ -97,6 +99,7 @@ > > reg = <0x1>; > > enable-method = "psci"; > > next-level-cache = <&A53_L2>; > > + #cooling-cells = <2>; > > }; > > > > A53_2: cpu@2 { > @@ -105,6 +108,7 @@ > > reg = <0x2>; > > enable-method = "psci"; > > next-level-cache = <&A53_L2>; > > + #cooling-cells = <2>; > > }; > > > > A53_3: cpu@3 { > @@ -113,6 +117,7 @@ > > reg = <0x3>; > > enable-method = "psci"; > > next-level-cache = <&A53_L2>; > > + #cooling-cells = <2>; > > }; > > > A53_L2: l2-cache0 { > @@ -210,6 +215,119 @@ > > #interrupt-cells = <2>; > > }; > > > > + tmu: tmu@30260000 { > > + compatible = "fsl,imx8mq-tmu"; > > + reg = <0x30260000 0x10000>; > > + interrupt = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; > > + little-endian; > > + fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>; > > + fsl,tmu-calibration = <0x00000000 0x00000023 > > + 0x00000001 0x00000029 > > + 0x00000002 0x0000002f > > + 0x00000003 0x00000035 > > + 0x00000004 0x0000003d > > + 0x00000005 0x00000043 > > + 0x00000006 0x0000004b > > + 0x00000007 0x00000051 > > + 0x00000008 0x00000057 > > + 0x00000009 0x0000005f > > + 0x0000000a 0x00000067 > > + 0x0000000b 0x0000006f > + > > + 0x00010000 0x0000001b > > + 0x00010001 0x00000023 > > + 0x00010002 0x0000002b > > + 0x00010003 0x00000033 > > + 0x00010004 0x0000003b > > + 0x00010005 0x00000043 > > + 0x00010006 0x0000004b > > + 0x00010007 0x00000055 > > + 0x00010008 0x0000005d > > + 0x00010009 0x00000067 > > + 0x0001000a 0x00000070 > + > > + 0x00020000 0x00000017 > > + 0x00020001 0x00000023 > > + 0x00020002 0x0000002d > > + 0x00020003 0x00000037 > > + 0x00020004 0x00000041 > > + 0x00020005 0x0000004b > > + 0x00020006 0x00000057 > > + 0x00020007 0x00000063 > > + 0x00020008 0x0000006f > + > > + 0x00030000 0x00000015 > > + 0x00030001 0x00000021 > > + 0x00030002 0x0000002d > > + 0x00030003 0x00000039 > > + 0x00030004 0x00000045 > > + 0x00030005 0x00000053 > > + 0x00030006 0x0000005f > > + 0x00030007 0x00000071>; > > + #thermal-sensor-cells = <1>; > > + }; > + > > + thermal-zones { > > + cpu-thermal { > > + polling-delay-passive = <250>; > > + polling-delay = <2000>; > > + thermal-sensors = <&tmu 0>; > + > > + trips { > > + cpu_alert: cpu-alert { > > + temperature = <80000>; > > + hysteresis = <2000>; > > + type = "passive"; > > + }; > + > > + cpu-crit { > > + temperature = <90000>; > > + hysteresis = <2000>; > > + type = "critical"; > > + }; > > + }; > + > > + cooling-maps { > > + map0 { > > + trip = <&cpu_alert>; > > + cooling-device = > > + <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, > > + <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, > > + <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, > > + <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > > + }; > > + }; > > + }; > + > > + gpu-thermal { > > + polling-delay-passive = <250>; > > + polling-delay = <2000>; > > + thermal-sensors = <&tmu 1>; > + > > + trips { > > + gpu-crit { > > + temperature = <90000>; > > + hysteresis = <2000>; > > + type = "critical"; > > + }; > > + }; > > + }; > + > > + vpu-thermal { > > + polling-delay-passive = <250>; > > + polling-delay = <2000>; > > + thermal-sensors = <&tmu 2>; > + > > + trips { > > + vpu-crit { > > + temperature = <90000>; > > + hysteresis = <2000>; > > + type = "critical"; > > + }; > > + }; > > + }; > > + }; > + > > > wdog1: watchdog@30280000 { > > compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; > > reg = <0x30280000 0x10000>;