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