The PS/2 bus defines data and clock line to be open drain, this should be reflected in the gpio flags set in the binding. Especially, this is important since the clock line sometimes is driven by the host while being used as interrupt source. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Signed-off-by: Danilo Krummrich <danilokrummrich@dk-develop.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220529132638.13420-2-danilokrummrich@dk-develop.de
65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
# 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: Bindings for 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;
|
|
};
|