# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-xhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic USB xHCI Controller

maintainers:
  - Mathias Nyman <mathias.nyman@intel.com>

allOf:
  - $ref: usb-hcd.yaml#

properties:
  usb2-lpm-disable:
    description: Indicates if we don't want to enable USB2 HW LPM
    type: boolean

  usb3-lpm-capable:
    description: Determines if platform is USB3 LPM capable
    type: boolean

  quirk-broken-port-ped:
    description: Set if the controller has broken port disable mechanism
    type: boolean

  imod-interval-ns:
    description: Interrupt moderation interval
    default: 5000

  num-hc-interrupters:
    description: Maximum number of interrupters to allocate
    $ref: /schemas/types.yaml#/definitions/uint16
    minimum: 1
    maximum: 1024

additionalProperties: true

examples:
  - |
    usb@f0930000 {
      compatible = "generic-xhci";
      reg = <0xf0930000 0x8c8>;
      interrupts = <0x0 0x4e 0x0>;
      usb2-lpm-disable;
      usb3-lpm-capable;
    };
