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

title: USB GPIO Extcon device

maintainers:
  - Frank Li <Frank.Li@nxp.com>

description:
  This is a virtual device used to generate USB cable states from the USB ID pin
  connected to a GPIO pin.

properties:
  compatible:
    const: linux,extcon-usb-gpio

  id-gpios:
    description: gpio for USB ID pin. See gpio binding.
  vbus-gpios:
    description: gpio for USB VBUS pin.

required:
  - compatible

anyOf:
  - required:
      - id-gpios
  - required:
      - vbus-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    extcon_usb1 {
        compatible = "linux,extcon-usb-gpio";
        id-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
    };
