discoverpixy
Classes | Macros | Typedefs | Enumerations | Functions
usb_core.h File Reference

Header of the Core Layer. More...

#include "usb_conf.h"
#include "usb_regs.h"
#include "usb_defines.h"
Include dependency graph for usb_core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  USB_OTG_hc
 
struct  USB_OTG_ep
 
struct  USB_OTG_core_cfg
 
struct  usb_setup_req
 
struct  _Device_TypeDef
 
struct  USB_OTG_hPort
 
struct  _Device_cb
 
struct  _USBD_USR_PROP
 
struct  _DCD
 
struct  _HCD
 
struct  _OTG
 
struct  USB_OTG_handle
 

Macros

#define USB_OTG_EP0_IDLE   0
 
#define USB_OTG_EP0_SETUP   1
 
#define USB_OTG_EP0_DATA_IN   2
 
#define USB_OTG_EP0_DATA_OUT   3
 
#define USB_OTG_EP0_STATUS_IN   4
 
#define USB_OTG_EP0_STATUS_OUT   5
 
#define USB_OTG_EP0_STALL   6
 
#define USB_OTG_EP_TX_DIS   0x0000
 
#define USB_OTG_EP_TX_STALL   0x0010
 
#define USB_OTG_EP_TX_NAK   0x0020
 
#define USB_OTG_EP_TX_VALID   0x0030
 
#define USB_OTG_EP_RX_DIS   0x0000
 
#define USB_OTG_EP_RX_STALL   0x1000
 
#define USB_OTG_EP_RX_NAK   0x2000
 
#define USB_OTG_EP_RX_VALID   0x3000
 
#define MAX_DATA_LENGTH   0xFF
 

Typedefs

typedef struct USB_OTG_hc USB_OTG_HC
 
typedef struct USB_OTG_hcPUSB_OTG_HC
 
typedef struct USB_OTG_ep USB_OTG_EP
 
typedef struct USB_OTG_epPUSB_OTG_EP
 
typedef struct USB_OTG_core_cfg USB_OTG_CORE_CFGS
 
typedef struct USB_OTG_core_cfgPUSB_OTG_CORE_CFGS
 
typedef struct usb_setup_req USB_SETUP_REQ
 
typedef struct _Device_TypeDef USBD_DEVICE
 
typedef struct _Device_TypeDefpUSBD_DEVICE
 
typedef struct USB_OTG_hPort USB_OTG_hPort_TypeDef
 
typedef struct _Device_cb USBD_Class_cb_TypeDef
 
typedef struct _USBD_USR_PROP USBD_Usr_cb_TypeDef
 
typedef struct _DCD DCD_DEV
 
typedef struct _DCDDCD_PDEV
 
typedef struct _HCD HCD_DEV
 
typedef struct _HCDUSB_OTG_USBH_PDEV
 
typedef struct _OTG OTG_DEV
 
typedef struct _OTGUSB_OTG_USBO_PDEV
 
typedef struct USB_OTG_handle USB_OTG_CORE_HANDLE
 
typedef struct USB_OTG_handlePUSB_OTG_CORE_HANDLE
 

Enumerations

enum  USB_OTG_STS { USB_OTG_OK = 0, USB_OTG_FAIL }
 
enum  HC_STATUS {
  HC_IDLE = 0, HC_XFRC, HC_HALTED, HC_NAK,
  HC_NYET, HC_STALL, HC_XACTERR, HC_BBLERR,
  HC_DATATGLERR
}
 
enum  URB_STATE {
  URB_IDLE = 0, URB_DONE, URB_NOTREADY, URB_ERROR,
  URB_STALL
}
 
enum  CTRL_STATUS {
  CTRL_START = 0, CTRL_XFRC, CTRL_HALTED, CTRL_NAK,
  CTRL_STALL, CTRL_XACTERR, CTRL_BBLERR, CTRL_DATATGLERR,
  CTRL_FAIL
}
 

Functions

USB_OTG_STS USB_OTG_CoreInit (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_CoreInit Initializes the USB_OTG controller registers and prepares the core device mode or host mode operation. More...
 
USB_OTG_STS USB_OTG_SelectCore (USB_OTG_CORE_HANDLE *pdev, USB_OTG_CORE_ID_TypeDef coreID)
 USB_OTG_SelectCore Initialize core registers address. More...
 
USB_OTG_STS USB_OTG_EnableGlobalInt (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_EnableGlobalInt Enables the controller's Global Int in the AHB Config reg. More...
 
USB_OTG_STS USB_OTG_DisableGlobalInt (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_DisableGlobalInt Enables the controller's Global Int in the AHB Config reg. More...
 
void * USB_OTG_ReadPacket (USB_OTG_CORE_HANDLE *pdev, uint8_t *dest, uint16_t len)
 USB_OTG_ReadPacket : Reads a packet from the Rx FIFO. More...
 
USB_OTG_STS USB_OTG_WritePacket (USB_OTG_CORE_HANDLE *pdev, uint8_t *src, uint8_t ch_ep_num, uint16_t len)
 USB_OTG_WritePacket : Writes a packet into the Tx FIFO associated with the EP. More...
 
USB_OTG_STS USB_OTG_FlushTxFifo (USB_OTG_CORE_HANDLE *pdev, uint32_t num)
 USB_OTG_FlushTxFifo : Flush a Tx FIFO. More...
 
USB_OTG_STS USB_OTG_FlushRxFifo (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_FlushRxFifo : Flush a Rx FIFO. More...
 
uint32_t USB_OTG_ReadCoreItr (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_ReadCoreItr : returns the Core Interrupt register. More...
 
uint32_t USB_OTG_ReadOtgItr (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_ReadOtgItr : returns the USB_OTG Interrupt register. More...
 
uint8_t USB_OTG_IsHostMode (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_IsHostMode : Check if it is host mode. More...
 
uint8_t USB_OTG_IsDeviceMode (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_IsDeviceMode : Check if it is device mode. More...
 
uint32_t USB_OTG_GetMode (USB_OTG_CORE_HANDLE *pdev)
 USB_OTG_GetMode : Get current mode. More...
 
USB_OTG_STS USB_OTG_PhyInit (USB_OTG_CORE_HANDLE *pdev)
 
USB_OTG_STS USB_OTG_SetCurrentMode (USB_OTG_CORE_HANDLE *pdev, uint8_t mode)
 USB_OTG_SetCurrentMode : Set ID line. More...
 

Detailed Description

Header of the Core Layer.

Author
MCD Application Team
Version
V2.0.0
Date
22-July-2011
Attention

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

© COPYRIGHT 2011 STMicroelectronics