xref: /linux/Documentation/devicetree/bindings/timer/ti,keystone-timer.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1*4d54b0b4SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4d54b0b4SRob Herring (Arm)%YAML 1.2
3*4d54b0b4SRob Herring (Arm)---
4*4d54b0b4SRob Herring (Arm)$id: http://devicetree.org/schemas/ti,keystone-timer.yaml#
5*4d54b0b4SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4d54b0b4SRob Herring (Arm)
7*4d54b0b4SRob Herring (Arm)title: TI Keystone timer
8*4d54b0b4SRob Herring (Arm)
9*4d54b0b4SRob Herring (Arm)maintainers:
10*4d54b0b4SRob Herring (Arm)  - Alexander A. Klimov <grandmaster@al2klimov.de>
11*4d54b0b4SRob Herring (Arm)  - Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
12*4d54b0b4SRob Herring (Arm)
13*4d54b0b4SRob Herring (Arm)description: >
14*4d54b0b4SRob Herring (Arm)  A 64-bit timer in the KeyStone architecture devices. The timer can be
15*4d54b0b4SRob Herring (Arm)  configured as a general-purpose 64-bit timer, dual general-purpose 32-bit
16*4d54b0b4SRob Herring (Arm)  timers. When configured as dual 32-bit timers, each half can operate in
17*4d54b0b4SRob Herring (Arm)  conjunction (chain mode) or independently (unchained mode) of each other.
18*4d54b0b4SRob Herring (Arm)
19*4d54b0b4SRob Herring (Arm)  It is global timer is a free running up-counter and can generate interrupt
20*4d54b0b4SRob Herring (Arm)  when the counter reaches preset counter values.
21*4d54b0b4SRob Herring (Arm)
22*4d54b0b4SRob Herring (Arm)  Documentation:
23*4d54b0b4SRob Herring (Arm)  https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
24*4d54b0b4SRob Herring (Arm)
25*4d54b0b4SRob Herring (Arm)properties:
26*4d54b0b4SRob Herring (Arm)  compatible:
27*4d54b0b4SRob Herring (Arm)    const: ti,keystone-timer
28*4d54b0b4SRob Herring (Arm)
29*4d54b0b4SRob Herring (Arm)  reg:
30*4d54b0b4SRob Herring (Arm)    maxItems: 1
31*4d54b0b4SRob Herring (Arm)
32*4d54b0b4SRob Herring (Arm)  interrupts:
33*4d54b0b4SRob Herring (Arm)    maxItems: 1
34*4d54b0b4SRob Herring (Arm)
35*4d54b0b4SRob Herring (Arm)  interrupt-names:
36*4d54b0b4SRob Herring (Arm)    items:
37*4d54b0b4SRob Herring (Arm)      - const: irq
38*4d54b0b4SRob Herring (Arm)
39*4d54b0b4SRob Herring (Arm)  clocks:
40*4d54b0b4SRob Herring (Arm)    maxItems: 1
41*4d54b0b4SRob Herring (Arm)
42*4d54b0b4SRob Herring (Arm)  clock-names:
43*4d54b0b4SRob Herring (Arm)    items:
44*4d54b0b4SRob Herring (Arm)      - const: timer
45*4d54b0b4SRob Herring (Arm)
46*4d54b0b4SRob Herring (Arm)required:
47*4d54b0b4SRob Herring (Arm)  - compatible
48*4d54b0b4SRob Herring (Arm)  - reg
49*4d54b0b4SRob Herring (Arm)  - interrupts
50*4d54b0b4SRob Herring (Arm)  - clocks
51*4d54b0b4SRob Herring (Arm)
52*4d54b0b4SRob Herring (Arm)additionalProperties: false
53*4d54b0b4SRob Herring (Arm)
54*4d54b0b4SRob Herring (Arm)examples:
55*4d54b0b4SRob Herring (Arm)  - |
56*4d54b0b4SRob Herring (Arm)    #include <dt-bindings/interrupt-controller/irq.h>
57*4d54b0b4SRob Herring (Arm)
58*4d54b0b4SRob Herring (Arm)    timer@22f0000 {
59*4d54b0b4SRob Herring (Arm)        compatible = "ti,keystone-timer";
60*4d54b0b4SRob Herring (Arm)        reg = <0x022f0000 0x80>;
61*4d54b0b4SRob Herring (Arm)        interrupts = <110 IRQ_TYPE_EDGE_RISING>;
62*4d54b0b4SRob Herring (Arm)        clocks = <&clktimer15>;
63*4d54b0b4SRob Herring (Arm)    };
64