11aab6b81SDmitry Osipenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 21aab6b81SDmitry Osipenko%YAML 1.2 31aab6b81SDmitry Osipenko--- 41aab6b81SDmitry Osipenko$id: http://devicetree.org/schemas/thermal/nvidia,tegra30-tsensor.yaml# 51aab6b81SDmitry Osipenko$schema: http://devicetree.org/meta-schemas/core.yaml# 61aab6b81SDmitry Osipenko 71aab6b81SDmitry Osipenkotitle: NVIDIA Tegra30 Thermal Sensor 81aab6b81SDmitry Osipenko 91aab6b81SDmitry Osipenkomaintainers: 101aab6b81SDmitry Osipenko - Dmitry Osipenko <digetx@gmail.com> 111aab6b81SDmitry Osipenko - Jon Hunter <jonathanh@nvidia.com> 121aab6b81SDmitry Osipenko - Thierry Reding <thierry.reding@gmail.com> 131aab6b81SDmitry Osipenko 141aab6b81SDmitry Osipenkodescription: | 151aab6b81SDmitry Osipenko TSENSOR provides thermal and voltage sensors which monitor temperature 161aab6b81SDmitry Osipenko and voltage of the chip. Sensors are placed across the die to gauge the 171aab6b81SDmitry Osipenko temperature of the whole chip. The TSENSOR module: 181aab6b81SDmitry Osipenko 191aab6b81SDmitry Osipenko Generates an interrupt to SW to lower temperature via DVFS on reaching 201aab6b81SDmitry Osipenko a certain thermal/voltage threshold. 211aab6b81SDmitry Osipenko 221aab6b81SDmitry Osipenko Generates a signal to the CAR to reduce CPU frequency by half on reaching 231aab6b81SDmitry Osipenko a certain thermal/voltage threshold. 241aab6b81SDmitry Osipenko 251aab6b81SDmitry Osipenko Generates a signal to the PMC when the temperature reaches dangerously high 261aab6b81SDmitry Osipenko levels to reset the chip and sets a flag in the PMC. 271aab6b81SDmitry Osipenko 281aab6b81SDmitry Osipenko TSENSOR has two channels which monitor two different spots of the SoC. 291aab6b81SDmitry Osipenko 30*b760aeecSKrzysztof Kozlowski$ref: thermal-sensor.yaml# 31*b760aeecSKrzysztof Kozlowski 321aab6b81SDmitry Osipenkoproperties: 331aab6b81SDmitry Osipenko compatible: 341aab6b81SDmitry Osipenko const: nvidia,tegra30-tsensor 351aab6b81SDmitry Osipenko 361aab6b81SDmitry Osipenko reg: 371aab6b81SDmitry Osipenko maxItems: 1 381aab6b81SDmitry Osipenko 391aab6b81SDmitry Osipenko clocks: 401aab6b81SDmitry Osipenko maxItems: 1 411aab6b81SDmitry Osipenko 421aab6b81SDmitry Osipenko resets: 431aab6b81SDmitry Osipenko maxItems: 1 441aab6b81SDmitry Osipenko 451aab6b81SDmitry Osipenko interrupts: 461aab6b81SDmitry Osipenko maxItems: 1 471aab6b81SDmitry Osipenko 481aab6b81SDmitry Osipenko "#thermal-sensor-cells": 491aab6b81SDmitry Osipenko const: 1 501aab6b81SDmitry Osipenko 511aab6b81SDmitry Osipenkorequired: 521aab6b81SDmitry Osipenko - compatible 531aab6b81SDmitry Osipenko - reg 541aab6b81SDmitry Osipenko - clocks 551aab6b81SDmitry Osipenko - resets 561aab6b81SDmitry Osipenko - interrupts 571aab6b81SDmitry Osipenko 58*b760aeecSKrzysztof KozlowskiunevaluatedProperties: false 591aab6b81SDmitry Osipenko 601aab6b81SDmitry Osipenkoexamples: 611aab6b81SDmitry Osipenko - | 621aab6b81SDmitry Osipenko thermal-sensor@70014000 { 631aab6b81SDmitry Osipenko compatible = "nvidia,tegra30-tsensor"; 641aab6b81SDmitry Osipenko reg = <0x70014000 0x500>; 651aab6b81SDmitry Osipenko interrupts = <0 102 4>; 661aab6b81SDmitry Osipenko clocks = <&clk 100>; 671aab6b81SDmitry Osipenko resets = <&rst 100>; 681aab6b81SDmitry Osipenko 691aab6b81SDmitry Osipenko #thermal-sensor-cells = <1>; 701aab6b81SDmitry Osipenko }; 71