0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/timer/renesas,tmu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Renesas R-Mobile/R-Car Timer Unit (TMU)
0008
0009 maintainers:
0010 - Geert Uytterhoeven <geert+renesas@glider.be>
0011 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
0012
0013 description:
0014 The TMU is a 32-bit timer/counter with configurable clock inputs and
0015 programmable compare match.
0016
0017 Channels share hardware resources but their counter and compare match value
0018 are independent. The TMU hardware supports up to three channels.
0019
0020 properties:
0021 compatible:
0022 items:
0023 - enum:
0024 - renesas,tmu-r8a7740 # R-Mobile A1
0025 - renesas,tmu-r8a774a1 # RZ/G2M
0026 - renesas,tmu-r8a774b1 # RZ/G2N
0027 - renesas,tmu-r8a774c0 # RZ/G2E
0028 - renesas,tmu-r8a774e1 # RZ/G2H
0029 - renesas,tmu-r8a7778 # R-Car M1A
0030 - renesas,tmu-r8a7779 # R-Car H1
0031 - renesas,tmu-r8a7795 # R-Car H3
0032 - renesas,tmu-r8a7796 # R-Car M3-W
0033 - renesas,tmu-r8a77961 # R-Car M3-W+
0034 - renesas,tmu-r8a77965 # R-Car M3-N
0035 - renesas,tmu-r8a77970 # R-Car V3M
0036 - renesas,tmu-r8a77980 # R-Car V3H
0037 - renesas,tmu-r8a77990 # R-Car E3
0038 - renesas,tmu-r8a77995 # R-Car D3
0039 - renesas,tmu-r8a779a0 # R-Car V3U
0040 - const: renesas,tmu
0041
0042 reg:
0043 maxItems: 1
0044
0045 interrupts:
0046 minItems: 2
0047 maxItems: 3
0048
0049 clocks:
0050 maxItems: 1
0051
0052 clock-names:
0053 const: fck
0054
0055 power-domains:
0056 maxItems: 1
0057
0058 resets:
0059 maxItems: 1
0060
0061 '#renesas,channels':
0062 description:
0063 Number of channels implemented by the timer.
0064 $ref: /schemas/types.yaml#/definitions/uint32
0065 enum: [ 2, 3 ]
0066 default: 3
0067
0068 required:
0069 - compatible
0070 - reg
0071 - interrupts
0072 - clocks
0073 - clock-names
0074 - power-domains
0075
0076 if:
0077 not:
0078 properties:
0079 compatible:
0080 contains:
0081 enum:
0082 - renesas,tmu-r8a7740
0083 - renesas,tmu-r8a7778
0084 - renesas,tmu-r8a7779
0085 then:
0086 required:
0087 - resets
0088
0089 additionalProperties: false
0090
0091 examples:
0092 - |
0093 #include <dt-bindings/clock/r8a7779-clock.h>
0094 #include <dt-bindings/interrupt-controller/arm-gic.h>
0095 #include <dt-bindings/power/r8a7779-sysc.h>
0096 tmu0: timer@ffd80000 {
0097 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
0098 reg = <0xffd80000 0x30>;
0099 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
0100 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
0101 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
0102 clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
0103 clock-names = "fck";
0104 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
0105 #renesas,channels = <3>;
0106 };