xref: /freebsd-src/sys/contrib/device-tree/Bindings/timer/renesas,tmu.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/timer/renesas,tmu.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Renesas R-Mobile/R-Car Timer Unit (TMU)
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
115def4c47SEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadotdescription:
145def4c47SEmmanuel Vadot  The TMU is a 32-bit timer/counter with configurable clock inputs and
155def4c47SEmmanuel Vadot  programmable compare match.
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadot  Channels share hardware resources but their counter and compare match value
185def4c47SEmmanuel Vadot  are independent. The TMU hardware supports up to three channels.
195def4c47SEmmanuel Vadot
205def4c47SEmmanuel Vadotproperties:
215def4c47SEmmanuel Vadot  compatible:
225def4c47SEmmanuel Vadot    items:
235def4c47SEmmanuel Vadot      - enum:
24*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a73a4  # R-Mobile APE6
255def4c47SEmmanuel Vadot          - renesas,tmu-r8a7740  # R-Mobile A1
26*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7742  # RZ/G1H
27*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7743  # RZ/G1M
28*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7744  # RZ/G1N
29*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7745  # RZ/G1E
30*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a77470 # RZ/G1C
315def4c47SEmmanuel Vadot          - renesas,tmu-r8a774a1 # RZ/G2M
325def4c47SEmmanuel Vadot          - renesas,tmu-r8a774b1 # RZ/G2N
335def4c47SEmmanuel Vadot          - renesas,tmu-r8a774c0 # RZ/G2E
345def4c47SEmmanuel Vadot          - renesas,tmu-r8a774e1 # RZ/G2H
355def4c47SEmmanuel Vadot          - renesas,tmu-r8a7778  # R-Car M1A
365def4c47SEmmanuel Vadot          - renesas,tmu-r8a7779  # R-Car H1
37*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7790  # R-Car H2
38*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7791  # R-Car M2-W
39*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7792  # R-Car V2H
40*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7793  # R-Car M2-N
41*0e8011faSEmmanuel Vadot          - renesas,tmu-r8a7794  # R-Car E2
422eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a7795  # R-Car H3
432eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a7796  # R-Car M3-W
442eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a77961 # R-Car M3-W+
452eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a77965 # R-Car M3-N
465def4c47SEmmanuel Vadot          - renesas,tmu-r8a77970 # R-Car V3M
475def4c47SEmmanuel Vadot          - renesas,tmu-r8a77980 # R-Car V3H
482eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a77990 # R-Car E3
492eb4d8dcSEmmanuel Vadot          - renesas,tmu-r8a77995 # R-Car D3
505956d97fSEmmanuel Vadot          - renesas,tmu-r8a779a0 # R-Car V3U
517ef62cebSEmmanuel Vadot          - renesas,tmu-r8a779f0 # R-Car S4-8
528bab661aSEmmanuel Vadot          - renesas,tmu-r8a779g0 # R-Car V4H
537d0873ebSEmmanuel Vadot          - renesas,tmu-r8a779h0 # R-Car V4M
545def4c47SEmmanuel Vadot      - const: renesas,tmu
555def4c47SEmmanuel Vadot
565def4c47SEmmanuel Vadot  reg:
575def4c47SEmmanuel Vadot    maxItems: 1
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot  interrupts:
605def4c47SEmmanuel Vadot    minItems: 2
6101950c46SEmmanuel Vadot    items:
6201950c46SEmmanuel Vadot      - description: Underflow interrupt, channel 0
6301950c46SEmmanuel Vadot      - description: Underflow interrupt, channel 1
6401950c46SEmmanuel Vadot      - description: Underflow interrupt, channel 2
6501950c46SEmmanuel Vadot      - description: Input capture interrupt, channel 2
6601950c46SEmmanuel Vadot
6701950c46SEmmanuel Vadot  interrupt-names:
6801950c46SEmmanuel Vadot    minItems: 2
6901950c46SEmmanuel Vadot    items:
7001950c46SEmmanuel Vadot      - const: tuni0
7101950c46SEmmanuel Vadot      - const: tuni1
7201950c46SEmmanuel Vadot      - const: tuni2
7301950c46SEmmanuel Vadot      - const: ticpi2
745def4c47SEmmanuel Vadot
755def4c47SEmmanuel Vadot  clocks:
765def4c47SEmmanuel Vadot    maxItems: 1
775def4c47SEmmanuel Vadot
785def4c47SEmmanuel Vadot  clock-names:
795def4c47SEmmanuel Vadot    const: fck
805def4c47SEmmanuel Vadot
815def4c47SEmmanuel Vadot  power-domains:
825def4c47SEmmanuel Vadot    maxItems: 1
835def4c47SEmmanuel Vadot
845def4c47SEmmanuel Vadot  resets:
855def4c47SEmmanuel Vadot    maxItems: 1
865def4c47SEmmanuel Vadot
875def4c47SEmmanuel Vadot  '#renesas,channels':
885def4c47SEmmanuel Vadot    description:
895def4c47SEmmanuel Vadot      Number of channels implemented by the timer.
905def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
915def4c47SEmmanuel Vadot    enum: [ 2, 3 ]
925def4c47SEmmanuel Vadot    default: 3
935def4c47SEmmanuel Vadot
945def4c47SEmmanuel Vadotrequired:
955def4c47SEmmanuel Vadot  - compatible
965def4c47SEmmanuel Vadot  - reg
975def4c47SEmmanuel Vadot  - interrupts
98*0e8011faSEmmanuel Vadot  - interrupt-names
995def4c47SEmmanuel Vadot  - clocks
1005def4c47SEmmanuel Vadot  - clock-names
1015def4c47SEmmanuel Vadot  - power-domains
1025def4c47SEmmanuel Vadot
1035def4c47SEmmanuel Vadotif:
1045def4c47SEmmanuel Vadot  not:
1055def4c47SEmmanuel Vadot    properties:
1065def4c47SEmmanuel Vadot      compatible:
1075def4c47SEmmanuel Vadot        contains:
1085def4c47SEmmanuel Vadot          enum:
109*0e8011faSEmmanuel Vadot            - renesas,tmu-r8a73a4
1105def4c47SEmmanuel Vadot            - renesas,tmu-r8a7740
1115def4c47SEmmanuel Vadot            - renesas,tmu-r8a7778
1125def4c47SEmmanuel Vadot            - renesas,tmu-r8a7779
1135def4c47SEmmanuel Vadotthen:
1145def4c47SEmmanuel Vadot  required:
1155def4c47SEmmanuel Vadot    - resets
1165def4c47SEmmanuel Vadot
1175def4c47SEmmanuel VadotadditionalProperties: false
1185def4c47SEmmanuel Vadot
1195def4c47SEmmanuel Vadotexamples:
1205def4c47SEmmanuel Vadot  - |
1215def4c47SEmmanuel Vadot    #include <dt-bindings/clock/r8a7779-clock.h>
1225def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1235def4c47SEmmanuel Vadot    #include <dt-bindings/power/r8a7779-sysc.h>
1245def4c47SEmmanuel Vadot    tmu0: timer@ffd80000 {
1255def4c47SEmmanuel Vadot            compatible = "renesas,tmu-r8a7779", "renesas,tmu";
1265def4c47SEmmanuel Vadot            reg = <0xffd80000 0x30>;
1275def4c47SEmmanuel Vadot            interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
1285def4c47SEmmanuel Vadot                         <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
12901950c46SEmmanuel Vadot                         <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
13001950c46SEmmanuel Vadot                         <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
13101950c46SEmmanuel Vadot            interrupt-names = "tuni0", "tuni1", "tuni2", "ticpi2";
1325def4c47SEmmanuel Vadot            clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
1335def4c47SEmmanuel Vadot            clock-names = "fck";
1345def4c47SEmmanuel Vadot            power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
1355def4c47SEmmanuel Vadot            #renesas,channels = <3>;
1365def4c47SEmmanuel Vadot    };
137