ARM: dts: sun8i-a83t: Add thermal trip points/cooling maps
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>
This commit is contained in:
Родитель
7ad9f3d0cb
Коммит
87bf7a5fba
|
@ -72,7 +72,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C0CPUX>;
|
||||
|
@ -83,7 +83,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
cpu2: cpu@2 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C0CPUX>;
|
||||
|
@ -94,7 +94,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
cpu3: cpu@3 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C0CPUX>;
|
||||
|
@ -116,7 +116,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@101 {
|
||||
cpu101: cpu@101 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C1CPUX>;
|
||||
|
@ -127,7 +127,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@102 {
|
||||
cpu102: cpu@102 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C1CPUX>;
|
||||
|
@ -138,7 +138,7 @@
|
|||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu@103 {
|
||||
cpu103: cpu@103 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
clocks = <&ccu CLK_C1CPUX>;
|
||||
|
@ -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 {
|
||||
|
|
Загрузка…
Ссылка в новой задаче