xref: /linux/Documentation/devicetree/bindings/thermal/nvidia,tegra30-tsensor.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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