xref: /freebsd/sys/contrib/device-tree/Bindings/timer/renesas,mtu2.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c66ec88fSEmmanuel Vadot%YAML 1.2
3*c66ec88fSEmmanuel Vadot---
4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/renesas,mtu2.yaml#
5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadottitle: Renesas Multi-Function Timer Pulse Unit 2 (MTU2)
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadotmaintainers:
10*c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
11*c66ec88fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadotdescription:
14*c66ec88fSEmmanuel Vadot  The MTU2 is a multi-purpose, multi-channel timer/counter with configurable clock inputs
15*c66ec88fSEmmanuel Vadot  and programmable compare match.
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot  Channels share hardware resources but their counter and compare match value are
18*c66ec88fSEmmanuel Vadot  independent. The MTU2 hardware supports five channels indexed from 0 to 4.
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadotproperties:
21*c66ec88fSEmmanuel Vadot  compatible:
22*c66ec88fSEmmanuel Vadot    items:
23*c66ec88fSEmmanuel Vadot      - enum:
24*c66ec88fSEmmanuel Vadot          - renesas,mtu2-r7s72100 # RZ/A1H
25*c66ec88fSEmmanuel Vadot      - const: renesas,mtu2
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot  reg:
28*c66ec88fSEmmanuel Vadot    maxItems: 1
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot  interrupts:
31*c66ec88fSEmmanuel Vadot    minItems: 1
32*c66ec88fSEmmanuel Vadot    maxItems: 5
33*c66ec88fSEmmanuel Vadot    description: One entry for each enabled channel.
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadot  interrupt-names:
36*c66ec88fSEmmanuel Vadot    minItems: 1
37*c66ec88fSEmmanuel Vadot    items:
38*c66ec88fSEmmanuel Vadot      - const: tgi0a
39*c66ec88fSEmmanuel Vadot      - const: tgi1a
40*c66ec88fSEmmanuel Vadot      - const: tgi2a
41*c66ec88fSEmmanuel Vadot      - const: tgi3a
42*c66ec88fSEmmanuel Vadot      - const: tgi4a
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot  clocks:
45*c66ec88fSEmmanuel Vadot    maxItems: 1
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot  clock-names:
48*c66ec88fSEmmanuel Vadot    const: fck
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadot  power-domains:
51*c66ec88fSEmmanuel Vadot    maxItems: 1
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadotrequired:
54*c66ec88fSEmmanuel Vadot  - compatible
55*c66ec88fSEmmanuel Vadot  - reg
56*c66ec88fSEmmanuel Vadot  - interrupts
57*c66ec88fSEmmanuel Vadot  - interrupt-names
58*c66ec88fSEmmanuel Vadot  - clocks
59*c66ec88fSEmmanuel Vadot  - clock-names
60*c66ec88fSEmmanuel Vadot  - power-domains
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel VadotadditionalProperties: false
63*c66ec88fSEmmanuel Vadot
64*c66ec88fSEmmanuel Vadotexamples:
65*c66ec88fSEmmanuel Vadot  - |
66*c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r7s72100-clock.h>
67*c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
68*c66ec88fSEmmanuel Vadot    mtu2: timer@fcff0000 {
69*c66ec88fSEmmanuel Vadot            compatible = "renesas,mtu2-r7s72100", "renesas,mtu2";
70*c66ec88fSEmmanuel Vadot            reg = <0xfcff0000 0x400>;
71*c66ec88fSEmmanuel Vadot            interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
72*c66ec88fSEmmanuel Vadot            interrupt-names = "tgi0a";
73*c66ec88fSEmmanuel Vadot            clocks = <&mstp3_clks R7S72100_CLK_MTU2>;
74*c66ec88fSEmmanuel Vadot            clock-names = "fck";
75*c66ec88fSEmmanuel Vadot            power-domains = <&cpg_clocks>;
76*c66ec88fSEmmanuel Vadot    };
77