]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Include/Protocol/UsbPolicy.h
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Protocol / UsbPolicy.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
4 \r\r
9dc8036d
MK
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
3cbfba02
DW
7 \r\r
8\r
9Module Name:\r
10 UsbPolicy.h\r
11\r
12Abstract:\r
13\r
14--*/\r
15\r
16#ifndef _USB_POLICY_H_\r
17#define _USB_POLICY_H_\r
18\r
19EFI_FORWARD_DECLARATION (EFI_USB_POLICY_PROTOCOL);\r
20\r
21#define USB_POLICY_GUID \\r
22 {\\r
23 0xf617b358, 0x12cf, 0x414a, 0xa0, 0x69, 0x60, 0x67, 0x7b, 0xda, 0x13, 0xb4\\r
24 }\r
25\r
26#define TIANO_CODE_BASE 0x00\r
27#define ICBD_CODE_BASE 0x01\r
28\r
29#define ATUO_TYPE 0x00\r
30#define USB_FDD_TYPE 0x01\r
31#define HDD_TYPE 0x02\r
32#define ZIP_TYPE 0x03\r
33#define CDROM_TYPE 0x04\r
34#define SIZE_TYPE 0x05\r
35\r
36#define ZIP_FDD 0x80\r
37\r
38#define FDD_EMULATION 0x00\r
39#define HDD_EMULATION 0x01\r
40\r
41#define HIGH_SPEED 0x00\r
42#define FULL_SPEED 0x01\r
43#define SUPER_SPEED 0x02\r
44\r
45#define LEGACY_KB_EN 0x01\r
46#define LEGACY_KB_DIS 0x00\r
47#define LEGACY_MS_EN 0x01\r
48#define LEGACY_MS_DIS 0x00\r
49#define LEGACY_USB_EN 0x00\r
50#define LEGACY_USB_DIS 0x01\r
51#define LEGACY_FREE_SUPP 0x01\r
52#define LEGACY_FREE_UN_SUPP 0x00\r
53#define LEGACY_PERIOD_SUPP 0x01\r
54#define LEGACY_PERIOD_UN_SUPP 0x00\r
55\r
56#define LEGACY_USB_TIME_TUE_ENABLE 0x01\r
57#define LEGACY_USB_TIME_TUE_DISABLE 0x00\r
58#define USB_HAVE_HUB_INTERNEL 0x01\r
59#define USB_NOT_HAVE_HUB_INTERNEL 0x00\r
60\r
61#define USB_POLICY_PROTOCOL_REVISION_1 1\r
62#define USB_POLICY_PROTOCOL_REVISION_2 2\r
63\r
64#ifndef __GNUC__\r
65#pragma warning ( disable : 4306 )\r
66#pragma warning ( disable : 4054 )\r
67#endif\r
68\r
69#define GET_USB_CFG (UsbCfg);\\r
70 do{\\r
71 UINT16 *pSegOfEbda;\\r
72 UINT32 mToEbda;\\r
73 pSegOfEbda = (UINT16 *)(UINTN)0x40E;\\r
74 mToEbda = (UINT32)(((UINTN)(*pSegOfEbda) << 4) + 0x80);\\r
75 UsbCfg = (USB_CFG *)(UINTN)mToEbda;\\r
76 }while(0);\r
77\r
78#pragma pack(1)\r
79typedef struct {\r
80 UINT8 HasUSBKeyboard:1;\r
81 UINT8 HasUSBMouse:1;\r
82 UINT8 LegacyFreeSupport:1;\r
83 UINT8 UsbOperationMode:1;\r
84 UINT8 LegacyKBEnable:1;\r
85 UINT8 LegacyMSEnable:1;\r
86 UINT8 USBPeriodSupport:1;\r
87 UINT8 Reserved:1;\r
88} USB_DEVICE_INFOR;\r
89\r
90typedef struct {\r
91 UINT8 Codebase;\r
92 UINT8 USBHDDForceType;\r
93 UINT8 Configurated;\r
94 UINT8 LpcAcpiBase;\r
95 UINT8 AcpiTimerReg;\r
96 UINT8 Reserved1[0x01];\r
97 UINT8 LegacyUsbEnable;\r
98 USB_DEVICE_INFOR UsbDeviceInfor;\r
99 UINT16 UsbEmulationSize;\r
100 UINT8 Reserved2[0x06];\r
101} USB_CFG;\r
102#pragma pack()\r
103\r
104typedef struct _EFI_USB_POLICY_PROTOCOL{\r
105 UINT8 Version;\r
106 UINT8 UsbMassStorageEmulationType; // 1: FDD_Type; 2: HDD_Type; other:Auto_Type*\r
107 UINT8 UsbOperationMode; // 0: High_Speed; 1: Full_Speed;\r
108 UINT8 LegacyKBEnable; // 0: Disabled; 1: Enabled*\r
109 UINT8 LegacyMSEnable; // 0: Disabled; 1: Enabled*\r
110 UINT8 USBPeriodSupport; // 0; Unsupport; 1: Support\r
111 UINT8 LegacyUsbEnable; // 1: Disabled; 0: Enabled*\r
112 UINT8 LegacyFreeSupport; // 0: Unsupport; 1: Support\r
113 UINT8 CodeBase;\r
114 UINT8 LpcAcpiBase; // 40h(default)\r
115 UINT8 AcpiTimerReg;\r
116 UINT8 UsbTimeTue;\r
117 UINT8 InternelHubExist; // 1: Host have internel hub on board; 0: No internel hub on board\r
118 UINT8 EnumWaitPortStableStall; // Value for wait port stable when enum a new dev.\r
119 UINT16 UsbEmulationSize; // Mbytes.\r
120 UINT8 UsbZipEmulationType;\r
121 UINT8 Reserved[3]; // Reserved fields for future expansion w/o protocol change\r
122} EFI_USB_POLICY_PROTOCOL;\r
123\r
124extern EFI_GUID gUsbPolicyGuid;\r
125\r
126#endif\r