xref: /freebsd/sys/contrib/device-tree/Bindings/timer/xlnx,xps-timer.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/xlnx,xps-timer.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Xilinx LogiCORE IP AXI Timer
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Sean Anderson <sean.anderson@seco.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotproperties:
13d5b0e70fSEmmanuel Vadot  compatible:
14d5b0e70fSEmmanuel Vadot    contains:
15d5b0e70fSEmmanuel Vadot      const: xlnx,xps-timer-1.00.a
16d5b0e70fSEmmanuel Vadot
17d5b0e70fSEmmanuel Vadot  clocks:
18d5b0e70fSEmmanuel Vadot    maxItems: 1
19d5b0e70fSEmmanuel Vadot
20d5b0e70fSEmmanuel Vadot  clock-names:
21d5b0e70fSEmmanuel Vadot    const: s_axi_aclk
22d5b0e70fSEmmanuel Vadot
23d5b0e70fSEmmanuel Vadot  interrupts:
24d5b0e70fSEmmanuel Vadot    maxItems: 1
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot  reg:
27d5b0e70fSEmmanuel Vadot    maxItems: 1
28d5b0e70fSEmmanuel Vadot
29d5b0e70fSEmmanuel Vadot  '#pwm-cells': true
30d5b0e70fSEmmanuel Vadot
31d5b0e70fSEmmanuel Vadot  xlnx,count-width:
32d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
33d5b0e70fSEmmanuel Vadot    enum: [8, 16, 32]
34d5b0e70fSEmmanuel Vadot    default: 32
35d5b0e70fSEmmanuel Vadot    description:
36d5b0e70fSEmmanuel Vadot      The width of the counter(s), in bits.
37d5b0e70fSEmmanuel Vadot
38d5b0e70fSEmmanuel Vadot  xlnx,one-timer-only:
39d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
40d5b0e70fSEmmanuel Vadot    enum: [ 0, 1 ]
41d5b0e70fSEmmanuel Vadot    description:
42d5b0e70fSEmmanuel Vadot      Whether only one timer is present in this block.
43d5b0e70fSEmmanuel Vadot
44d5b0e70fSEmmanuel Vadotrequired:
45d5b0e70fSEmmanuel Vadot  - compatible
46d5b0e70fSEmmanuel Vadot  - reg
47d5b0e70fSEmmanuel Vadot  - xlnx,one-timer-only
48d5b0e70fSEmmanuel Vadot
49d5b0e70fSEmmanuel VadotallOf:
50d5b0e70fSEmmanuel Vadot  - if:
51d5b0e70fSEmmanuel Vadot      required:
52d5b0e70fSEmmanuel Vadot        - '#pwm-cells'
53d5b0e70fSEmmanuel Vadot    then:
54d5b0e70fSEmmanuel Vadot      allOf:
55d5b0e70fSEmmanuel Vadot        - required:
56d5b0e70fSEmmanuel Vadot            - clocks
57d5b0e70fSEmmanuel Vadot        - properties:
58d5b0e70fSEmmanuel Vadot            xlnx,one-timer-only:
59d5b0e70fSEmmanuel Vadot              const: 0
60d5b0e70fSEmmanuel Vadot    else:
61d5b0e70fSEmmanuel Vadot      required:
62d5b0e70fSEmmanuel Vadot        - interrupts
63d5b0e70fSEmmanuel Vadot  - if:
64d5b0e70fSEmmanuel Vadot      required:
65d5b0e70fSEmmanuel Vadot        - clocks
66d5b0e70fSEmmanuel Vadot    then:
67d5b0e70fSEmmanuel Vadot      required:
68d5b0e70fSEmmanuel Vadot        - clock-names
69d5b0e70fSEmmanuel Vadot
70d5b0e70fSEmmanuel VadotadditionalProperties: false
71d5b0e70fSEmmanuel Vadot
72d5b0e70fSEmmanuel Vadotexamples:
73d5b0e70fSEmmanuel Vadot  - |
74d5b0e70fSEmmanuel Vadot    timer@800e0000 {
75d5b0e70fSEmmanuel Vadot        clock-names = "s_axi_aclk";
76d5b0e70fSEmmanuel Vadot        clocks = <&zynqmp_clk 71>;
77d5b0e70fSEmmanuel Vadot        compatible = "xlnx,xps-timer-1.00.a";
78d5b0e70fSEmmanuel Vadot        reg = <0x800e0000 0x10000>;
79d5b0e70fSEmmanuel Vadot        interrupts = <0 39 2>;
80d5b0e70fSEmmanuel Vadot        xlnx,count-width = <16>;
81d5b0e70fSEmmanuel Vadot        xlnx,one-timer-only = <0x0>;
82d5b0e70fSEmmanuel Vadot    };
83d5b0e70fSEmmanuel Vadot
84d5b0e70fSEmmanuel Vadot    timer@800f0000 {
85d5b0e70fSEmmanuel Vadot        #pwm-cells = <0>;
86d5b0e70fSEmmanuel Vadot        clock-names = "s_axi_aclk";
87d5b0e70fSEmmanuel Vadot        clocks = <&zynqmp_clk 71>;
88d5b0e70fSEmmanuel Vadot        compatible = "xlnx,xps-timer-1.00.a";
89d5b0e70fSEmmanuel Vadot        reg = <0x800e0000 0x10000>;
90d5b0e70fSEmmanuel Vadot        xlnx,count-width = <32>;
91d5b0e70fSEmmanuel Vadot        xlnx,one-timer-only = <0x0>;
92d5b0e70fSEmmanuel Vadot    };
93