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