xref: /freebsd/sys/contrib/device-tree/Bindings/timer/brcm,bcm2835-system-timer.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/brcm,bcm2835-system-timer.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: BCM2835 System Timer
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotmaintainers:
10*b2d2a78aSEmmanuel Vadot  - Stefan Wahren <wahrenst@gmx.net>
11*b2d2a78aSEmmanuel Vadot  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
12*b2d2a78aSEmmanuel Vadot
13*b2d2a78aSEmmanuel Vadotdescription:
14*b2d2a78aSEmmanuel Vadot  The System Timer peripheral provides four 32-bit timer channels and a
15*b2d2a78aSEmmanuel Vadot  single 64-bit free running counter. Each channel has an output compare
16*b2d2a78aSEmmanuel Vadot  register, which is compared against the 32 least significant bits of the
17*b2d2a78aSEmmanuel Vadot  free running counter values, and generates an interrupt.
18*b2d2a78aSEmmanuel Vadot
19*b2d2a78aSEmmanuel Vadotproperties:
20*b2d2a78aSEmmanuel Vadot  compatible:
21*b2d2a78aSEmmanuel Vadot    const: brcm,bcm2835-system-timer
22*b2d2a78aSEmmanuel Vadot
23*b2d2a78aSEmmanuel Vadot  reg:
24*b2d2a78aSEmmanuel Vadot    maxItems: 1
25*b2d2a78aSEmmanuel Vadot
26*b2d2a78aSEmmanuel Vadot  interrupts:
27*b2d2a78aSEmmanuel Vadot    items:
28*b2d2a78aSEmmanuel Vadot      - description: System Timer Compare 0 match (used by VideoCore GPU)
29*b2d2a78aSEmmanuel Vadot      - description: System Timer Compare 1 match (usable for ARM core)
30*b2d2a78aSEmmanuel Vadot      - description: System Timer Compare 2 match (used by VideoCore GPU)
31*b2d2a78aSEmmanuel Vadot      - description: System Timer Compare 3 match (usable for ARM core)
32*b2d2a78aSEmmanuel Vadot
33*b2d2a78aSEmmanuel Vadot  clock-frequency: true
34*b2d2a78aSEmmanuel Vadot
35*b2d2a78aSEmmanuel Vadotrequired:
36*b2d2a78aSEmmanuel Vadot  - compatible
37*b2d2a78aSEmmanuel Vadot  - reg
38*b2d2a78aSEmmanuel Vadot  - interrupts
39*b2d2a78aSEmmanuel Vadot
40*b2d2a78aSEmmanuel VadotadditionalProperties: false
41*b2d2a78aSEmmanuel Vadot
42*b2d2a78aSEmmanuel Vadotexamples:
43*b2d2a78aSEmmanuel Vadot  - |
44*b2d2a78aSEmmanuel Vadot    timer@7e003000 {
45*b2d2a78aSEmmanuel Vadot      compatible = "brcm,bcm2835-system-timer";
46*b2d2a78aSEmmanuel Vadot      reg = <0x7e003000 0x1000>;
47*b2d2a78aSEmmanuel Vadot      interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
48*b2d2a78aSEmmanuel Vadot      clock-frequency = <1000000>;
49*b2d2a78aSEmmanuel Vadot    };
50*b2d2a78aSEmmanuel Vadot...
51