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

title: MAXIM MAX3420/1 USB Peripheral Controller

maintainers:
  - Jassi Brar <jaswinder.singh@linaro.org>

description: |
  The controller provices USB2.0 compliant FullSpeed peripheral
  implementation over the SPI interface.

  Specifications about the part can be found at:
    http://datasheets.maximintegrated.com/en/ds/MAX3420E.pdf

properties:
  compatible:
    enum:
      - maxim,max3420-udc
      - maxim,max3421-udc

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: usb irq from max3420
      - description: vbus detection irq
    minItems: 1

  interrupt-names:
    items:
      - const: udc
      - const: vbus
    minItems: 1

  spi-max-frequency:
    maximum: 26000000

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names

additionalProperties: false

examples:
  - |
      #include <dt-bindings/gpio/gpio.h>
      #include <dt-bindings/interrupt-controller/irq.h>
      spi {
            #address-cells = <1>;
            #size-cells = <0>;

            udc@0 {
                  compatible = "maxim,max3420-udc";
                  reg = <0>;
                  interrupt-parent = <&gpio>;
                  interrupts = <0 IRQ_TYPE_EDGE_FALLING>, <10 IRQ_TYPE_EDGE_BOTH>;
                  interrupt-names = "udc", "vbus";
                  spi-max-frequency = <12500000>;
            };
      };