diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Include/Protocol/UsbPolicy.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Include/Protocol/UsbPolicy.h')
-rw-r--r-- | Include/Protocol/UsbPolicy.h | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/Include/Protocol/UsbPolicy.h b/Include/Protocol/UsbPolicy.h new file mode 100644 index 0000000..1a326d3 --- /dev/null +++ b/Include/Protocol/UsbPolicy.h @@ -0,0 +1,233 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2014, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/USB/ALASKA/Protocol/UsbPolicy.h 22 12/24/14 10:43p Wilsonlee $ +// +// $Revision: 22 $ +// +// $Date: 12/24/14 10:43p $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/USB/ALASKA/Protocol/UsbPolicy.h $ +// +// 22 12/24/14 10:43p Wilsonlee +// [TAG] EIP196287 +// [Category] Improvement +// [Description] Display info of connected usb controllers and remove or +// grayed-out some item according the connected usb controller number. +// [Files] uhcd.c, usbport.c, usb.uni, usb.sd, usbsetup.c, +// AmiUsbController.h, UsbPolicy.h +// +// 21 12/21/12 5:03a Ryanchou +// [TAG] EIP71730 +// [Category] New Feature +// [Description] Added OHCI handoff support. +// [Files] usb.sdl, usbport.c, amiusb.c, usbdef.h, UsbPolicy.h, usb.sd, +// usb.uni +// +// 20 9/04/12 8:01a Wilsonlee +// [TAG] EIP99882 +// [Category] New Feature +// [Description] Add the usb setup item and usbpolicyprotocol to enable +// or disable the usb mass storage driver. +// [Files] UsbPolicy.h, usb.uni, usb.sd, usbmass.c, usbdef.h, +// efiusbmass.c, usbport.c, uhcd.c +// +// 19 5/03/12 5:11a Ryanchou +// [TAG] EIP83361 +// [Category] New Feature +// [Description] Added "USB 2.0 Controller Mode" setup item. +// [Files] ehci.c, usb.sd, usb.sdl, usb.uni, usbdef.h, UsbPolicy.h, +// usbport.c +// +// 18 8/08/11 5:26a Ryanchou +// [TAG] EIP60561 +// [Category] New Feature +// [Description] Add USB timing policy protocol for timing override. +// [Files] ehci.c, guids.c, ohci.c, uhcd.c, uhci.c usb.c, usbdef.h, +// usbhub.c, usbmass.c, UsbPolicy.h, usbport.c usbsrc.sdl +// +// 17 2/18/11 1:15a Ryanchou +// [TAG] EIP48184 +// [Category] Improvement +// [Description] Update files according to the new Setup Customization +// guidelines. +// [Files] usb.sd, UsbPolicy.h +// +// 16 10/12/10 2:45a Rameshr +// [TAG]- EIP 44585 +// [Category]-IMPROVEMENT +// [Description]- Number of maximum supported USB Mass Storage device +// increased from 8 to 16. +// [Files]- Uin13.bin, UsbPort.c, UsbInt13.h, Usb.c, Usbdef.h, Uasbmass.c, +// Usb.sd, usb.uni, UsbSetup.c, UsbSrc.sdl, UsbPolicy.h +// +//********************************************************************** + +//<AMI_FHDR_START> +//---------------------------------------------------------------------------- +// +// Name: UsbPolicy.h +// +// Description: Protocol used for USB policy definitions +// +//---------------------------------------------------------------------------- +//<AMI_FHDR_END> + +#ifndef _AMIUSB_POLICY_PROTOCOL_H_ +#define _AMIUSB_POLICY_PROTOCOL_H_ + +#define EFI_USB_POLICY_PROTOCOL_GUID \ + { 0x5859cb76, 0x6bef, 0x468a, 0xbe, 0x2d, 0xb3, 0xdd, 0x1a, 0x27, 0xf0, 0x12 } +#define USB_TIMING_POLICY_PROTOCOL_GUID \ + { 0x89e3c1dc, 0xb5e3, 0x4d34, 0xae, 0xad, 0xdd, 0x7e, 0xb2, 0x82, 0x8c, 0x18 } + +#ifndef VFRCOMPILE +typedef enum { + USBMASS_EMU_AUTO, + USBMASS_EMU_FDD, + USBMASS_EMU_FORCED_FDD, + USBMASS_EMU_HDD, + USBMASS_EMU_CD +} USBMASS_EMU_TYPE; +#endif + +#define USB_DEVPLCY_STATUS_PRESENT 1 + +#ifndef TYPEDEF_USB_SUPPORT_SETUP +#define TYPEDEF_USB_SUPPORT_SETUP +typedef struct { + UINT8 UsbMainSupport; + UINT8 UsbLegacySupport; + UINT8 UsbEhciHandoff; + UINT8 UsbOhciHandoff; + UINT8 UsbHotplugFddSupport; + UINT8 UsbHotplugHddSupport; + UINT8 UsbHotplugCdromSupport; + UINT8 UsbEmul6064; + UINT8 UsbMassResetDelay; + UINT8 UsbControlTimeOut; //(EIP30079+) + UINT8 UsbEmu1; + UINT8 UsbEmu2; + UINT8 UsbEmu3; + UINT8 UsbEmu4; + UINT8 UsbEmu5; + UINT8 UsbEmu6; + UINT8 UsbEmu7; + UINT8 UsbEmu8; + UINT8 UsbEmu9; + UINT8 UsbEmu10; + UINT8 UsbEmu11; + UINT8 UsbEmu12; + UINT8 UsbEmu13; + UINT8 UsbEmu14; + UINT8 UsbEmu15; + UINT8 UsbEmu16; + UINT8 UsbXhciSupport; + UINT8 UsbXhciHandoff; + UINT8 PowerGoodDeviceDelay; + UINT8 PowerGoodDeviceNumDelay; + UINT8 UsbHiSpeedSupport; + UINT8 UsbMassDriverSupport; //(EIP99882+) +} USB_SUPPORT_SETUP; +#endif + +#ifndef TYPEDEF_USB_MASS_DEV_VALID +#define TYPEDEF_USB_MASS_DEV_VALID +typedef struct{ + UINT8 UsbEmu1Valid; + UINT8 UsbEmu2Valid; + UINT8 UsbEmu3Valid; + UINT8 UsbEmu4Valid; + UINT8 UsbEmu5Valid; + UINT8 UsbEmu6Valid; + UINT8 UsbEmu7Valid; + UINT8 UsbEmu8Valid; + UINT8 UsbEmu9Valid; + UINT8 UsbEmu10Valid; + UINT8 UsbEmu11Valid; + UINT8 UsbEmu12Valid; + UINT8 UsbEmu13Valid; + UINT8 UsbEmu14Valid; + UINT8 UsbEmu15Valid; + UINT8 UsbEmu16Valid; +} USB_MASS_DEV_VALID; +#endif + +#define MAX_USB_MASS 8 +#define SETUP_DATA_HOTPLUG_ENABLED 1 +#define SETUP_DATA_HOTPLUG_DISABLED 2 +#define SETUP_DATA_HOTPLUG_AUTO 3 +#define SETUP_DATA_RESETDELAY_20S 1 + +#ifndef VFRCOMPILE +typedef struct _USB_POLICY_PROTOCOL { + USB_SUPPORT_SETUP *UsbDevPlcy; +} EFI_USB_POLICY_PROTOCOL; +#endif + +#define EMULATION_FAKE_INTERFACE 1 + +#ifndef TYPEDEF_USB_MASS_DEV_NUM +#define TYPEDEF_USB_MASS_DEV_NUM +typedef struct { + UINT8 UsbMassDevNum; + UINT8 IsInteractionAllowed; +} USB_MASS_DEV_NUM; +#endif + +#ifndef TYPEDEF_USB_CONTROLLER_NUM +#define TYPEDEF_USB_CONTROLLER_NUM +typedef struct { + UINT8 UhciNum; + UINT8 OhciNum; + UINT8 EhciNum; + UINT8 XhciNum; +} USB_CONTROLLER_NUM; +#endif + +typedef struct { + UINT16 UsbTimingPolicyRevision; + UINT16 UsbTimingPolicyLength; + UINT16 EhciPortPowerOnDelay; + UINT16 EhciPortConnect; + UINT16 EhciPortReset; + UINT16 OhciHcResetDelay; + UINT16 OhciPortEnable; + UINT16 OhciHcReset; + UINT16 UhciGlobalReset; + UINT16 UhciPortEnable; + UINT16 HubPortConnect; + UINT16 HubPortEnable; + UINT16 MassDeviceComeUp; + UINT16 RmhPowerOnDelay; +} USB_TIMING_POLICY; + +#endif + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2014, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** |