File Index
Files and directories
Sign in
FILE

rcar-thermal.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/thermal/rcar-thermal.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only
  2# Copyright (C) 2020 Renesas Electronics Corp.
  3%YAML 1.2
  4---
  5$id: http://devicetree.org/schemas/thermal/rcar-thermal.yaml#
  6$schema: http://devicetree.org/meta-schemas/core.yaml#
  7
  8title: Renesas R-Car Thermal
  9
 10maintainers:
 11  - Niklas Söderlund <niklas.soderlund@ragnatech.se>
 12
 13properties:
 14  compatible:
 15    oneOf:
 16      - items:
 17          - enum:
 18              - renesas,thermal-r8a73a4 # R-Mobile APE6
 19              - renesas,thermal-r8a7779 # R-Car H1
 20          - const: renesas,rcar-thermal # Generic without thermal-zone
 21      - items:
 22          - enum:
 23              - renesas,thermal-r8a7742 # RZ/G1H
 24              - renesas,thermal-r8a7743 # RZ/G1M
 25              - renesas,thermal-r8a7744 # RZ/G1N
 26          - const: renesas,rcar-gen2-thermal # Generic thermal-zone
 27      - items:
 28          - enum:
 29              - renesas,thermal-r8a7790 # R-Car H2
 30              - renesas,thermal-r8a7791 # R-Car M2-W
 31              - renesas,thermal-r8a7792 # R-Car V2H
 32              - renesas,thermal-r8a7793 # R-Car M2-N
 33          - const: renesas,rcar-gen2-thermal # Generic thermal-zone
 34          - const: renesas,rcar-thermal # Generic without thermal-zone
 35      - items:
 36          - enum:
 37              - renesas,thermal-r8a774c0 # RZ/G2E
 38              - renesas,thermal-r8a77970 # R-Car V3M
 39              - renesas,thermal-r8a77990 # R-Car E3
 40              - renesas,thermal-r8a77995 # R-Car D3
 41  reg:
 42    description:
 43      Address ranges of the thermal registers. If more then one range is given
 44      the first one must be the common registers followed by each sensor
 45      according to the datasheet.
 46    minItems: 1
 47    maxItems: 4
 48
 49  interrupts:
 50    minItems: 1
 51    maxItems: 3
 52
 53  clocks:
 54    maxItems: 1
 55
 56  power-domains:
 57    maxItems: 1
 58
 59  resets:
 60    maxItems: 1
 61
 62  "#thermal-sensor-cells":
 63    const: 0
 64
 65required:
 66  - compatible
 67  - reg
 68
 69allOf:
 70  - if:
 71      not:
 72        properties:
 73          compatible:
 74            contains:
 75              enum:
 76                - renesas,thermal-r8a73a4 # R-Mobile APE6
 77                - renesas,thermal-r8a7779 # R-Car H1
 78    then:
 79      required:
 80        - resets
 81        - '#thermal-sensor-cells'
 82
 83  - if:
 84      not:
 85        properties:
 86          compatible:
 87            contains:
 88              const: renesas,thermal-r8a7779 # R-Car H1
 89    then:
 90      required:
 91        - interrupts
 92        - clocks
 93        - power-domains
 94
 95additionalProperties: false
 96
 97examples:
 98  # Example (non interrupt support)
 99  - |
100    thermal@ffc48000 {
101        compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal";
102        reg = <0xffc48000 0x38>;
103    };
104
105  # Example (interrupt support)
106  - |
107    #include <dt-bindings/clock/r8a73a4-clock.h>
108    #include <dt-bindings/interrupt-controller/arm-gic.h>
109    #include <dt-bindings/interrupt-controller/irq.h>
110
111    thermal@e61f0000 {
112        compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
113        reg = <0xe61f0000 0x14>, <0xe61f0100 0x38>,
114              <0xe61f0200 0x38>, <0xe61f0300 0x38>;
115        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
116        clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
117        power-domains = <&pd_c5>;
118    };
119
120  # Example (with thermal-zone)
121  - |
122    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
123    #include <dt-bindings/interrupt-controller/arm-gic.h>
124    #include <dt-bindings/power/r8a7790-sysc.h>
125
126    thermal: thermal@e61f0000 {
127        compatible = "renesas,thermal-r8a7790",
128                     "renesas,rcar-gen2-thermal",
129                     "renesas,rcar-thermal";
130        reg = <0xe61f0000 0x10>, <0xe61f0100 0x38>;
131        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
132        clocks = <&cpg CPG_MOD 522>;
133        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
134        resets = <&cpg 522>;
135        #thermal-sensor-cells = <0>;
136    };
137
138    thermal-zones {
139        cpu_thermal: cpu-thermal {
140            polling-delay-passive = <1000>;
141            polling-delay = <5000>;
142
143            thermal-sensors = <&thermal>;
144
145            trips {
146                cpu-crit {
147                    temperature = <115000>;
148                    hysteresis = <0>;
149                    type = "critical";
150                };
151            };
152            cooling-maps {
153            };
154        };
155    };
~/ Read-only file preview.