Documentation / devicetree / bindings / timer / riscv,timer.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/riscv,timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: RISC-V timer

maintainers:
  - Anup Patel <anup@brainfault.org>

description: |+
  RISC-V platforms always have a RISC-V timer device for the supervisor-mode
  based on the time CSR defined by the RISC-V privileged specification. The
  timer interrupts of this device are configured using the RISC-V SBI Time
  extension or the RISC-V Sstc extension.
 
  The clock frequency of RISC-V timer device is specified via the
  "timebase-frequency" DT property of "/cpus" DT node which is described
  in Documentation/devicetree/bindings/riscv/cpus.yaml

properties:
  compatible:
    enum:
      - riscv,timer

  interrupts-extended:
    minItems: 1
    maxItems: 4096   # Should be enough?

  riscv,timer-cannot-wake-cpu:
    type: boolean
    description:
      If present, the timer interrupt cannot wake up the CPU from one or
      more suspend/idle states.

additionalProperties: false

required:
  - compatible
  - interrupts-extended

examples:
  - |
    timer {
      compatible = "riscv,timer";
      interrupts-extended = <&cpu1intc 5>,
                            <&cpu2intc 5>,
                            <&cpu3intc 5>,
                            <&cpu4intc 5>;
    };
...