X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FBus%2FUsb%2FUsbCbi%2FDxe%2FCbi0%2Fcbi.h;fp=EdkModulePkg%2FBus%2FUsb%2FUsbCbi%2FDxe%2FCbi0%2Fcbi.h;h=e2a7c9d5af13e902172ecd0021d8c5f96e1fd5aa;hp=0000000000000000000000000000000000000000;hb=0898f771628c4c9004d5e2716612c57b13123a93;hpb=9937fde1259911b1595b794a5494cd395aba785e diff --git a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h new file mode 100644 index 0000000000..e2a7c9d5af --- /dev/null +++ b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/cbi.h @@ -0,0 +1,70 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + cbi.h + +Abstract: + + USB CBI transportation protocol definitions. +--*/ + +#ifndef _CBI_H +#define _CBI_H + + +#include + +#define bit(a) (1 << (a)) + +#define MASS_STORAGE_CLASS 0x08 +#define CBI0_INTERFACE_PROTOCOL 0x00 +#define CBI1_INTERFACE_PROTOCOL 0x01 + +// +// in millisecond unit +// +#define STALL_1_SECOND 1000 + +#pragma pack(1) +// +// Data block definition for transportation through interrupt endpoint +// +typedef struct { + UINT8 bType; + UINT8 bValue; +} INTERRUPT_DATA_BLOCK; + +#pragma pack() + +#define USB_CBI_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('u', 'c', 'b', 'i') + +// +// Device structure for CBI, interrupt endpoint may be not used in +// CBI1 Protocol +// +typedef struct { + UINT32 Signature; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + EFI_USB_ATAPI_PROTOCOL UsbAtapiProtocol; + EFI_USB_IO_PROTOCOL *UsbIo; + EFI_USB_INTERFACE_DESCRIPTOR InterfaceDescriptor; + EFI_USB_ENDPOINT_DESCRIPTOR BulkInEndpointDescriptor; + EFI_USB_ENDPOINT_DESCRIPTOR BulkOutEndpointDescriptor; + EFI_USB_ENDPOINT_DESCRIPTOR InterruptEndpointDescriptor; + EFI_UNICODE_STRING_TABLE *ControllerNameTable; +} USB_CBI_DEVICE; + +#define USB_CBI_DEVICE_FROM_THIS(a) \ + CR(a, USB_CBI_DEVICE, UsbAtapiProtocol, USB_CBI_DEVICE_SIGNATURE) + +#endif