/** @file | |
Copyright (c) 2015-2017, Linaro. All rights reserved. | |
This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
**/ | |
#ifndef __DW_USB_H__ | |
#define __DW_USB_H__ | |
// | |
// Protocol GUID | |
// | |
#define DW_USB_PROTOCOL_GUID { 0x109fa264, 0x7811, 0x4862, { 0xa9, 0x73, 0x4a, 0xb2, 0xef, 0x2e, 0xe2, 0xff }} | |
// | |
// Protocol interface structure | |
// | |
typedef struct _DW_USB_PROTOCOL DW_USB_PROTOCOL; | |
#define USB_HOST_MODE 0 | |
#define USB_DEVICE_MODE 1 | |
#define USB_CABLE_NOT_ATTACHED 2 | |
#define LANG_LENGTH 8 | |
#define MANU_FACTURER_STRING_LENGTH 32 | |
#define PRODUCT_STRING_LENGTH 32 | |
#define SERIAL_STRING_LENGTH 17 | |
typedef | |
EFI_STATUS | |
(EFIAPI *DW_USB_GET_LANG) ( | |
OUT CHAR16 *Lang, | |
OUT UINT8 *Length | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *DW_USB_GET_MANU_FACTURER) ( | |
OUT CHAR16 *ManuFacturer, | |
OUT UINT8 *Length | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *DW_USB_GET_PRODUCT) ( | |
OUT CHAR16 *Product, | |
OUT UINT8 *Length | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *DW_USB_GET_SERIAL_NO) ( | |
OUT CHAR16 *SerialNo, | |
OUT UINT8 *Length | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *DW_USB_PHY_INIT) ( | |
IN UINT8 Mode | |
); | |
struct _DW_USB_PROTOCOL { | |
DW_USB_GET_LANG GetLang; | |
DW_USB_GET_MANU_FACTURER GetManuFacturer; | |
DW_USB_GET_PRODUCT GetProduct; | |
DW_USB_GET_SERIAL_NO GetSerialNo; | |
DW_USB_PHY_INIT PhyInit; | |
}; | |
extern EFI_GUID gDwUsbProtocolGuid; | |
#endif |