Re: [PATCH v7 4/7] arm64: dts: meson: g12: Add minimal thermal zone

From: Amit Kucheria
Date: Tue Oct 15 2019 - 19:21:02 EST


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?

> + 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
>