On Thu, Feb 02, 2023 at 03:33:02PM +0100, Martin Zaťovič wrote: > Weigand bus is defined by a Wiegand controller node. This node > can contain one or more device nodes for devices attached to > the controller(it is advised to only connect one device as Wiegand > is a point-to-point bus). > > Wiegand controller needs to specify several attributes such as > the pulse length in order to function properly. These attributes > are documented here. > > Signed-off-by: Martin Zaťovič <m.zatovic1@xxxxxxxxx> > --- > .../bindings/wiegand/wiegand-controller.yaml | 50 +++++++++++++++++++ > MAINTAINERS | 5 ++ > 2 files changed, 55 insertions(+) > create mode 100644 Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml > > diff --git a/Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml b/Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml > new file mode 100644 > index 000000000000..fed90e01e56f > --- /dev/null > +++ b/Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml > @@ -0,0 +1,50 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/wiegand/wiegand-controller.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Wiegand Generic Controller Common Properties > + > +maintainers: > + - Martin Zaťovič <martin.zatovic@xxxxxxxxxxxxxxxxxx> > + > +description: > + Wiegand busses can be described with a node for the Wiegand controller device > + and a set of child nodes for each SPI slave on the bus. > + > +properties: > + $nodename: > + pattern: "^wiegand(@.*|-[0-9a-f])?$" > + > + pulse-len-us: > + description: | > + Length of the low pulse in microseconds. > + > + interval-len-us: > + description: | > + Length of a whole bit (both the pulse and the high phase) in microseconds. > + > + frame-gap-us: > + description: | > + Length of the last bit of a frame (both the pulse and the high phase) in > + microseconds. > + > +required: > + - compatible > + - pulse-len-us > + - interval-len-us > + - frame-gap-us > + > +additionalProperties: true > + > +examples: > + - | > + wiegand@f00 { > + compatible = "wiegand-foo"; You've got a real example in the bitbanged schema, just drop the fake one here. You can put about anything in here because it is not getting validated. > + pulse-len-us = <50>; > + interval-len-us = <2000>; > + frame-gap-us = <2000>; > + > + /* devices */ > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 7f86d02cb427..db9624d93af0 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -22428,6 +22428,11 @@ L: linux-input@xxxxxxxxxxxxxxx > S: Maintained > F: drivers/hid/hid-wiimote* > > +WIEGAND BUS DRIVER > +M: Martin Zaťovič <m.zatovic1@xxxxxxxxx> > +S: Maintained > +F: Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml > + > WILOCITY WIL6210 WIRELESS DRIVER > L: linux-wireless@xxxxxxxxxxxxxxx > S: Orphan > -- > 2.39.1 >