mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Martin Zaťovič" <m.zatovic1@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org, mani@kernel.org,
	hemantk@codeaurora.org, quic_jhugo@quicinc.com,
	andersson@kernel.org, Michael.Srba@seznam.cz, arnd@arndb.de,
	dipenp@nvidia.com, bvanassche@acm.org, iwona.winiarska@intel.com,
	ogabbay@kernel.org, tzimmermann@suse.de, fmdefrancesco@gmail.com,
	jason.m.bills@linux.intel.com, jae.hyun.yoo@linux.intel.com,
	gregkh@linuxfoundation.org, krzysztof.kozlowski+dt@linaro.org,
	robh+dt@kernel.org, "Martin Zaťovič" <m.zatovic1@gmail.com>
Subject: [PATCH 1/3] dt-bindings: add Wiegand controller dt-binding documentation
Date: Wed,  4 Jan 2023 14:34:12 +0100	[thread overview]
Message-ID: <20230104133414.39305-2-m.zatovic1@gmail.com> (raw)
In-Reply-To: <20230104133414.39305-1-m.zatovic1@gmail.com>

A 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@gmail.com>
---
 .../bindings/wiegand/wiegand-controller.yaml  | 83 +++++++++++++++++++
 MAINTAINERS                                   |  5 ++
 2 files changed, 88 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..645306c65d43
--- /dev/null
+++ b/Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/wiegand/wiegand-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Wiegand Controller Generic Binding
+
+maintainers:
+  - Martin Zaťovič <martin.zatovic@tbs-biometrics.com>
+
+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])*$"
+
+  compatible:
+    maxItems: 1
+    description: Compatible of the Wiegand controller.
+
+  data-high-gpios:
+    maxItems: 1
+    description: GPIO used as Wiegands data-hi line. This line is initially
+      pulled up to high value. Wiegand write of a bit of value 1 results in
+      this line being pulled down for pulse length duration.
+
+  data-lo-gpios:
+    maxItems: 1
+    description: GPIO used as Wiegands data-lo line. This line is initially
+      pulled up to high value. Wiegand write of a bit of value 0 results in
+      this line being pulled down for pulse length duration.
+
+  pulse-len-us:
+    maxItems: 1
+    description: Length of the low pulse in microseconds.
+
+  interval-len-us:
+    maxItems: 1
+    description: Length of a whole bit (both the pulse and the high phase)
+      in microseconds.
+
+  frame-gap-us:
+    maxItems: 1
+    description: Length of the last bit of a frame (both the pulse and the
+      high phase) in microseconds.
+
+  slave-device:
+    type: object
+
+    properties:
+      compatible:
+        description:
+          Compatible of the Wiegand device.
+
+    required:
+      - compatible
+
+required:
+  - compatible
+  - pulse-len-us
+  - interval-len-us
+  - frame-gap-us
+
+additionalProperties: false
+
+examples:
+  - |
+    wiegand@f00 {
+        compatible = "wiegand-gpio";
+        data-hi-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+        data-lo-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+        pulse-len-us = <50>;
+        interval-len-us = <2000>;
+        frame-gap-us = <2000>;
+        status = "okay";
+
+        wiegand-foo-device {
+                compatible = "wiegand-foo";
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 7f86d02cb427..db9624d93af0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22428,6 +22428,11 @@ L:	linux-input@vger.kernel.org
 S:	Maintained
 F:	drivers/hid/hid-wiimote*
 
+WIEGAND BUS DRIVER
+M:	Martin Zaťovič <m.zatovic1@gmail.com>
+S:	Maintained
+F:	Documentation/devicetree/bindings/wiegand/wiegand-controller.yaml
+
 WILOCITY WIL6210 WIRELESS DRIVER
 L:	linux-wireless@vger.kernel.org
 S:	Orphan
-- 
2.38.1


  reply	other threads:[~2023-01-04 13:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04 13:34 [PATCH 0/3] Wiegand bus driver and GPIO controller driver Martin Zaťovič
2023-01-04 13:34 ` Martin Zaťovič [this message]
2023-01-05  2:53   ` [PATCH 1/3] dt-bindings: add Wiegand controller dt-binding documentation Rob Herring
2023-01-05  2:53   ` Rob Herring
2023-01-08 16:30   ` Rob Herring
2023-01-22 14:21   ` Krzysztof Kozlowski
2023-01-04 13:34 ` [PATCH 2/3] bus: add Wiegand bus driver Martin Zaťovič
2023-01-04 14:03   ` Greg KH
2023-01-04 14:05   ` Greg KH
2023-01-25 13:05     ` Martin Zaťovič
2023-01-25 13:16       ` Arnd Bergmann
2023-01-25 13:21         ` Martin Zaťovič
2023-01-25 13:26       ` Greg KH
2023-01-25 13:37         ` Martin Zaťovič
2023-01-04 14:06   ` Greg KH
2023-01-04 13:34 ` [PATCH 3/3] wiegand: add Wiegand GPIO bit-banged controller driver Martin Zaťovič
2023-01-04 14:05   ` Greg KH
2023-01-04 16:39   ` kernel test robot
2023-01-04 16:59   ` Andy Shevchenko
2023-01-04 17:01     ` Andy Shevchenko
2023-01-25  9:28       ` Martin Zaťovič
2023-01-25 11:49         ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230104133414.39305-2-m.zatovic1@gmail.com \
    --to=m.zatovic1@gmail.com \
    --cc=Michael.Srba@seznam.cz \
    --cc=andersson@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bvanassche@acm.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dipenp@nvidia.com \
    --cc=fmdefrancesco@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hemantk@codeaurora.org \
    --cc=iwona.winiarska@intel.com \
    --cc=jae.hyun.yoo@linux.intel.com \
    --cc=jason.m.bills@linux.intel.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=ogabbay@kernel.org \
    --cc=quic_jhugo@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®