# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ti,twl4030-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI TWL4030 GPIO controller

maintainers:
  - Aaro Koskinen <aaro.koskinen@iki.fi>
  - Andreas Kemnade <andreas@kemnade.info>
  - Kevin Hilman <khilman@baylibre.com>
  - Roger Quadros <rogerq@kernel.org>
  - Tony Lindgren <tony@atomide.com>

properties:
  compatible:
    const: ti,twl4030-gpio

  '#gpio-cells':
    const: 2

  gpio-controller: true

  '#interrupt-cells':
    const: 1

  interrupt-controller: true

  ti,debounce:
    description: Debounce control bits. Each bit corresponds to a GPIO pin.
    $ref: /schemas/types.yaml#/definitions/uint32

  ti,mmc-cd:
    description: MMC card detect control bits. Each bit corresponds to a GPIO pin for VMMC(n+1).
    $ref: /schemas/types.yaml#/definitions/uint32

  ti,pullups:
    description: Pull-up control bits. Each bit corresponds to a GPIO pin.
    $ref: /schemas/types.yaml#/definitions/uint32

  ti,pulldowns:
    description: Pull-down control bits. Each bit corresponds to a GPIO pin.
    $ref: /schemas/types.yaml#/definitions/uint32

  ti,use-leds:
    type: boolean
    description: Enables LEDA and LEDB outputs if set

additionalProperties: false

examples:
  - |
    gpio {
        compatible = "ti,twl4030-gpio";
        #gpio-cells = <2>;
        gpio-controller;
        #interrupt-cells = <1>;
        interrupt-controller;
        ti,use-leds;
    };
