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

title: Intel Keem Bay DWC3 USB controller

maintainers:
  - Wan Ahmad Zainie <wan.ahmad.zainie.wan.mohamad@intel.com>

properties:
  compatible:
    const: intel,keembay-dwc3

  clocks:
    maxItems: 4

  clock-names:
    items:
      - const: async_master
      - const: ref
      - const: alt_ref
      - const: suspend

  ranges: true

  '#address-cells':
    enum: [ 1, 2 ]

  '#size-cells':
    enum: [ 1, 2 ]

# Required child node:

patternProperties:
  "^usb@[0-9a-f]+$":
    $ref: snps,dwc3.yaml#

required:
  - compatible
  - clocks
  - clock-names
  - ranges

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #define KEEM_BAY_A53_AUX_USB
    #define KEEM_BAY_A53_AUX_USB_REF
    #define KEEM_BAY_A53_AUX_USB_ALT_REF
    #define KEEM_BAY_A53_AUX_USB_SUSPEND

    usb {
          compatible = "intel,keembay-dwc3";
          clocks = <&scmi_clk KEEM_BAY_A53_AUX_USB>,
                   <&scmi_clk KEEM_BAY_A53_AUX_USB_REF>,
                   <&scmi_clk KEEM_BAY_A53_AUX_USB_ALT_REF>,
                   <&scmi_clk KEEM_BAY_A53_AUX_USB_SUSPEND>;
          clock-names = "async_master", "ref", "alt_ref", "suspend";
          ranges;
          #address-cells = <1>;
          #size-cells = <1>;

          usb@34000000 {
                compatible = "snps,dwc3";
                reg = <0x34000000 0x10000>;
                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                dr_mode = "peripheral";
          };
    };
