xref: /linux/Documentation/devicetree/bindings/timer/marvell,armada-370-timer.yaml (revision df9c299371054cb725eef730fd0f1d0fe2ed6bb0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/timer/marvell,armada-370-timer.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Marvell Armada 370, 375, 380 and XP Timers
8
9maintainers:
10  - Andrew Lunn <andrew@lunn.ch>
11  - Gregory Clement <gregory.clement@bootlin.com>
12
13properties:
14  compatible:
15    oneOf:
16      - items:
17          - const: marvell,armada-380-timer
18          - const: marvell,armada-xp-timer
19      - items:
20          - const: marvell,armada-375-timer
21          - const: marvell,armada-370-timer
22      - enum:
23          - marvell,armada-370-timer
24          - marvell,armada-xp-timer
25
26  reg:
27    items:
28      - description: Global timer registers
29      - description: Local/private timer registers
30
31  interrupts:
32    items:
33      - description: Global timer interrupt 0
34      - description: Global timer interrupt 1
35      - description: Global timer interrupt 2
36      - description: Global timer interrupt 3
37      - description: First private timer interrupt
38      - description: Second private timer interrupt
39
40  clocks:
41    minItems: 1
42    maxItems: 2
43
44  clock-names:
45    items:
46      - const: nbclk
47      - const: fixed
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - clocks
54
55additionalProperties: false
56
57allOf:
58  - if:
59      properties:
60        compatible:
61          contains:
62            enum:
63              - marvell,armada-375-timer
64              - marvell,armada-xp-timer
65    then:
66      properties:
67        clocks:
68          minItems: 2
69        clock-names:
70          minItems: 2
71      required:
72        - clock-names
73    else:
74      properties:
75        clocks:
76          maxItems: 1
77        clock-names:
78          maxItems: 1
79
80examples:
81  - |
82    timer@20300 {
83        compatible = "marvell,armada-xp-timer";
84        reg = <0x20300 0x30>, <0x21040 0x30>;
85        interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
86        clocks = <&coreclk 2>, <&refclk>;
87        clock-names = "nbclk", "fixed";
88    };
89