forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a bus driver for Wiegand protocol. The bus driver handles Wiegand controller and Wiegand device managemement and driver matching. The bus driver defines the structures for Wiegand controllers and Wiegand devices. Wiegand controller structure represents a master and contains attributes such as the payload_len for configuring the size of a single Wiegand message in bits. It also stores the controller attributes defined in the devicetree. Each Wiegand controller should be associated with one Wiegand device, as Wiegand is typically a point-to-point bus. Signed-off-by: Martin Zaťovič <m.zatovic1@gmail.com>
- Loading branch information
1 parent
92c66b2
commit 5dc4c22
Showing
7 changed files
with
746 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
config WIEGAND | ||
tristate "Wiegand Bus driver" | ||
help | ||
The "Wiegand Interface" is an asynchronous low-level protocol | ||
or wiring standard. It is typically used for point-to-point | ||
communication. The data length of Wiegand messages is not defined, | ||
so the devices usually default to 26, 36 or 37 bits per message. | ||
The throughput of Wiegand depends on the selected pulse length and | ||
the intervals between pulses, in comparison to other busses it | ||
is generally rather slow. | ||
|
||
Despite its higher age, Wiegand remains widely used in access | ||
control systems to connect a card swipe mechanism. Such mechanisms | ||
utilize the Wiegand effect to transfer data from the card to | ||
the reader. | ||
|
||
Wiegand uses two wires to transmit the data D0 and D1. Both lines | ||
are initially pulled up. When a bit of value 0 is being transmitted, | ||
the D0 line is pulled down. Similarly, when a bit of value 1 is being | ||
transmitted, the D1 line is pulled down. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
obj-$(CONFIG_WIEGAND) += wiegand.o |
Oops, something went wrong.