]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciUrb.h
QuarkSocPkg: Add new package for Quark SoC X1000
[mirror_edk2.git] / QuarkSocPkg / QuarkSouthCluster / Usb / Ohci / Pei / OhciUrb.h
CommitLineData
9b6bbcdb
MK
1/** @file\r
2Provides some data struct used by OHCI controller driver.\r
3\r
4Copyright (c) 2013-2015 Intel Corporation.\r
5\r
6This program and the accompanying materials\r
7are licensed and made available under the terms and conditions of the BSD License\r
8which accompanies this distribution. The full text of the license may be found at\r
9http://opensource.org/licenses/bsd-license.php\r
10\r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16\r
17#ifndef _OHCI_URB_H\r
18#define _OHCI_URB_H\r
19\r
20#include "Descriptor.h"\r
21\r
22\r
23//\r
24// Func List\r
25//\r
26\r
27\r
28/**\r
29\r
30 Create a TD\r
31\r
32 @Param Ohc UHC private data\r
33\r
34 @retval TD structure pointer\r
35\r
36**/\r
37TD_DESCRIPTOR *\r
38OhciCreateTD (\r
39 IN USB_OHCI_HC_DEV *Ohc\r
40 );\r
41\r
42/**\r
43\r
44 Free a TD\r
45\r
46 @Param Ohc UHC private data\r
47 @Param Td Pointer to a TD to free\r
48\r
49 @retval EFI_SUCCESS TD freed\r
50\r
51**/\r
52EFI_STATUS\r
53OhciFreeTD (\r
54 IN USB_OHCI_HC_DEV *Ohc,\r
55 IN TD_DESCRIPTOR *Td\r
56 );\r
57\r
58/**\r
59\r
60 Create a ED\r
61\r
62 @Param Ohc Device private data\r
63\r
64 @retval ED descriptor pointer\r
65\r
66**/\r
67ED_DESCRIPTOR *\r
68OhciCreateED (\r
69 USB_OHCI_HC_DEV *Ohc\r
70 );\r
71\r
72\r
73/**\r
74\r
75 Free a ED\r
76\r
77 @Param Ohc UHC private data\r
78 @Param Ed Pointer to a ED to free\r
79\r
80 @retval EFI_SUCCESS ED freed\r
81\r
82**/\r
83\r
84EFI_STATUS\r
85OhciFreeED (\r
86 IN USB_OHCI_HC_DEV *Ohc,\r
87 IN ED_DESCRIPTOR *Ed\r
88 );\r
89\r
90/**\r
91\r
92 Free ED\r
93\r
94 @Param Ohc Device private data\r
95 @Param Ed Pointer to a ED to free\r
96\r
97 @retval EFI_SUCCESS ED freed\r
98\r
99**/\r
100EFI_STATUS\r
101OhciFreeAllTDFromED (\r
102 IN USB_OHCI_HC_DEV *Ohc,\r
103 IN ED_DESCRIPTOR *Ed\r
104 );\r
105\r
106/**\r
107\r
108 Attach an ED\r
109\r
110 @Param Ed Ed to be attached\r
111 @Param NewEd Ed to attach\r
112\r
113 @retval EFI_SUCCESS NewEd attached to Ed\r
114 @retval EFI_INVALID_PARAMETER Ed is NULL\r
115\r
116**/\r
117EFI_STATUS\r
118OhciAttachED (\r
119 IN ED_DESCRIPTOR *Ed,\r
120 IN ED_DESCRIPTOR *NewEd\r
121 );\r
122/**\r
123\r
124 Attach an ED to an ED list\r
125\r
126 @Param OHC UHC private data\r
127 @Param ListType Type of the ED list\r
128 @Param Ed ED to attach\r
129 @Param EdList ED list to be attached\r
130\r
131 @retval EFI_SUCCESS ED attached to ED list\r
132\r
133**/\r
134EFI_STATUS\r
135OhciAttachEDToList (\r
136 IN USB_OHCI_HC_DEV *Ohc,\r
137 IN DESCRIPTOR_LIST_TYPE ListType,\r
138 IN ED_DESCRIPTOR *Ed,\r
139 IN ED_DESCRIPTOR *EdList\r
140 );\r
141EFI_STATUS\r
142OhciLinkTD (\r
143 IN TD_DESCRIPTOR *Td1,\r
144 IN TD_DESCRIPTOR *Td2\r
145 );\r
146\r
147\r
148/**\r
149\r
150 Attach TD list to ED\r
151\r
152 @Param Ed ED which TD list attach on\r
153 @Param HeadTd Head of the TD list to attach\r
154\r
155 @retval EFI_SUCCESS TD list attached on the ED\r
156\r
157**/\r
158EFI_STATUS\r
159OhciAttachTDListToED (\r
160 IN ED_DESCRIPTOR *Ed,\r
161 IN TD_DESCRIPTOR *HeadTd\r
162 );\r
163\r
164\r
165/**\r
166\r
167 Set value to ED specific field\r
168\r
169 @Param Ed ED to be set\r
170 @Param Field Field to be set\r
171 @Param Value Value to set\r
172\r
173 @retval EFI_SUCCESS Value set\r
174\r
175**/\r
176EFI_STATUS\r
177OhciSetEDField (\r
178 IN ED_DESCRIPTOR *Ed,\r
179 IN UINT32 Field,\r
180 IN UINT32 Value\r
181 );\r
182\r
183\r
184/**\r
185\r
186 Get value from an ED's specific field\r
187\r
188 @Param Ed ED pointer\r
189 @Param Field Field to get value from\r
190\r
191 @retval Value of the field\r
192\r
193**/\r
194UINT32\r
195OhciGetEDField (\r
196 IN ED_DESCRIPTOR *Ed,\r
197 IN UINT32 Field\r
198 );\r
199\r
200\r
201/**\r
202\r
203 Set value to TD specific field\r
204\r
205 @Param Td TD to be set\r
206 @Param Field Field to be set\r
207 @Param Value Value to set\r
208\r
209 @retval EFI_SUCCESS Value set\r
210\r
211**/\r
212EFI_STATUS\r
213OhciSetTDField (\r
214 IN TD_DESCRIPTOR *Td,\r
215 IN UINT32 Field,\r
216 IN UINT32 Value\r
217 );\r
218\r
219\r
220/**\r
221\r
222 Get value from ED specific field\r
223\r
224 @Param Td TD pointer\r
225 @Param Field Field to get value from\r
226\r
227 @retval Value of the field\r
228\r
229**/\r
230\r
231UINT32\r
232OhciGetTDField (\r
233 IN TD_DESCRIPTOR *Td,\r
234 IN UINT32 Field\r
235 );\r
236\r
237#endif\r