riscv,timer.yaml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/timer/riscv,timer.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: RISC-V timer
  7. maintainers:
  8. - Anup Patel <anup@brainfault.org>
  9. description: |+
  10. RISC-V platforms always have a RISC-V timer device for the supervisor-mode
  11. based on the time CSR defined by the RISC-V privileged specification. The
  12. timer interrupts of this device are configured using the RISC-V SBI Time
  13. extension or the RISC-V Sstc extension.
  14. The clock frequency of RISC-V timer device is specified via the
  15. "timebase-frequency" DT property of "/cpus" DT node which is described
  16. in Documentation/devicetree/bindings/riscv/cpus.yaml
  17. properties:
  18. compatible:
  19. enum:
  20. - riscv,timer
  21. interrupts-extended:
  22. minItems: 1
  23. maxItems: 4096 # Should be enough?
  24. riscv,timer-cannot-wake-cpu:
  25. type: boolean
  26. description:
  27. If present, the timer interrupt cannot wake up the CPU from one or
  28. more suspend/idle states.
  29. additionalProperties: false
  30. required:
  31. - compatible
  32. - interrupts-extended
  33. examples:
  34. - |
  35. timer {
  36. compatible = "riscv,timer";
  37. interrupts-extended = <&cpu1intc 5>,
  38. <&cpu2intc 5>,
  39. <&cpu3intc 5>,
  40. <&cpu4intc 5>;
  41. };
  42. ...