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-r8a7740 # R-Mobile A1 25 - renesas,tmu-r8a774a1 # RZ/G2M 26 - renesas,tmu-r8a774b1 # RZ/G2N 27 - renesas,tmu-r8a774c0 # RZ/G2E 28 - renesas,tmu-r8a774e1 # RZ/G2H 29 - renesas,tmu-r8a7778 # R-Car M1A 30 - renesas,tmu-r8a7779 # R-Car H1 31 - renesas,tmu-r8a7795 # R-Car H3 32 - renesas,tmu-r8a7796 # R-Car M3-W 33 - renesas,tmu-r8a77961 # R-Car M3-W+ 34 - renesas,tmu-r8a77965 # R-Car M3-N 35 - renesas,tmu-r8a77970 # R-Car V3M 36 - renesas,tmu-r8a77980 # R-Car V3H 37 - renesas,tmu-r8a77990 # R-Car E3 38 - renesas,tmu-r8a77995 # R-Car D3 39 - renesas,tmu-r8a779a0 # R-Car V3U 40 - renesas,tmu-r8a779f0 # R-Car S4-8 41 - renesas,tmu-r8a779g0 # R-Car V4H 42 - const: renesas,tmu 43 44 reg: 45 maxItems: 1 46 47 interrupts: 48 minItems: 2 49 items: 50 - description: Underflow interrupt, channel 0 51 - description: Underflow interrupt, channel 1 52 - description: Underflow interrupt, channel 2 53 - description: Input capture interrupt, channel 2 54 55 interrupt-names: 56 minItems: 2 57 items: 58 - const: tuni0 59 - const: tuni1 60 - const: tuni2 61 - const: ticpi2 62 63 clocks: 64 maxItems: 1 65 66 clock-names: 67 const: fck 68 69 power-domains: 70 maxItems: 1 71 72 resets: 73 maxItems: 1 74 75 '#renesas,channels': 76 description: 77 Number of channels implemented by the timer. 78 $ref: /schemas/types.yaml#/definitions/uint32 79 enum: [ 2, 3 ] 80 default: 3 81 82required: 83 - compatible 84 - reg 85 - interrupts 86 - clocks 87 - clock-names 88 - power-domains 89 90if: 91 not: 92 properties: 93 compatible: 94 contains: 95 enum: 96 - renesas,tmu-r8a7740 97 - renesas,tmu-r8a7778 98 - renesas,tmu-r8a7779 99then: 100 required: 101 - resets 102 103additionalProperties: false 104 105examples: 106 - | 107 #include <dt-bindings/clock/r8a7779-clock.h> 108 #include <dt-bindings/interrupt-controller/arm-gic.h> 109 #include <dt-bindings/power/r8a7779-sysc.h> 110 tmu0: timer@ffd80000 { 111 compatible = "renesas,tmu-r8a7779", "renesas,tmu"; 112 reg = <0xffd80000 0x30>; 113 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 114 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 115 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 116 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 117 interrupt-names = "tuni0", "tuni1", "tuni2", "ticpi2"; 118 clocks = <&mstp0_clks R8A7779_CLK_TMU0>; 119 clock-names = "fck"; 120 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 121 #renesas,channels = <3>; 122 }; 123