STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Data Structures | Macros | Enumerations | Functions
stm32f7xx_ll_usb.h File Reference

Header file of USB Core HAL module. More...

#include "stm32f7xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  USB_OTG_CfgTypeDef
 PCD Initialization Structure definition. More...
 
struct  USB_OTG_EPTypeDef
 
struct  USB_OTG_HCTypeDef
 

Macros

#define USB_OTG_MODE_DEVICE   0U
 
#define USB_OTG_MODE_HOST   1U
 
#define USB_OTG_MODE_DRD   2U
 
#define USB_OTG_SPEED_HIGH   0U
 
#define USB_OTG_SPEED_HIGH_IN_FULL   1U
 
#define USB_OTG_SPEED_LOW   2U
 
#define USB_OTG_SPEED_FULL   3U
 
#define USB_OTG_ULPI_PHY   1U
 
#define USB_OTG_EMBEDDED_PHY   2U
 
#define USB_OTG_HS_MAX_PACKET_SIZE   512U
 
#define USB_OTG_FS_MAX_PACKET_SIZE   64U
 
#define USB_OTG_MAX_EP0_SIZE   64U
 
#define DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ   (0 << 1)
 
#define DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ   (1 << 1)
 
#define DSTS_ENUMSPD_LS_PHY_6MHZ   (2 << 1)
 
#define DSTS_ENUMSPD_FS_PHY_48MHZ   (3 << 1)
 
#define DCFG_FRAME_INTERVAL_80   0U
 
#define DCFG_FRAME_INTERVAL_85   1U
 
#define DCFG_FRAME_INTERVAL_90   2U
 
#define DCFG_FRAME_INTERVAL_95   3U
 
#define DEP0CTL_MPS_64   0U
 
#define DEP0CTL_MPS_32   1U
 
#define DEP0CTL_MPS_16   2U
 
#define DEP0CTL_MPS_8   3U
 
#define EP_SPEED_LOW   0U
 
#define EP_SPEED_FULL   1U
 
#define EP_SPEED_HIGH   2U
 
#define EP_TYPE_CTRL   0U
 
#define EP_TYPE_ISOC   1U
 
#define EP_TYPE_BULK   2U
 
#define EP_TYPE_INTR   3U
 
#define EP_TYPE_MSK   3U
 
#define STS_GOUT_NAK   1U
 
#define STS_DATA_UPDT   2U
 
#define STS_XFER_COMP   3U
 
#define STS_SETUP_COMP   4U
 
#define STS_SETUP_UPDT   6U
 
#define HCFG_30_60_MHZ   0U
 
#define HCFG_48_MHZ   1U
 
#define HCFG_6_MHZ   2U
 
#define HPRT0_PRTSPD_HIGH_SPEED   0U
 
#define HPRT0_PRTSPD_FULL_SPEED   1U
 
#define HPRT0_PRTSPD_LOW_SPEED   2U
 
#define HCCHAR_CTRL   0U
 
#define HCCHAR_ISOC   1U
 
#define HCCHAR_BULK   2U
 
#define HCCHAR_INTR   3U
 
#define HC_PID_DATA0   0U
 
#define HC_PID_DATA2   1U
 
#define HC_PID_DATA1   2U
 
#define HC_PID_SETUP   3U
 
#define GRXSTS_PKTSTS_IN   2U
 
#define GRXSTS_PKTSTS_IN_XFER_COMP   3U
 
#define GRXSTS_PKTSTS_DATA_TOGGLE_ERR   5U
 
#define GRXSTS_PKTSTS_CH_HALTED   7U
 
#define USBx_PCGCCTL   *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_PCGCCTL_BASE)
 
#define USBx_HPRT0   *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_HOST_PORT_BASE)
 
#define USBx_DEVICE   ((USB_OTG_DeviceTypeDef *)((uint32_t )USBx + USB_OTG_DEVICE_BASE))
 
#define USBx_INEP(i)    ((USB_OTG_INEndpointTypeDef *)((uint32_t)USBx + USB_OTG_IN_ENDPOINT_BASE + (i)*USB_OTG_EP_REG_SIZE))
 
#define USBx_OUTEP(i)    ((USB_OTG_OUTEndpointTypeDef *)((uint32_t)USBx + USB_OTG_OUT_ENDPOINT_BASE + (i)*USB_OTG_EP_REG_SIZE))
 
#define USBx_DFIFO(i)    *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_FIFO_BASE + (i) * USB_OTG_FIFO_SIZE)
 
#define USBx_HOST   ((USB_OTG_HostTypeDef *)((uint32_t )USBx + USB_OTG_HOST_BASE))
 
#define USBx_HC(i)    ((USB_OTG_HostChannelTypeDef *)((uint32_t)USBx + USB_OTG_HOST_CHANNEL_BASE + (i)*USB_OTG_HOST_CHANNEL_SIZE))
 
#define USB_MASK_INTERRUPT(__INSTANCE__, __INTERRUPT__)    ((__INSTANCE__)->GINTMSK &= ~(__INTERRUPT__))
 
