137 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 and15 programmable compare match.16 17 Channels share hardware resources but their counter and compare match value18 are independent. The TMU hardware supports up to three channels.19 20properties:21 compatible:22 items:23 - enum:24 - renesas,tmu-r8a73a4 # R-Mobile APE625 - renesas,tmu-r8a7740 # R-Mobile A126 - renesas,tmu-r8a7742 # RZ/G1H27 - renesas,tmu-r8a7743 # RZ/G1M28 - renesas,tmu-r8a7744 # RZ/G1N29 - renesas,tmu-r8a7745 # RZ/G1E30 - renesas,tmu-r8a77470 # RZ/G1C31 - renesas,tmu-r8a774a1 # RZ/G2M32 - renesas,tmu-r8a774b1 # RZ/G2N33 - renesas,tmu-r8a774c0 # RZ/G2E34 - renesas,tmu-r8a774e1 # RZ/G2H35 - renesas,tmu-r8a7778 # R-Car M1A36 - renesas,tmu-r8a7779 # R-Car H137 - renesas,tmu-r8a7790 # R-Car H238 - renesas,tmu-r8a7791 # R-Car M2-W39 - renesas,tmu-r8a7792 # R-Car V2H40 - renesas,tmu-r8a7793 # R-Car M2-N41 - renesas,tmu-r8a7794 # R-Car E242 - renesas,tmu-r8a7795 # R-Car H343 - renesas,tmu-r8a7796 # R-Car M3-W44 - renesas,tmu-r8a77961 # R-Car M3-W+45 - renesas,tmu-r8a77965 # R-Car M3-N46 - renesas,tmu-r8a77970 # R-Car V3M47 - renesas,tmu-r8a77980 # R-Car V3H48 - renesas,tmu-r8a77990 # R-Car E349 - renesas,tmu-r8a77995 # R-Car D350 - renesas,tmu-r8a779a0 # R-Car V3U51 - renesas,tmu-r8a779f0 # R-Car S4-852 - renesas,tmu-r8a779g0 # R-Car V4H53 - renesas,tmu-r8a779h0 # R-Car V4M54 - const: renesas,tmu55 56 reg:57 maxItems: 158 59 interrupts:60 minItems: 261 items:62 - description: Underflow interrupt, channel 063 - description: Underflow interrupt, channel 164 - description: Underflow interrupt, channel 265 - description: Input capture interrupt, channel 266 67 interrupt-names:68 minItems: 269 items:70 - const: tuni071 - const: tuni172 - const: tuni273 - const: ticpi274 75 clocks:76 maxItems: 177 78 clock-names:79 const: fck80 81 power-domains:82 maxItems: 183 84 resets:85 maxItems: 186 87 '#renesas,channels':88 description:89 Number of channels implemented by the timer.90 $ref: /schemas/types.yaml#/definitions/uint3291 enum: [ 2, 3 ]92 default: 393 94required:95 - compatible96 - reg97 - interrupts98 - interrupt-names99 - clocks100 - clock-names101 - power-domains102 103if:104 not:105 properties:106 compatible:107 contains:108 enum:109 - renesas,tmu-r8a73a4110 - renesas,tmu-r8a7740111 - renesas,tmu-r8a7778112 - renesas,tmu-r8a7779113then:114 required:115 - resets116 117additionalProperties: false118 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 };137