Back to home page

OSCL-LXR

 
 

    


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     };