Commit 107f2c69 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Thierry Reding

ARM: tegra: cardhu: Support CPU thermal throttling

Enable CPU thermal throttling on Tegra30 Cardhu board.
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent ed34855b
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/thermal/thermal.h>
#include "tegra30.dtsi" #include "tegra30.dtsi"
#include "tegra30-cpu-opp.dtsi" #include "tegra30-cpu-opp.dtsi"
#include "tegra30-cpu-opp-microvolt.dtsi" #include "tegra30-cpu-opp-microvolt.dtsi"
...@@ -341,12 +342,13 @@ ldo8_reg: ldo8 { ...@@ -341,12 +342,13 @@ ldo8_reg: ldo8 {
}; };
}; };
temperature-sensor@4c { nct1008: temperature-sensor@4c {
compatible = "onnn,nct1008"; compatible = "onnn,nct1008";
reg = <0x4c>; reg = <0x4c>;
vcc-supply = <&sys_3v3_reg>; vcc-supply = <&sys_3v3_reg>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(CC, 2) IRQ_TYPE_LEVEL_LOW>; interrupts = <TEGRA_GPIO(CC, 2) IRQ_TYPE_LEVEL_LOW>;
#thermal-sensor-cells = <1>;
}; };
vdd_core: tps62361@60 { vdd_core: tps62361@60 {
...@@ -440,21 +442,25 @@ cpus { ...@@ -440,21 +442,25 @@ cpus {
cpu0: cpu@0 { cpu0: cpu@0 {
cpu-supply = <&vddctrl_reg>; cpu-supply = <&vddctrl_reg>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
#cooling-cells = <2>;
}; };
cpu1: cpu@1 { cpu1: cpu@1 {
cpu-supply = <&vddctrl_reg>; cpu-supply = <&vddctrl_reg>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
#cooling-cells = <2>;
}; };
cpu2: cpu@2 { cpu2: cpu@2 {
cpu-supply = <&vddctrl_reg>; cpu-supply = <&vddctrl_reg>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
#cooling-cells = <2>;
}; };
cpu3: cpu@3 { cpu3: cpu@3 {
cpu-supply = <&vddctrl_reg>; cpu-supply = <&vddctrl_reg>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
#cooling-cells = <2>;
}; };
}; };
...@@ -637,6 +643,41 @@ sound { ...@@ -637,6 +643,41 @@ sound {
<&tegra_car TEGRA30_CLK_EXTERN1>; <&tegra_car TEGRA30_CLK_EXTERN1>;
}; };
thermal-zones {
cpu-thermal {
polling-delay-passive = <1000>; /* milliseconds */
polling-delay = <5000>; /* milliseconds */
thermal-sensors = <&nct1008 1>;
trips {
trip0: cpu-alert0 {
/* throttle at 57C until temperature drops to 56.8C */
temperature = <57000>;
hysteresis = <200>;
type = "passive";
};
trip1: cpu-crit {
/* shut down at 60C */
temperature = <60000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&trip0>;
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>;
};
};
};
};
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment