2014-09-26 09:43:10 +00:00
|
|
|
Tegra124 SOCTHERM thermal management system
|
|
|
|
|
|
|
|
The SOCTHERM IP block contains thermal sensors, support for polled
|
|
|
|
or interrupt-based thermal monitoring, CPU and GPU throttling based
|
|
|
|
on temperature trip points, and handling external overcurrent
|
|
|
|
notifications. It is also used to manage emergency shutdown in an
|
|
|
|
overheating situation.
|
|
|
|
|
|
|
|
Required properties :
|
2015-01-30 22:11:04 +00:00
|
|
|
- compatible : For Tegra124, must contain "nvidia,tegra124-soctherm".
|
|
|
|
For Tegra132, must contain "nvidia,tegra132-soctherm".
|
|
|
|
For Tegra210, must contain "nvidia,tegra210-soctherm".
|
2014-09-26 09:43:10 +00:00
|
|
|
- reg : Should contain 1 entry:
|
|
|
|
- SOCTHERM register set
|
|
|
|
- interrupts : Defines the interrupt used by SOCTHERM
|
|
|
|
- clocks : Must contain an entry for each entry in clock-names.
|
|
|
|
See ../clocks/clock-bindings.txt for details.
|
|
|
|
- clock-names : Must include the following entries:
|
|
|
|
- tsensor
|
|
|
|
- soctherm
|
|
|
|
- resets : Must contain an entry for each entry in reset-names.
|
|
|
|
See ../reset/reset.txt for details.
|
|
|
|
- reset-names : Must include the following entries:
|
|
|
|
- soctherm
|
|
|
|
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description
|
|
|
|
of this property. See <dt-bindings/thermal/tegra124-soctherm.h> for a
|
|
|
|
list of valid values when referring to thermal sensors.
|
|
|
|
|
2016-03-29 10:29:18 +00:00
|
|
|
Note:
|
|
|
|
- the "critical" type trip points will be set to SOC_THERM hardware as the
|
|
|
|
shut down temperature. Once the temperature of this thermal zone is higher
|
|
|
|
than it, the system will be shutdown or reset by hardware.
|
2014-09-26 09:43:10 +00:00
|
|
|
|
|
|
|
Example :
|
|
|
|
|
2016-04-12 15:07:35 +00:00
|
|
|
soctherm@700e2000 {
|
2014-09-26 09:43:10 +00:00
|
|
|
compatible = "nvidia,tegra124-soctherm";
|
|
|
|
reg = <0x0 0x700e2000 0x0 0x1000>;
|
|
|
|
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
|
|
|
|
<&tegra_car TEGRA124_CLK_SOC_THERM>;
|
|
|
|
clock-names = "tsensor", "soctherm";
|
|
|
|
resets = <&tegra_car 78>;
|
|
|
|
reset-names = "soctherm";
|
|
|
|
|
|
|
|
#thermal-sensor-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
Example: referring to thermal sensors :
|
|
|
|
|
|
|
|
thermal-zones {
|
|
|
|
cpu {
|
|
|
|
polling-delay-passive = <1000>;
|
|
|
|
polling-delay = <1000>;
|
|
|
|
|
|
|
|
thermal-sensors =
|
|
|
|
<&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
|
2016-03-29 10:29:18 +00:00
|
|
|
|
|
|
|
trips {
|
|
|
|
cpu_shutdown_trip: shutdown-trip {
|
|
|
|
temperature = <102500>;
|
|
|
|
hysteresis = <1000>;
|
|
|
|
type = "critical";
|
|
|
|
};
|
|
|
|
};
|
2014-09-26 09:43:10 +00:00
|
|
|
};
|
|
|
|
};
|