// /** @file
// The XhciDxe driver is responsible for managing the behavior of XHCI controller.
//
// It implements the interfaces of monitoring the status of all ports and transferring
// Control, Bulk, Interrupt and Isochronous requests to those attached usb LS/FS/HS/SS devices.
//
// Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Responsible for managing the behavior of the XHCI controller"

#string STR_MODULE_DESCRIPTION          #language en-US "It implements the interfaces of monitoring the status of all ports and transferring Control, Bulk, Interrupt and Isochronous requests to those attached USB LS/FS/HS/SS devices."

