# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/serio/ps2-gpio.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: GPIO based PS/2 maintainers: - Danilo Krummrich <danilokrummrich@dk-develop.de> properties: compatible: const: ps2-gpio data-gpios: description: the gpio used for the data signal - this should be flagged as active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN) from <dt-bindings/gpio/gpio.h> since the signal is open drain by definition maxItems: 1 clk-gpios: description: the gpio used for the clock signal - this should be flagged as active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN) from <dt-bindings/gpio/gpio.h> since the signal is open drain by definition maxItems: 1 interrupts: description: The given interrupt should trigger on the falling edge of the clock line. maxItems: 1 write-enable: type: boolean description: Indicates whether write function is provided to serio device. Possibly providing the write function will not work, because of the tough timing requirements. required: - compatible - data-gpios - clk-gpios - interrupts additionalProperties: false examples: - | #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> ps2 { compatible = "ps2-gpio"; interrupt-parent = <&gpio>; interrupts = <23 IRQ_TYPE_EDGE_FALLING>; data-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; clk-gpios = <&gpio 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; write-enable; };