# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/brcm,bcm2835-system-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: BCM2835 System Timer

maintainers:
  - Stefan Wahren <wahrenst@gmx.net>
  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>

description:
  The System Timer peripheral provides four 32-bit timer channels and a
  single 64-bit free running counter. Each channel has an output compare
  register, which is compared against the 32 least significant bits of the
  free running counter values, and generates an interrupt.

properties:
  compatible:
    const: brcm,bcm2835-system-timer

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: System Timer Compare 0 match (used by VideoCore GPU)
      - description: System Timer Compare 1 match (usable for ARM core)
      - description: System Timer Compare 2 match (used by VideoCore GPU)
      - description: System Timer Compare 3 match (usable for ARM core)

  clock-frequency: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    timer@7e003000 {
      compatible = "brcm,bcm2835-system-timer";
      reg = <0x7e003000 0x1000>;
      interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
      clock-frequency = <1000000>;
    };
...
