diff options
author | Wei Ni <wni@nvidia.com> | 2016-05-11 10:20:26 (GMT) |
---|---|---|
committer | Zhang Rui <rui.zhang@intel.com> | 2016-09-27 06:02:32 (GMT) |
commit | cbd0f00017790caae0107d48ba76b4b768c9448b (patch) | |
tree | 57e896c3c38b2e899de365ddf305d42ba3b7d202 /arch/arm64 | |
parent | 5e03f663ca6f3cddb6512df07233c71645fb04a7 (diff) | |
download | linux-cbd0f00017790caae0107d48ba76b4b768c9448b.tar.xz |
arm64: tegra: set hot trips for Tegra210
Enable throttle function for SOC_THERM.
Set "hot" trips for cpu and gpu thermal zones, which
can trigger the SOC_THERM hardware throttle.
Signed-off-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/boot/dts/nvidia/tegra210.dtsi | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi index 604c999..6a6410c 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi @@ -1098,7 +1098,9 @@ soctherm: thermal-sensor@700e2000 { compatible = "nvidia,tegra210-soctherm"; - reg = <0x0 0x700e2000 0x0 0x1000>; + reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */ + 0x0 0x60006000 0x0 0x400>; /* CAR reg_base */ + reg-names = "soctherm-reg", "car-reg"; interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; clocks = <&tegra_car TEGRA210_CLK_TSENSOR>, <&tegra_car TEGRA210_CLK_SOC_THERM>; @@ -1106,6 +1108,15 @@ resets = <&tegra_car 78>; reset-names = "soctherm"; #thermal-sensor-cells = <1>; + + throttle-cfgs { + throttle_heavy: heavy { + nvidia,priority = <100>; + nvidia,cpu-throt-percent = <85>; + + #cooling-cells = <2>; + }; + }; }; thermal-zones { @@ -1122,13 +1133,19 @@ hysteresis = <0>; type = "critical"; }; + + cpu_throttle_trip: throttle-trip { + temperature = <98500>; + hysteresis = <1000>; + type = "hot"; + }; }; cooling-maps { - /* - * There are currently no cooling maps, - * because there are no cooling devices. - */ + map0 { + trip = <&cpu_throttle_trip>; + cooling-device = <&throttle_heavy 1 1>; + }; }; }; mem { @@ -1166,13 +1183,19 @@ hysteresis = <0>; type = "critical"; }; + + gpu_throttle_trip: throttle-trip { + temperature = <100000>; + hysteresis = <1000>; + type = "hot"; + }; }; cooling-maps { - /* - * There are currently no cooling maps, - * because there are no cooling devices. - */ + map0 { + trip = <&gpu_throttle_trip>; + cooling-device = <&throttle_heavy 1 1>; + }; }; }; pllx { |