xref: /linux/Documentation/devicetree/bindings/counter/interrupt-counter.yaml (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
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
7title: Interrupt counter
8
9maintainers:
10  - Oleksij Rempel <o.rempel@pengutronix.de>
11
12description: |
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
20properties:
21  compatible:
22    const: interrupt-counter
23
24  interrupts:
25    maxItems: 1
26
27  gpios:
28    maxItems: 1
29
30required:
31  - compatible
32
33anyOf:
34  - required: [ interrupts-extended ]
35  - required: [ interrupts ]
36  - required: [ gpios ]
37
38additionalProperties: false
39
40examples:
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...
63