GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / counter / interrupt-counter.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/counter/interrupt-counter.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Interrupt counter
8
9 maintainers:
10   - Oleksij Rempel <o.rempel@pengutronix.de>
11
12 description: |
13   A generic interrupt counter to measure interrupt frequency. It was developed
14   and used for agricultural devices to measure rotation speed of wheels or
15   other tools. Since the direction of rotation is not important, only one
16   signal line is needed.
17   Interrupts or gpios are required. If both are defined, the interrupt will
18   take precedence for counting interrupts.
19
20 properties:
21   compatible:
22     const: interrupt-counter
23
24   interrupts:
25     maxItems: 1
26
27   gpios:
28     maxItems: 1
29
30 required:
31   - compatible
32
33 anyOf:
34   - required: [ interrupts-extended ]
35   - required: [ interrupts ]
36   - required: [ gpios ]
37
38 additionalProperties: false
39
40 examples:
41   - |
42
43     #include <dt-bindings/interrupt-controller/irq.h>
44     #include <dt-bindings/gpio/gpio.h>
45
46     counter-0 {
47         compatible = "interrupt-counter";
48         interrupts-extended = <&gpio 0 IRQ_TYPE_EDGE_RISING>;
49     };
50
51     counter-1 {
52         compatible = "interrupt-counter";
53         gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
54     };
55
56     counter-2 {
57         compatible = "interrupt-counter";
58         interrupts-extended = <&gpio 2 IRQ_TYPE_EDGE_RISING>;
59         gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
60     };
61
62 ...