xref: /freebsd/sys/contrib/device-tree/Bindings/timer/andestech,plmt0.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot%YAML 1.2
3*833e5d42SEmmanuel Vadot---
4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/timer/andestech,plmt0.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: Andes machine-level timer
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotdescription:
10*833e5d42SEmmanuel Vadot  The Andes machine-level timer device (PLMT0) provides machine-level timer
11*833e5d42SEmmanuel Vadot  functionality for a set of HARTs on a RISC-V platform. It has a single
12*833e5d42SEmmanuel Vadot  fixed-frequency monotonic time counter (MTIME) register and a time compare
13*833e5d42SEmmanuel Vadot  register (MTIMECMP) for each HART connected to the PLMT0. A timer interrupt is
14*833e5d42SEmmanuel Vadot  generated if MTIME >= MTIMECMP.
15*833e5d42SEmmanuel Vadot
16*833e5d42SEmmanuel Vadotmaintainers:
17*833e5d42SEmmanuel Vadot  - Ben Zong-You Xie <ben717@andestech.com>
18*833e5d42SEmmanuel Vadot
19*833e5d42SEmmanuel Vadotproperties:
20*833e5d42SEmmanuel Vadot  compatible:
21*833e5d42SEmmanuel Vadot    items:
22*833e5d42SEmmanuel Vadot      - enum:
23*833e5d42SEmmanuel Vadot          - andestech,qilai-plmt
24*833e5d42SEmmanuel Vadot      - const: andestech,plmt0
25*833e5d42SEmmanuel Vadot
26*833e5d42SEmmanuel Vadot  reg:
27*833e5d42SEmmanuel Vadot    maxItems: 1
28*833e5d42SEmmanuel Vadot
29*833e5d42SEmmanuel Vadot  interrupts-extended:
30*833e5d42SEmmanuel Vadot    minItems: 1
31*833e5d42SEmmanuel Vadot    maxItems: 32
32*833e5d42SEmmanuel Vadot    description:
33*833e5d42SEmmanuel Vadot      Specifies which harts are connected to the PLMT0. Each item must points
34*833e5d42SEmmanuel Vadot      to a riscv,cpu-intc node, which has a riscv cpu node as parent. The
35*833e5d42SEmmanuel Vadot      PLMT0 supports 1 hart up to 32 harts.
36*833e5d42SEmmanuel Vadot
37*833e5d42SEmmanuel VadotadditionalProperties: false
38*833e5d42SEmmanuel Vadot
39*833e5d42SEmmanuel Vadotrequired:
40*833e5d42SEmmanuel Vadot  - compatible
41*833e5d42SEmmanuel Vadot  - reg
42*833e5d42SEmmanuel Vadot  - interrupts-extended
43*833e5d42SEmmanuel Vadot
44*833e5d42SEmmanuel Vadotexamples:
45*833e5d42SEmmanuel Vadot  - |
46*833e5d42SEmmanuel Vadot    interrupt-controller@100000 {
47*833e5d42SEmmanuel Vadot      compatible = "andestech,qilai-plmt", "andestech,plmt0";
48*833e5d42SEmmanuel Vadot      reg = <0x100000 0x100000>;
49*833e5d42SEmmanuel Vadot      interrupts-extended = <&cpu0intc 7>,
50*833e5d42SEmmanuel Vadot                            <&cpu1intc 7>,
51*833e5d42SEmmanuel Vadot                            <&cpu2intc 7>,
52*833e5d42SEmmanuel Vadot                            <&cpu3intc 7>;
53*833e5d42SEmmanuel Vadot    };
54