| # 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 <alexander.stein@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>; | |
| }; |