Home | History | Annotate | Download | only in Library
      1 /*++
      2 
      3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials are licensed and made available under
      7   the terms and conditions of the BSD License that accompanies this distribution.
      9   The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php.
     13 
     15   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     21 
     23 **/
     24 
     25 #ifndef __BASE_USBDEVICEMODE_LIB_H__
     26 #define __BASE_USBDEVICEMODE_LIB_H__
     27 
     28 #pragma pack(1)
     29 typedef struct {
     30     UINT8  bLength;
     31     UINT8  bDescriptorType;
     32     UINT8  bMaxBurst;
     33     UINT8  bmAttributes;
     34     UINT16 wBytesPerInterval;
     35 } endpointCompanionDescriptor;
     36 #pragma pack()
     37 
     38 #pragma pack(1)
     39 typedef struct {
     40     UINT8  bLength;
     41     UINT8  bDescriptorType;
     42     UINT8  bEndpointAddress;
     43     UINT8  bmAttributes;
     44     UINT16 wMaxPacketSize;
     45     UINT8  bInterval;
     46 } endpointDescriptor;
     47 #pragma pack()
     48 
     49 typedef struct {
     50     endpointDescriptor          *pEpDesc;
     51     endpointCompanionDescriptor *pEpCompDesc;
     52 } USB_DEV_EP_INFO;    //usbdEpInfo;
     53 
     54 typedef struct {
     55     VOID        *pBuf;
     56     UINT32    dataLen;
     57 } USBD_IO_INFO;
     58 
     59 typedef struct {
     60     USBD_IO_INFO     ioInfo;
     61     USB_DEV_EP_INFO  epInfo;
     62 } USBD_IO_REQ;
     63 
     64 UINTN
     65 EFIAPI
     66 usbdInitDCI (
     67   VOID
     68   );
     69 
     70 BOOLEAN
     71 EFIAPI
     72 fbInit (
     73   OUT  VOID  *pParams
     74   );
     75 
     76 BOOLEAN
     77 EFIAPI
     78 fbDeinit (
     79   VOID
     80   );
     81 
     82 BOOLEAN
     83 EFIAPI
     84 fbStart (
     85   VOID
     86   );
     87 
     88 BOOLEAN
     89 EFIAPI
     90 fbStop (
     91   VOID
     92   );
     93 
     94 BOOLEAN
     95 EFIAPI
     96 usbdSetMmioBar (
     97   UINT32 mmioBar
     98   );
     99 
    100 BOOLEAN
    101 EFIAPI
    102 udciDeinit (
    103   VOID    *pUdciHndl,
    104   UINT32  flags
    105   );
    106 
    107 BOOLEAN
    108 EFIAPI
    109 udciIsr (
    110   VOID    *pUdciHndl
    111   );
    112 
    113 BOOLEAN
    114 EFIAPI
    115 udciConnect (
    116   VOID    *pUdciHndl
    117   );
    118 
    119 BOOLEAN
    120 EFIAPI
    121 udciDisconnect (
    122   VOID    *pUdciHndl
    123   );
    124 
    125 BOOLEAN
    126 EFIAPI
    127 udciSetAddress (
    128   VOID    *pUdciHndl,
    129   UINT8   address
    130   );
    131 
    132 BOOLEAN
    133 EFIAPI
    134 udciInitEp (
    135   VOID            *pUdciHndl,
    136   USB_DEV_EP_INFO *pEpInfo
    137   );
    138 
    139 BOOLEAN
    140 EFIAPI
    141 udciEnableEp (
    142   VOID            *pUdciHndl,
    143   USB_DEV_EP_INFO *pEpInfo
    144   );
    145 
    146 BOOLEAN
    147 EFIAPI
    148 udciDisableEp (
    149   VOID            *pUdciHndl,
    150   USB_DEV_EP_INFO *pEpInfo
    151   );
    152 
    153 BOOLEAN
    154 EFIAPI
    155 udciStallEp (
    156   VOID            *pUdciHndl,
    157   USB_DEV_EP_INFO *pEpInfo
    158   );
    159 
    160 BOOLEAN
    161 EFIAPI
    162 udciClearStallEp (
    163   VOID            *pUdciHndl,
    164   USB_DEV_EP_INFO *pEpInfo
    165   );
    166 
    167 
    168 BOOLEAN
    169 EFIAPI
    170 udciEp0TxStatus (
    171   VOID            *pUdciHndl
    172   );
    173 
    174 
    175 BOOLEAN
    176 EFIAPI
    177 udciEpTxData (
    178   VOID        *pUdciHndl,
    179   USBD_IO_REQ *pIoReq
    180   );
    181 
    182 BOOLEAN
    183 EFIAPI
    184 udciEpRxData (
    185   VOID        *pUdciHndl,
    186   USBD_IO_REQ *pIoReq
    187   );
    188 
    189 BOOLEAN
    190 EFIAPI
    191 udciRegisterCallbacks (
    192   VOID            *pUdciHndl
    193   );
    194 
    195 #endif
    196