xref: /linux/Documentation/devicetree/bindings/thermal/nvidia,tegra30-tsensor.yaml (revision 1aab6b81af3c96e3181911140d2528e112335bef)
1*1aab6b81SDmitry Osipenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*1aab6b81SDmitry Osipenko%YAML 1.2
3*1aab6b81SDmitry Osipenko---
4*1aab6b81SDmitry Osipenko$id: http://devicetree.org/schemas/thermal/nvidia,tegra30-tsensor.yaml#
5*1aab6b81SDmitry Osipenko$schema: http://devicetree.org/meta-schemas/core.yaml#
6*1aab6b81SDmitry Osipenko
7*1aab6b81SDmitry Osipenkotitle: NVIDIA Tegra30 Thermal Sensor
8*1aab6b81SDmitry Osipenko
9*1aab6b81SDmitry Osipenkomaintainers:
10*1aab6b81SDmitry Osipenko  - Dmitry Osipenko <digetx@gmail.com>
11*1aab6b81SDmitry Osipenko  - Jon Hunter <jonathanh@nvidia.com>
12*1aab6b81SDmitry Osipenko  - Thierry Reding <thierry.reding@gmail.com>
13*1aab6b81SDmitry Osipenko
14*1aab6b81SDmitry Osipenkodescription: |
15*1aab6b81SDmitry Osipenko  TSENSOR provides thermal and voltage sensors which monitor temperature
16*1aab6b81SDmitry Osipenko  and voltage of the chip. Sensors are placed across the die to gauge the
17*1aab6b81SDmitry Osipenko  temperature of the whole chip. The TSENSOR module:
18*1aab6b81SDmitry Osipenko
19*1aab6b81SDmitry Osipenko    Generates an interrupt to SW to lower temperature via DVFS on reaching
20*1aab6b81SDmitry Osipenko    a certain thermal/voltage threshold.
21*1aab6b81SDmitry Osipenko
22*1aab6b81SDmitry Osipenko    Generates a signal to the CAR to reduce CPU frequency by half on reaching
23*1aab6b81SDmitry Osipenko    a certain thermal/voltage threshold.
24*1aab6b81SDmitry Osipenko
25*1aab6b81SDmitry Osipenko    Generates a signal to the PMC when the temperature reaches dangerously high
26*1aab6b81SDmitry Osipenko    levels to reset the chip and sets a flag in the PMC.
27*1aab6b81SDmitry Osipenko
28*1aab6b81SDmitry Osipenko  TSENSOR has two channels which monitor two different spots of the SoC.
29*1aab6b81SDmitry Osipenko
30*1aab6b81SDmitry Osipenkoproperties:
31*1aab6b81SDmitry Osipenko  compatible:
32*1aab6b81SDmitry Osipenko    const: nvidia,tegra30-tsensor
33*1aab6b81SDmitry Osipenko
34*1aab6b81SDmitry Osipenko  reg:
35*1aab6b81SDmitry Osipenko    maxItems: 1
36*1aab6b81SDmitry Osipenko
37*1aab6b81SDmitry Osipenko  clocks:
38*1aab6b81SDmitry Osipenko    maxItems: 1
39*1aab6b81SDmitry Osipenko
40*1aab6b81SDmitry Osipenko  resets:
41*1aab6b81SDmitry Osipenko    maxItems: 1
42*1aab6b81SDmitry Osipenko
43*1aab6b81SDmitry Osipenko  interrupts:
44*1aab6b81SDmitry Osipenko    maxItems: 1
45*1aab6b81SDmitry Osipenko
46*1aab6b81SDmitry Osipenko  "#thermal-sensor-cells":
47*1aab6b81SDmitry Osipenko    const: 1
48*1aab6b81SDmitry Osipenko
49*1aab6b81SDmitry Osipenko  assigned-clock-parents: true
50*1aab6b81SDmitry Osipenko  assigned-clock-rates: true
51*1aab6b81SDmitry Osipenko  assigned-clocks: true
52*1aab6b81SDmitry Osipenko
53*1aab6b81SDmitry Osipenkorequired:
54*1aab6b81SDmitry Osipenko  - compatible
55*1aab6b81SDmitry Osipenko  - reg
56*1aab6b81SDmitry Osipenko  - clocks
57*1aab6b81SDmitry Osipenko  - resets
58*1aab6b81SDmitry Osipenko  - interrupts
59*1aab6b81SDmitry Osipenko  - "#thermal-sensor-cells"
60*1aab6b81SDmitry Osipenko
61*1aab6b81SDmitry OsipenkoadditionalProperties: false
62*1aab6b81SDmitry Osipenko
63*1aab6b81SDmitry Osipenkoexamples:
64*1aab6b81SDmitry Osipenko  - |
65*1aab6b81SDmitry Osipenko    thermal-sensor@70014000 {
66*1aab6b81SDmitry Osipenko      compatible = "nvidia,tegra30-tsensor";
67*1aab6b81SDmitry Osipenko      reg = <0x70014000 0x500>;
68*1aab6b81SDmitry Osipenko      interrupts = <0 102 4>;
69*1aab6b81SDmitry Osipenko      clocks = <&clk 100>;
70*1aab6b81SDmitry Osipenko      resets = <&rst 100>;
71*1aab6b81SDmitry Osipenko
72*1aab6b81SDmitry Osipenko      #thermal-sensor-cells = <1>;
73*1aab6b81SDmitry Osipenko    };
74