# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2020 Facebook Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/aspeed,ast2600-udc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ASPEED USB 2.0 Device Controller

maintainers:
  - Neal Liu <neal_liu@aspeedtech.com>

description: |+
  The ASPEED USB 2.0 Device Controller implements 1 control endpoint and
  4 generic endpoints for AST260x.

  Supports independent DMA channel for each generic endpoint.
  Supports 32/256 stages descriptor mode for all generic endpoints.

properties:
  compatible:
    enum:
      - aspeed,ast2600-udc

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/aspeed-clock.h>
    udc: usb@1e6a2000 {
        compatible = "aspeed,ast2600-udc";
        reg = <0x1e6a2000 0x300>;
        interrupts = <9>;
        clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usb2bd_default>;
    };
