# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/gpio/gpio-delay.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: GPIO delay controller maintainers: - Alexander Stein <linux@ew.tq-group.com> description: | This binding describes an electrical setup where setting an GPIO output is delayed by some external setup, e.g. RC circuit. +----------+ +-----------+ | | VCC_B | | | | | | | | | VCC_A _ | | | GPIO | | | R | Consumer | |controller| ___ |_| | | | | | | | | | | [IOx|-------| |--+-----|-----+ | | | |___| | | input | | | | | | +----------+ --- C +-----------+ --- | - GND If the input on the consumer is controlled by an open-drain signal attached to an RC circuit the ramp-up delay is not under control of the GPIO controller. properties: compatible: const: gpio-delay "#gpio-cells": description: | Specifies the pin, ramp-up and ramp-down delays. The delays are specified in microseconds. const: 3 gpios: description: Array of GPIOs which output signal change is delayed minItems: 1 maxItems: 32 gpio-controller: true gpio-line-names: minItems: 1 maxItems: 32 required: - compatible - "#gpio-cells" - gpio-controller - gpios additionalProperties: false examples: - | #include <dt-bindings/gpio/gpio.h> enable_delay: enable-delay { compatible = "gpio-delay"; #gpio-cells = <3>; gpio-controller; gpios = <&gpio0 3 GPIO_ACTIVE_LOW>, <&gpio3 1 GPIO_ACTIVE_HIGH>; }; consumer { enable-gpios = <&enable_delay 0 130000 30000>; };