xref: /linux/Documentation/devicetree/bindings/timer/mediatek,timer.yaml (revision 4b81e2eb9e4db8f6094c077d0c8b27c264901c1b)
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,mt7623-timer
34              - mediatek,mt8127-timer
35              - mediatek,mt8135-timer
36              - mediatek,mt8173-timer
37              - mediatek,mt8516-timer
38          - const: mediatek,mt6577-timer
39      # SYST Timers
40      - items:
41          - enum:
42              - mediatek,mt7629-timer
43              - mediatek,mt8183-timer
44              - mediatek,mt8186-timer
45              - mediatek,mt8188-timer
46              - mediatek,mt8192-timer
47              - mediatek,mt8195-timer
48              - mediatek,mt8196-timer
49              - mediatek,mt8365-systimer
50          - const: mediatek,mt6765-timer
51
52  reg:
53    maxItems: 1
54
55  interrupts:
56    maxItems: 1
57
58  clocks:
59    minItems: 1
60    items:
61      - description: Timer clock
62      - description: RTC or bus clock
63
64  clock-names:
65    minItems: 1
66    maxItems: 2
67
68required:
69  - compatible
70  - reg
71  - interrupts
72  - clocks
73
74additionalProperties: false
75
76examples:
77  - |
78    #include <dt-bindings/interrupt-controller/irq.h>
79    #include <dt-bindings/interrupt-controller/arm-gic.h>
80
81    timer@10008000 {
82      compatible = "mediatek,mt6577-timer";
83      reg = <0x10008000 0x80>;
84      interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
85      clocks = <&system_clk>;
86    };
87