mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
9ee0a05588
This driver provides PS/2 serio bus support by implementing bit banging with the GPIO API. The GPIO pins, data and clock, can be configured with a node in the device tree or by generic device properties (GDP). Writing to a device is supported as well, though it is possible timings can not be halt as they are tough and difficult to reach with bit banging. Therefore it can be configured (also in DT and GDP) whether the serio write function should be available for clients. This driver is for development purposes and not recommended for productive use. However, this driver can be useful e.g. when no USB port is available or using old peripherals is desired as PS/2 controller chips getting rare. This driver was tested on bcm2825 and on Kirin 960 and it worked well together with the atkbd and psmouse driver. Signed-off-by: Danilo Krummrich <danilokrummrich@dk-develop.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
24 lines
632 B
Plaintext
24 lines
632 B
Plaintext
Device-Tree binding for ps/2 gpio device
|
|
|
|
Required properties:
|
|
- compatible = "ps2-gpio"
|
|
- data-gpios: the data pin
|
|
- clk-gpios: the clock pin
|
|
- interrupts: Should trigger on the falling edge of the clock line.
|
|
|
|
Optional properties:
|
|
- write-enable: Indicates whether write function is provided
|
|
to serio device. Possibly providing the write fn will not work, because
|
|
of the tough timing requirements.
|
|
|
|
Example nodes:
|
|
|
|
ps2@0 {
|
|
compatible = "ps2-gpio";
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
|
|
data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
|
|
clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
|
|
write-enable;
|
|
};
|