Message ID | 20210301080401.22190-2-o.rempel@pengutronix.de (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | add support for GPIO or IRQ based event counter | expand |
On Mon, Mar 01, 2021 at 09:04:00AM +0100, Oleksij Rempel wrote: > Add binding for the interrupt counter node > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com> > --- > .../bindings/counter/interrupt-counter.yaml | 62 +++++++++++++++++++ > 1 file changed, 62 insertions(+) > create mode 100644 Documentation/devicetree/bindings/counter/interrupt-counter.yaml > > diff --git a/Documentation/devicetree/bindings/counter/interrupt-counter.yaml b/Documentation/devicetree/bindings/counter/interrupt-counter.yaml > new file mode 100644 > index 000000000000..fd075d104631 > --- /dev/null > +++ b/Documentation/devicetree/bindings/counter/interrupt-counter.yaml > @@ -0,0 +1,62 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/counter/interrupt-counter.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Interrupt counter > + > +maintainers: > + - Oleksij Rempel <o.rempel@pengutronix.de> > + > +description: | > + A generic interrupt counter to measure interrupt frequency. It was developed > + and used for agricultural devices to measure rotation speed of wheels or > + other tools. Since the direction of rotation is not important, only one > + signal line is needed. > + Interrupts or gpios are required. If both are defined, the interrupt will > + take precedence for counting interrupts. > + > +properties: > + compatible: > + const: interrupt-counter > + > + interrupts: > + maxItems: 1 > + > + gpios: > + maxItems: 1 > + > +required: > + - compatible > + > +anyOf: > + - required: [ interrupts-extended ] > + - required: [ interrupts ] > + - required: [ gpios ] > + > +additionalProperties: false > + > +examples: > + - | > + > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > + > + counter-0 { > + compatible = "interrupt-counter"; > + interrupts-extended = <&gpio 0 IRQ_TYPE_EDGE_RISING>; > + }; > + > + counter-1 { > + compatible = "interrupt-counter"; > + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; > + }; > + > + counter-2 { > + compatible = "interrupt-counter"; > + interrupts-extended = <&gpio 2 IRQ_TYPE_EDGE_RISING>; > + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; > + }; > + > +... > -- > 2.29.2 >
On Mon, 01 Mar 2021 09:04:00 +0100, Oleksij Rempel wrote: > Add binding for the interrupt counter node > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > --- > .../bindings/counter/interrupt-counter.yaml | 62 +++++++++++++++++++ > 1 file changed, 62 insertions(+) > create mode 100644 Documentation/devicetree/bindings/counter/interrupt-counter.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/counter/interrupt-counter.yaml b/Documentation/devicetree/bindings/counter/interrupt-counter.yaml new file mode 100644 index 000000000000..fd075d104631 --- /dev/null +++ b/Documentation/devicetree/bindings/counter/interrupt-counter.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/counter/interrupt-counter.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Interrupt counter + +maintainers: + - Oleksij Rempel <o.rempel@pengutronix.de> + +description: | + A generic interrupt counter to measure interrupt frequency. It was developed + and used for agricultural devices to measure rotation speed of wheels or + other tools. Since the direction of rotation is not important, only one + signal line is needed. + Interrupts or gpios are required. If both are defined, the interrupt will + take precedence for counting interrupts. + +properties: + compatible: + const: interrupt-counter + + interrupts: + maxItems: 1 + + gpios: + maxItems: 1 + +required: + - compatible + +anyOf: + - required: [ interrupts-extended ] + - required: [ interrupts ] + - required: [ gpios ] + +additionalProperties: false + +examples: + - | + + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + + counter-0 { + compatible = "interrupt-counter"; + interrupts-extended = <&gpio 0 IRQ_TYPE_EDGE_RISING>; + }; + + counter-1 { + compatible = "interrupt-counter"; + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + }; + + counter-2 { + compatible = "interrupt-counter"; + interrupts-extended = <&gpio 2 IRQ_TYPE_EDGE_RISING>; + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + }; + +...