/** @file
Header file for USB initialization library.
Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _USB_INIT_LIB_H_
#define _USB_INIT_LIB_H_
#include
/**
Common entry point for PCH and CPU xDCI controller
@param[in] UsbConfig The USB_CONFIG policy instance
@param[in] XdciPciMmBase xDCI PCI config space address
**/
VOID
XdciConfigure (
IN USB_CONFIG *UsbConfig,
IN UINT64 XhciPciMmBase
);
/**
Common entry point for PCH and CPU xHCI controller
@param[in] UsbConfig The USB_CONFIG policy instance
@param[in] XhciPciMmBase xHCI PCI config space address
**/
VOID
XhciConfigure (
IN USB_CONFIG *UsbConfig,
IN UINT64 XhciPciMmBase
);
/**
Configure xHCI after initialization
@param[in] UsbConfig The USB_CONFIG policy instance
@param[in] XhciPciMmBase XHCI PCI CFG Base Address
**/
VOID
XhciConfigureAfterInit (
IN USB_CONFIG *UsbConfig,
IN UINT64 XhciPciMmBase
);
/**
Locks xHCI configuration by setting the proper lock bits in controller
@param[in] UsbConfig The USB_CONFIG policy instance
@param[in] XhciPciBase xHCI PCI config space address
**/
VOID
XhciLockConfiguration (
IN USB_CONFIG *UsbConfig,
IN UINT64 XhciPciBase
);
/**
Tune the USB 2.0 high-speed signals quality.
@param[in] UsbConfig The USB_CONFIG policy instance
**/
VOID
Usb2AfeProgramming (
IN USB_CONFIG *UsbConfig
);
#endif // _USB_INIT_LIB_H_