File Index
Files and directories
Sign in
FILE

renesas,tmu.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/timer/renesas,tmu.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/timer/renesas,tmu.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Renesas R-Mobile/R-Car Timer Unit (TMU)
  8
  9maintainers:
 10  - Geert Uytterhoeven <geert+renesas@glider.be>
 11  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
 12
 13description:
 14  The TMU is a 32-bit timer/counter with configurable clock inputs and
 15  programmable compare match.
 16
 17  Channels share hardware resources but their counter and compare match value
 18  are independent. The TMU hardware supports up to three channels.
 19
 20properties:
 21  compatible:
 22    items:
 23      - enum:
 24          - renesas,tmu-r8a73a4  # R-Mobile APE6
 25          - renesas,tmu-r8a7740  # R-Mobile A1
 26          - renesas,tmu-r8a7742  # RZ/G1H
 27          - renesas,tmu-r8a7743  # RZ/G1M
 28          - renesas,tmu-r8a7744  # RZ/G1N
 29          - renesas,tmu-r8a7745  # RZ/G1E
 30          - renesas,tmu-r8a77470 # RZ/G1C
 31          - renesas,tmu-r8a774a1 # RZ/G2M
 32          - renesas,tmu-r8a774b1 # RZ/G2N
 33          - renesas,tmu-r8a774c0 # RZ/G2E
 34          - renesas,tmu-r8a774e1 # RZ/G2H
 35          - renesas,tmu-r8a7778  # R-Car M1A
 36          - renesas,tmu-r8a7779  # R-Car H1
 37          - renesas,tmu-r8a7790  # R-Car H2
 38          - renesas,tmu-r8a7791  # R-Car M2-W
 39          - renesas,tmu-r8a7792  # R-Car V2H
 40          - renesas,tmu-r8a7793  # R-Car M2-N
 41          - renesas,tmu-r8a7794  # R-Car E2
 42          - renesas,tmu-r8a7795  # R-Car H3
 43          - renesas,tmu-r8a7796  # R-Car M3-W
 44          - renesas,tmu-r8a77961 # R-Car M3-W+
 45          - renesas,tmu-r8a77965 # R-Car M3-N
 46          - renesas,tmu-r8a77970 # R-Car V3M
 47          - renesas,tmu-r8a77980 # R-Car V3H
 48          - renesas,tmu-r8a77990 # R-Car E3
 49          - renesas,tmu-r8a77995 # R-Car D3
 50          - renesas,tmu-r8a779a0 # R-Car V3U
 51          - renesas,tmu-r8a779f0 # R-Car S4-8
 52          - renesas,tmu-r8a779g0 # R-Car V4H
 53          - renesas,tmu-r8a779h0 # R-Car V4M
 54      - const: renesas,tmu
 55
 56  reg:
 57    maxItems: 1
 58
 59  interrupts:
 60    minItems: 2
 61    items:
 62      - description: Underflow interrupt, channel 0
 63      - description: Underflow interrupt, channel 1
 64      - description: Underflow interrupt, channel 2
 65      - description: Input capture interrupt, channel 2
 66
 67  interrupt-names:
 68    minItems: 2
 69    items:
 70      - const: tuni0
 71      - const: tuni1
 72      - const: tuni2
 73      - const: ticpi2
 74
 75  clocks:
 76    maxItems: 1
 77
 78  clock-names:
 79    const: fck
 80
 81  power-domains:
 82    maxItems: 1
 83
 84  resets:
 85    maxItems: 1
 86
 87  '#renesas,channels':
 88    description:
 89      Number of channels implemented by the timer.
 90    $ref: /schemas/types.yaml#/definitions/uint32
 91    enum: [ 2, 3 ]
 92    default: 3
 93
 94required:
 95  - compatible
 96  - reg
 97  - interrupts
 98  - interrupt-names
 99  - clocks
100  - clock-names
101  - power-domains
102
103if:
104  not:
105    properties:
106      compatible:
107        contains:
108          enum:
109            - renesas,tmu-r8a73a4
110            - renesas,tmu-r8a7740
111            - renesas,tmu-r8a7778
112            - renesas,tmu-r8a7779
113then:
114  required:
115    - resets
116
117additionalProperties: false
118
119examples:
120  - |
121    #include <dt-bindings/clock/r8a7779-clock.h>
122    #include <dt-bindings/interrupt-controller/arm-gic.h>
123    #include <dt-bindings/power/r8a7779-sysc.h>
124    tmu0: timer@ffd80000 {
125        compatible = "renesas,tmu-r8a7779", "renesas,tmu";
126        reg = <0xffd80000 0x30>;
127        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
128                     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
129                     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
130                     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
131        interrupt-names = "tuni0", "tuni1", "tuni2", "ticpi2";
132        clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
133        clock-names = "fck";
134        power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
135        #renesas,channels = <3>;
136    };
~/ Read-only file preview.