]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/Library/UsbDeviceModeLib.h
Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Library / UsbDeviceModeLib.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8
9 **/
10
11 #ifndef __BASE_USBDEVICEMODE_LIB_H__
12 #define __BASE_USBDEVICEMODE_LIB_H__
13
14 #pragma pack(1)
15 typedef struct {
16 UINT8 bLength;
17 UINT8 bDescriptorType;
18 UINT8 bMaxBurst;
19 UINT8 bmAttributes;
20 UINT16 wBytesPerInterval;
21 } endpointCompanionDescriptor;
22 #pragma pack()
23
24 #pragma pack(1)
25 typedef struct {
26 UINT8 bLength;
27 UINT8 bDescriptorType;
28 UINT8 bEndpointAddress;
29 UINT8 bmAttributes;
30 UINT16 wMaxPacketSize;
31 UINT8 bInterval;
32 } endpointDescriptor;
33 #pragma pack()
34
35 typedef struct {
36 endpointDescriptor *pEpDesc;
37 endpointCompanionDescriptor *pEpCompDesc;
38 } USB_DEV_EP_INFO; //usbdEpInfo;
39
40 typedef struct {
41 VOID *pBuf;
42 UINT32 dataLen;
43 } USBD_IO_INFO;
44
45 typedef struct {
46 USBD_IO_INFO ioInfo;
47 USB_DEV_EP_INFO epInfo;
48 } USBD_IO_REQ;
49
50 UINTN
51 EFIAPI
52 usbdInitDCI (
53 VOID
54 );
55
56 BOOLEAN
57 EFIAPI
58 fbInit (
59 OUT VOID *pParams
60 );
61
62 BOOLEAN
63 EFIAPI
64 fbDeinit (
65 VOID
66 );
67
68 BOOLEAN
69 EFIAPI
70 fbStart (
71 VOID
72 );
73
74 BOOLEAN
75 EFIAPI
76 fbStop (
77 VOID
78 );
79
80 BOOLEAN
81 EFIAPI
82 usbdSetMmioBar (
83 UINT32 mmioBar
84 );
85
86 BOOLEAN
87 EFIAPI
88 udciDeinit (
89 VOID *pUdciHndl,
90 UINT32 flags
91 );
92
93 BOOLEAN
94 EFIAPI
95 udciIsr (
96 VOID *pUdciHndl
97 );
98
99 BOOLEAN
100 EFIAPI
101 udciConnect (
102 VOID *pUdciHndl
103 );
104
105 BOOLEAN
106 EFIAPI
107 udciDisconnect (
108 VOID *pUdciHndl
109 );
110
111 BOOLEAN
112 EFIAPI
113 udciSetAddress (
114 VOID *pUdciHndl,
115 UINT8 address
116 );
117
118 BOOLEAN
119 EFIAPI
120 udciInitEp (
121 VOID *pUdciHndl,
122 USB_DEV_EP_INFO *pEpInfo
123 );
124
125 BOOLEAN
126 EFIAPI
127 udciEnableEp (
128 VOID *pUdciHndl,
129 USB_DEV_EP_INFO *pEpInfo
130 );
131
132 BOOLEAN
133 EFIAPI
134 udciDisableEp (
135 VOID *pUdciHndl,
136 USB_DEV_EP_INFO *pEpInfo
137 );
138
139 BOOLEAN
140 EFIAPI
141 udciStallEp (
142 VOID *pUdciHndl,
143 USB_DEV_EP_INFO *pEpInfo
144 );
145
146 BOOLEAN
147 EFIAPI
148 udciClearStallEp (
149 VOID *pUdciHndl,
150 USB_DEV_EP_INFO *pEpInfo
151 );
152
153
154 BOOLEAN
155 EFIAPI
156 udciEp0TxStatus (
157 VOID *pUdciHndl
158 );
159
160
161 BOOLEAN
162 EFIAPI
163 udciEpTxData (
164 VOID *pUdciHndl,
165 USBD_IO_REQ *pIoReq
166 );
167
168 BOOLEAN
169 EFIAPI
170 udciEpRxData (
171 VOID *pUdciHndl,
172 USBD_IO_REQ *pIoReq
173 );
174
175 BOOLEAN
176 EFIAPI
177 udciRegisterCallbacks (
178 VOID *pUdciHndl
179 );
180
181 #endif