blob: 99848bc34f6e6fbb947c50ff45d05fbb611922f6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/serio/ps2-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: GPIO based PS/2
8
9maintainers:
10 - Danilo Krummrich <danilokrummrich@dk-develop.de>
11
12properties:
13 compatible:
14 const: ps2-gpio
15
16 data-gpios:
17 description:
18 the gpio used for the data signal - this should be flagged as
19 active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)
20 from <dt-bindings/gpio/gpio.h> since the signal is open drain by
21 definition
22 maxItems: 1
23
24 clk-gpios:
25 description:
26 the gpio used for the clock signal - this should be flagged as
27 active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)
28 from <dt-bindings/gpio/gpio.h> since the signal is open drain by
29 definition
30 maxItems: 1
31
32 interrupts:
33 description:
34 The given interrupt should trigger on the falling edge of the clock line.
35 maxItems: 1
36
37 write-enable:
38 type: boolean
39 description:
40 Indicates whether write function is provided to serio device. Possibly
41 providing the write function will not work, because of the tough timing
42 requirements.
43
44required:
45 - compatible
46 - data-gpios
47 - clk-gpios
48 - interrupts
49
50additionalProperties: false
51
52examples:
53 - |
54 #include <dt-bindings/gpio/gpio.h>
55 #include <dt-bindings/interrupt-controller/irq.h>
56
57 ps2 {
58 compatible = "ps2-gpio";
59 interrupt-parent = <&gpio>;
60 interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
61 data-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
62 clk-gpios = <&gpio 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
63 write-enable;
64 };