Skip to content

Commit

Permalink
ARM: dts: sun8i-a83t: Add thermal trip points/cooling maps
Browse files Browse the repository at this point in the history
This enables passive cooling by down-regulating CPU voltage
and frequency.

For the trip points, I used values from the BSP code directly.

The critical trip point value is 30°C above the maximum recommended
ambient temperature (70°C) for the SoC from the datasheet, so there's
some headroom even at such a high ambient temperature.

Signed-off-by: Ondrej Jirman <megous@megous.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
  • Loading branch information
Ondrej Jirman authored and Maxime Ripard committed Feb 25, 2020
1 parent 7ad9f3d commit 87bf7a5
Showing 1 changed file with 54 additions and 6 deletions.
60 changes: 54 additions & 6 deletions arch/arm/boot/dts/sun8i-a83t.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
#cooling-cells = <2>;
};

cpu@1 {
cpu1: cpu@1 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
Expand All @@ -83,7 +83,7 @@
#cooling-cells = <2>;
};

cpu@2 {
cpu2: cpu@2 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
Expand All @@ -94,7 +94,7 @@
#cooling-cells = <2>;
};

cpu@3 {
cpu3: cpu@3 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
Expand All @@ -116,7 +116,7 @@
#cooling-cells = <2>;
};

cpu@101 {
cpu101: cpu@101 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
Expand All @@ -127,7 +127,7 @@
#cooling-cells = <2>;
};

cpu@102 {
cpu102: cpu@102 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
Expand All @@ -138,7 +138,7 @@
#cooling-cells = <2>;
};

cpu@103 {
cpu103: cpu@103 {
compatible = "arm,cortex-a7";
device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
Expand Down Expand Up @@ -1188,12 +1188,60 @@
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 0>;

trips {
cpu0_hot: cpu-hot {
temperature = <80000>;
hysteresis = <2000>;
type = "passive";
};

cpu0_very_hot: cpu-very-hot {
temperature = <100000>;
hysteresis = <0>;
type = "critical";
};
};

cooling-maps {
cpu-hot-limit {
trip = <&cpu0_hot>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};

cpu1_thermal: cpu1-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&ths 1>;

trips {
cpu1_hot: cpu-hot {
temperature = <80000>;
hysteresis = <2000>;
type = "passive";
};

cpu1_very_hot: cpu-very-hot {
temperature = <100000>;
hysteresis = <0>;
type = "critical";
};
};

cooling-maps {
cpu-hot-limit {
trip = <&cpu1_hot>;
cooling-device = <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};

gpu_thermal: gpu-thermal {
Expand Down

0 comments on commit 87bf7a5

Please sign in to comment.