xref: /freebsd/sys/contrib/device-tree/Bindings/timer/ti,keystone-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/ti,keystone-timer.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: TI Keystone timer
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Alexander A. Klimov <grandmaster@al2klimov.de>
11*ae5de77eSEmmanuel Vadot  - Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
12*ae5de77eSEmmanuel Vadot
13*ae5de77eSEmmanuel Vadotdescription: >
14*ae5de77eSEmmanuel Vadot  A 64-bit timer in the KeyStone architecture devices. The timer can be
15*ae5de77eSEmmanuel Vadot  configured as a general-purpose 64-bit timer, dual general-purpose 32-bit
16*ae5de77eSEmmanuel Vadot  timers. When configured as dual 32-bit timers, each half can operate in
17*ae5de77eSEmmanuel Vadot  conjunction (chain mode) or independently (unchained mode) of each other.
18*ae5de77eSEmmanuel Vadot
19*ae5de77eSEmmanuel Vadot  It is global timer is a free running up-counter and can generate interrupt
20*ae5de77eSEmmanuel Vadot  when the counter reaches preset counter values.
21*ae5de77eSEmmanuel Vadot
22*ae5de77eSEmmanuel Vadot  Documentation:
23*ae5de77eSEmmanuel Vadot  https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
24*ae5de77eSEmmanuel Vadot
25*ae5de77eSEmmanuel Vadotproperties:
26*ae5de77eSEmmanuel Vadot  compatible:
27*ae5de77eSEmmanuel Vadot    const: ti,keystone-timer
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot  reg:
30*ae5de77eSEmmanuel Vadot    maxItems: 1
31*ae5de77eSEmmanuel Vadot
32*ae5de77eSEmmanuel Vadot  interrupts:
33*ae5de77eSEmmanuel Vadot    maxItems: 1
34*ae5de77eSEmmanuel Vadot
35*ae5de77eSEmmanuel Vadot  interrupt-names:
36*ae5de77eSEmmanuel Vadot    items:
37*ae5de77eSEmmanuel Vadot      - const: irq
38*ae5de77eSEmmanuel Vadot
39*ae5de77eSEmmanuel Vadot  clocks:
40*ae5de77eSEmmanuel Vadot    maxItems: 1
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadot  clock-names:
43*ae5de77eSEmmanuel Vadot    items:
44*ae5de77eSEmmanuel Vadot      - const: timer
45*ae5de77eSEmmanuel Vadot
46*ae5de77eSEmmanuel Vadotrequired:
47*ae5de77eSEmmanuel Vadot  - compatible
48*ae5de77eSEmmanuel Vadot  - reg
49*ae5de77eSEmmanuel Vadot  - interrupts
50*ae5de77eSEmmanuel Vadot  - clocks
51*ae5de77eSEmmanuel Vadot
52*ae5de77eSEmmanuel VadotadditionalProperties: false
53*ae5de77eSEmmanuel Vadot
54*ae5de77eSEmmanuel Vadotexamples:
55*ae5de77eSEmmanuel Vadot  - |
56*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
57*ae5de77eSEmmanuel Vadot
58*ae5de77eSEmmanuel Vadot    timer@22f0000 {
59*ae5de77eSEmmanuel Vadot        compatible = "ti,keystone-timer";
60*ae5de77eSEmmanuel Vadot        reg = <0x022f0000 0x80>;
61*ae5de77eSEmmanuel Vadot        interrupts = <110 IRQ_TYPE_EDGE_RISING>;
62*ae5de77eSEmmanuel Vadot        clocks = <&clktimer15>;
63*ae5de77eSEmmanuel Vadot    };
64