3 Defination for the USB mass storage Control/Bulk/Interrupt transport.
5 Copyright (c) 2007 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _EFI_USBMASS_CBI_H_
17 #define _EFI_USBMASS_CBI_H_
20 USB_CBI_MAX_PACKET_NUM
= 16,
21 USB_CBI_RESET_CMD_LEN
= 12,
24 // Usb Cbi retry C/B/I transport times, set by experience
26 USB_CBI_MAX_RETRY
= 3,
29 // Usb Cbi wait device reset complete, set by experience
31 USB_CBI_RESET_DEVICE_STALL
= 50 * USB_MASS_1_MILLISECOND
,
34 // Usb Cbi transport timeout, set by experience
36 USB_CBI_RESET_DEVICE_TIMEOUT
= 1 * USB_MASS_1_SECOND
40 // Put Interface at the first field is to make it easy to get by Context, which
41 // could be BOT/CBI Protocol instance
44 EFI_USB_INTERFACE_DESCRIPTOR Interface
;
45 EFI_USB_ENDPOINT_DESCRIPTOR
*BulkInEndpoint
;
46 EFI_USB_ENDPOINT_DESCRIPTOR
*BulkOutEndpoint
;
47 EFI_USB_ENDPOINT_DESCRIPTOR
*InterruptEndpoint
;
48 EFI_USB_IO_PROTOCOL
*UsbIo
;
58 extern USB_MASS_TRANSPORT mUsbCbi0Transport
;
59 extern USB_MASS_TRANSPORT mUsbCbi1Transport
;