cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

rcar-thermal.yaml (4451B)


      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 the 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    };