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