#define USB_UNMASK_INTERRUPT(__INSTANCE__, __INTERRUPT__)    ((__INSTANCE__)->GINTMSK |= (__INTERRUPT__))
 
#define CLEAR_IN_EP_INTR(__EPNUM__, __INTERRUPT__)    (USBx_INEP(__EPNUM__)->DIEPINT = (__INTERRUPT__))
 
#define CLEAR_OUT_EP_INTR(__EPNUM__, __INTERRUPT__)    (USBx_OUTEP(__EPNUM__)->DOEPINT = (__INTERRUPT__))
 

Enumerations

enum  USB_OTG_ModeTypeDef { USB_OTG_DEVICE_MODE = 0U, USB_OTG_HOST_MODE = 1U, USB_OTG_DRD_MODE = 2U }
 USB Mode definition. More...
 
enum  USB_OTG_URBStateTypeDef {
  URB_IDLE = 0U, URB_DONE, URB_NOTREADY, URB_NYET,
  URB_ERROR, URB_STALL
}
 URB States definition. More...
 
enum  USB_OTG_HCStateTypeDef {
  HC_IDLE = 0U, HC_XFRC, HC_HALTED, HC_NAK,
  HC_NYET, HC_STALL, HC_XACTERR, HC_BBLERR,
  HC_DATATGLERR
}
 Host channel States definition. More...
 

Functions

HAL_StatusTypeDef USB_CoreInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef Init)
 
HAL_StatusTypeDef USB_DevInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef Init)
 
HAL_StatusTypeDef USB_EnableGlobalInt (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_DisableGlobalInt (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_SetCurrentMode (USB_OTG_GlobalTypeDef *USBx, USB_OTG_ModeTypeDef mode)
 
HAL_StatusTypeDef USB_SetDevSpeed (USB_OTG_GlobalTypeDef *USBx, uint8_t speed)
 
HAL_StatusTypeDef USB_FlushRxFifo (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_FlushTxFifo (USB_OTG_GlobalTypeDef *USBx, uint32_t num)
 
HAL_StatusTypeDef USB_ActivateEndpoint (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_DeactivateEndpoint (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_ActivateDedicatedEndpoint (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_EPStartXfer (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma)
 
HAL_StatusTypeDef USB_EP0StartXfer (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma)
 
HAL_StatusTypeDef USB_WritePacket (USB_OTG_GlobalTypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len, uint8_t dma)
 
void * USB_ReadPacket (USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len)
 
HAL_StatusTypeDef USB_EPSetStall (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_EPClearStall (USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 
HAL_StatusTypeDef USB_SetDevAddress (USB_OTG_GlobalTypeDef *USBx, uint8_t address)
 
HAL_StatusTypeDef USB_DevConnect (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_DevDisconnect (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_StopDevice (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_ActivateSetup (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_EP0_OutStart (USB_OTG_GlobalTypeDef *USBx, uint8_t dma, uint8_t *psetup)
 
uint8_t USB_GetDevSpeed (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_GetMode (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_ReadInterrupts (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_ReadDevAllOutEpInterrupt (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_ReadDevOutEPInterrupt (USB_OTG_GlobalTypeDef *USBx, uint8_t epnum)
 
uint32_t USB_ReadDevAllInEpInterrupt (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_ReadDevInEPInterrupt (USB_OTG_GlobalTypeDef *USBx, uint8_t epnum)
 
void USB_ClearInterrupts (USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt)
 
HAL_StatusTypeDef USB_HostInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
 
HAL_StatusTypeDef USB_InitFSLSPClkSel (USB_OTG_GlobalTypeDef *USBx, uint8_t freq)
 
HAL_StatusTypeDef USB_ResetPort (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_DriveVbus (USB_OTG_GlobalTypeDef *USBx, uint8_t state)
 
uint32_t USB_GetHostSpeed (USB_OTG_GlobalTypeDef *USBx)
 
uint32_t USB_GetCurrentFrame (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_HC_Init (USB_OTG_GlobalTypeDef *USBx, uint8_t ch_num, uint8_t epnum, uint8_t dev_address, uint8_t speed, uint8_t ep_type, uint16_t mps)
 
HAL_StatusTypeDef USB_HC_StartXfer (USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma)
 
uint32_t USB_HC_ReadInterrupt (USB_OTG_GlobalTypeDef *USBx)
 
HAL_StatusTypeDef USB_HC_Halt (USB_OTG_GlobalTypeDef *USBx, uint8_t hc_num)
 
HAL_StatusTypeDef USB_DoPing (USB_OTG_GlobalTypeDef *USBx, uint8_t ch_num)
 
HAL_StatusTypeDef USB_StopHost (USB_OTG_GlobalTypeDef *USBx)
 

Detailed Description

Header file of USB Core HAL module.

Author
MCD Application Team
Version
V1.1.0
Date
22-April-2016
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32f7xx_ll_usb.h.