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