xref: /freebsd/sys/contrib/device-tree/Bindings/counter/interrupt-counter.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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