Hi, On 10/16/19 1:20 AM, Amit Kucheria wrote: > On Fri, Oct 4, 2019 at 2:31 PM Guillaume La Roque <glaroque@xxxxxxxxxxxx> wrote: >> Add minimal thermal zone for two temperature sensor >> One is located close to the DDR and the other one is >> located close to the PLLs (between the CPU and GPU) >> >> Acked-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> >> Reviewed-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> >> Tested-by: Christian Hewitt <christianshewitt@xxxxxxxxx> >> Tested-by: Kevin Hilman <khilman@xxxxxxxxxxxx> >> Signed-off-by: Guillaume La Roque <glaroque@xxxxxxxxxxxx> >> --- >> .../boot/dts/amlogic/meson-g12-common.dtsi | 57 +++++++++++++++++++ >> 1 file changed, 57 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi >> index 0660d9ef6a86..a98c16e163c2 100644 >> --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi >> +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi >> @@ -12,6 +12,7 @@ >> #include <dt-bindings/interrupt-controller/arm-gic.h> >> #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> >> #include <dt-bindings/reset/amlogic,meson-g12a-reset.h> >> +#include <dt-bindings/thermal/thermal.h> >> >> / { >> interrupt-parent = <&gic>; >> @@ -94,6 +95,61 @@ >> #size-cells = <2>; >> ranges; >> >> + thermal-zones { >> + cpu_thermal: cpu-thermal { >> + polling-delay = <1000>; >> + polling-delay-passive = <100>; > Ordinarily, you would need to set these delays to 0 in interrupt mode > to prevent polling overhead. I've just submitted a patch to of-thermal > that should fix this requirement. Could you check if it works for you? it's working for me. thanks for your review. >> + thermal-sensors = <&cpu_temp>; >> + >> + trips { >> + cpu_passive: cpu-passive { >> + temperature = <85000>; /* millicelsius */ >> + hysteresis = <2000>; /* millicelsius */ >> + type = "passive"; >> + }; >> + >> + cpu_hot: cpu-hot { >> + temperature = <95000>; /* millicelsius */ >> + hysteresis = <2000>; /* millicelsius */ >> + type = "hot"; >> + }; >> + >> + cpu_critical: cpu-critical { >> + temperature = <110000>; /* millicelsius */ >> + hysteresis = <2000>; /* millicelsius */ >> + type = "critical"; >> + }; >> + }; >> + }; >> + >> + ddr_thermal: ddr-thermal { >> + polling-delay = <1000>; >> + polling-delay-passive = <100>; >> + thermal-sensors = <&ddr_temp>; >> + >> + trips { >> + ddr_passive: ddr-passive { >> + temperature = <85000>; /* millicelsius */ >> + hysteresis = <2000>; /* millicelsius */ >> + type = "passive"; >> + }; >> + >> + ddr_critical: ddr-critical { >> + temperature = <110000>; /* millicelsius */ >> + hysteresis = <2000>; /* millicelsius */ >> + type = "critical"; >> + }; >> + }; >> + >> + cooling-maps { >> + map { >> + trip = <&ddr_passive>; >> + cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; >> + }; >> + }; >> + }; >> + }; >> + >> ethmac: ethernet@ff3f0000 { >> compatible = "amlogic,meson-axg-dwmac", >> "snps,dwmac-3.70a", >> @@ -2412,6 +2468,7 @@ >> assigned-clock-rates = <0>, /* Do Nothing */ >> <800000000>, >> <0>; /* Do Nothing */ >> + #cooling-cells = <2>; >> }; >> }; >> >> -- >> 2.17.1 >>