xref: /linux/Documentation/devicetree/bindings/timer/econet,en751221-timer.yaml (revision 6376c0770656f3bdf7f411faf068371b6932aeca)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/timer/econet,en751221-timer.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: EcoNet EN751221 High Precision Timer (HPT)
8
9maintainers:
10  - Caleb James DeLisle <cjd@cjdns.fr>
11
12description:
13  The EcoNet High Precision Timer (HPT) is a timer peripheral found in various
14  EcoNet SoCs, including the EN751221 and EN751627 families. It provides per-VPE
15  count/compare registers and a per-CPU control register, with a single interrupt
16  line using a percpu-devid interrupt mechanism.
17
18properties:
19  compatible:
20    oneOf:
21      - const: econet,en751221-timer
22      - items:
23          - const: econet,en751627-timer
24          - const: econet,en751221-timer
25
26  reg:
27    minItems: 1
28    maxItems: 2
29
30  interrupts:
31    maxItems: 1
32    description: A percpu-devid timer interrupt shared across CPUs.
33
34  clocks:
35    maxItems: 1
36
37required:
38  - compatible
39  - reg
40  - interrupts
41  - clocks
42
43allOf:
44  - if:
45      properties:
46        compatible:
47          contains:
48            const: econet,en751627-timer
49    then:
50      properties:
51        reg:
52          items:
53            - description: VPE timers 0 and 1
54            - description: VPE timers 2 and 3
55    else:
56      properties:
57        reg:
58          items:
59            - description: VPE timers 0 and 1
60
61additionalProperties: false
62
63examples:
64  - |
65    timer@1fbf0400 {
66        compatible = "econet,en751627-timer", "econet,en751221-timer";
67        reg = <0x1fbf0400 0x100>, <0x1fbe0000 0x100>;
68        interrupt-parent = <&intc>;
69        interrupts = <30>;
70        clocks = <&hpt_clock>;
71    };
72  - |
73    timer@1fbf0400 {
74        compatible = "econet,en751221-timer";
75        reg = <0x1fbe0400 0x100>;
76        interrupt-parent = <&intc>;
77        interrupts = <30>;
78        clocks = <&hpt_clock>;
79    };
80...
81