xref: /linux/Documentation/devicetree/bindings/timer/mediatek,timer.yaml (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/timer/mediatek,timer.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek SoC timers
8
9maintainers:
10  - Matthias Brugger <matthias.bgg@gmail.com>
11
12description:
13  MediaTek SoCs have different timers on different platforms,
14  CPUX (ARM/ARM64 System Timer), GPT (General Purpose Timer)
15  and SYST (System Timer).
16
17properties:
18  compatible:
19    oneOf:
20      - items:
21          - enum:
22              - mediatek,mt6577-timer
23              - mediatek,mt6765-timer
24              - mediatek,mt6795-systimer
25      # GPT Timers
26      - items:
27          - enum:
28              - mediatek,mt2701-timer
29              - mediatek,mt6572-timer
30              - mediatek,mt6580-timer
31              - mediatek,mt6582-timer
32              - mediatek,mt6589-timer
33              - mediatek,mt6795-timer
34              - mediatek,mt7623-timer
35              - mediatek,mt8127-timer
36              - mediatek,mt8135-timer
37              - mediatek,mt8173-timer
38              - mediatek,mt8516-timer
39          - const: mediatek,mt6577-timer
40      # SYST Timers
41      - items:
42          - enum:
43              - mediatek,mt7629-timer
44              - mediatek,mt8183-timer
45              - mediatek,mt8186-timer
46              - mediatek,mt8188-timer
47              - mediatek,mt8192-timer
48              - mediatek,mt8195-timer
49              - mediatek,mt8196-timer
50              - mediatek,mt8365-systimer
51          - const: mediatek,mt6765-timer
52
53  reg:
54    maxItems: 1
55
56  interrupts:
57    maxItems: 1
58
59  clocks:
60    minItems: 1
61    items:
62      - description: Timer clock
63      - description: RTC or bus clock
64
65  clock-names:
66    minItems: 1
67    maxItems: 2
68
69required:
70  - compatible
71  - reg
72  - interrupts
73  - clocks
74
75additionalProperties: false
76
77examples:
78  - |
79    #include <dt-bindings/interrupt-controller/irq.h>
80    #include <dt-bindings/interrupt-controller/arm-gic.h>
81
82    timer@10008000 {
83      compatible = "mediatek,mt6577-timer";
84      reg = <0x10008000 0x80>;
85      interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
86      clocks = <&system_clk>;
87    };
88