ModusToolbox USBFXStack
Data Structures

General Description

Data Structures

struct  cy_stc_usb_cal_msg_t
 Structure used by the HS and SS CAL drivers to send messages to the USBD stack layer. More...
 
struct  cy_stc_usbd_app_msg_t
 Structure used by the USBD stack to send messages to the application layer. More...
 
struct  cy_stc_usb_setup_req_t
 Fields which are part of the 8 byte data associated with the control request received on endpoint 0. More...
 
struct  cy_stc_usb_endp_config_t
 Structure which encapsulates all properties of USB endpoints on the device. More...
 
struct  cy_stc_usb_set_dscr_ptrs_t
 Application registers required descriptors through given API and descriptors will be stored in this data structure. More...
 
struct  cy_stc_usb_endp_info_t
 Endpoint related configuration and status information is stored in this structure. More...
 
struct  cy_stc_usb_usbd_ctxt_t
 Structure containing all information managed by the USBD device stack. More...
 
struct  cy_stc_usbd_devstats_t
 
struct  cy_stc_usb_cal_ctxt_t
 Context structure which holds all information about the USBHS controller abstraction layer or driver. More...
 
struct  cy_stc_usbss_cal_ctxt_t
 Structure which encapsulates all information about the USB 3.2 Controller Adaptation Layer (CAL) or driver for FX3G2. More...
 

Data Structure Documentation

◆ cy_stc_usb_cal_msg_t

struct cy_stc_usb_cal_msg_t
Data Fields
cy_en_usb_cal_msg_type_t type Type of message.
uint32_t data[2] Data associated with the message.

◆ cy_stc_usbd_app_msg_t

struct cy_stc_usbd_app_msg_t
Data Fields
uint32_t type Type of message.
uint32_t data[2] Data associated with the message.

◆ cy_stc_usb_setup_req_t

struct cy_stc_usb_setup_req_t
Data Fields
uint8_t bmRequest bmRequestType field from the USB specification.
uint8_t bRequest bRequest field from the USB specification.
uint16_t wValue wValue field from the USB specification.
uint16_t wIndex wIndex field from the USB specification.
uint16_t wLength wLength field from the USB specification.

◆ cy_stc_usb_endp_config_t

struct cy_stc_usb_endp_config_t
Data Fields
cy_en_usb_endp_type_t endpType Type of endpoint.
cy_en_usb_endp_dir_t endpDirection Endpoint direction.
bool valid Whether endpoint is to be enabled or disabled.
uint8_t isoPkts MULT setting for periodic endpoints.
uint8_t interval Service interval for periodic endpoints.
bool allowNakTillDmaRdy Whether OUT EP should NAK when DMA is not ready.

Only HS/FS.

uint32_t endpNumber Endpoint index: 0 to 15.
uint32_t maxPktSize Maximum packet size in bytes.
uint32_t burstSize Maximum burst setting: 1 to 16.
uint32_t streamID Number of streams supported on BULK endpoint.

◆ cy_stc_usb_set_dscr_ptrs_t

struct cy_stc_usb_set_dscr_ptrs_t
Data Fields
uint8_t * pUsbDevDscr Pointer to USB 2.x device descriptor.
uint8_t * pUsbSsDevDscr Pointer to USB 3.x device descriptor.
uint8_t * pUsbDevQualDscr Pointer to device qualifier descriptor.
uint8_t * pUsbCfgDscr Pointer to active configuration descriptor.
uint8_t * pUsbOtherSpeedCfgDscr Pointer to other speed configuration descriptor.
uint8_t * pUsbFsCfgDscr Pointer to full-speed configuration descriptor.
uint8_t * pUsbHsCfgDscr Pointer to high-speed configuration descriptor.
uint8_t * pUsbSsCfgDscr Pointer to USB 3.x configuration descriptor.
uint8_t * pUsbStringDescr[CY_USBD_MAX_STR_DSCR_INDX+1] Pointers to string descriptors.
uint8_t * pUsbSsBosDscr Pointer to USB 3.x BOS descriptor.
uint8_t * pUsbHsBosDscr Pointer to USB 2.x BOS descriptor.

◆ cy_stc_usb_endp_info_t

struct cy_stc_usb_endp_info_t
Data Fields
bool valid Whether endpoint is valid (has been enabled)
bool mapped Whether endpoint has been mapped to hardware resource.
bool halt Whether endpoint has been stalled.
bool allowNakTillDmaRdy Whether OUT endpoint should NAK transfers when DMA is not ready.
cy_en_usb_endp_type_t endpType Type of endpoint.
uint32_t maxPktSize Maximum packet size.
uint32_t mult Mult (number of bursts per interval) for isochronous EPs.
uint32_t burstSize Burst size in number of packets.
uint32_t streamID Active stream number for USB 3.x bulk endpoints.
uint16_t retryBufOffset Offset to retry buffer region allocated for the endpoint.

◆ cy_stc_usb_usbd_ctxt_t

struct cy_stc_usb_usbd_ctxt_t
Data Fields
cy_en_usb_device_state_t devState Current device state.
cy_en_usb_device_state_t prevDevState Previous device state.
cy_en_usb_speed_t devSpeed Current device speed.
cy_en_usb_speed_t startSsDevSpeed Desired USB 3.x connection speed.
cy_en_usb_speed_t startHsDevSpeed Desired USB 2.x connection speed.
cy_en_usb_enum_method_t enumMethod Method of handling control requests.
cy_en_usb_endp0_state_t endp0State State of control endpoint.
cy_stc_usb_set_dscr_ptrs_t dscrs USB descriptors registered with the stack.
uint8_t * pActiveCfgDscr Pointer to the active configuration descriptor.
uint8_t devAddr Current USB device address.
uint8_t activeCfgNum Active configuration index.
uint8_t numOfIntfInActiveCfg Number of interfaces in the active configuration.
uint32_t intfRemoteWakeEnabled Whether function wake is enabled.
uint16_t altSettings[CY_USB_MAX_INTF] Active alternate setting for each interface.
uint16_t numOfAltSettings[CY_USB_MAX_INTF] Number of alternate settings in each interface.
uint8_t selfPowered Whether device is self powered.
uint8_t remoteWakeupAbility Whether remote wake is supported.
uint8_t remoteWakeupEnable Whether remote wake is enabled.
uint8_t usbDeviceStat Device status to be sent in response to GET_STATUS.
cy_stc_usb_setup_req_t setupReq Active control request information.
bool setupReqActive Whether any control request is active.
bool ep0SendDone Whether any EP0-IN request has been responded to.
bool lpmDisabled Whether application has disabled LPM entry.
bool lpmEnablePending Whether LPM re-enable is pending.
cy_stc_usb_endp_info_t endpInfoIn[CY_USB_MAX_ENDP_NUMBER] Status of IN endpoints.
cy_stc_usb_endp_info_t endpInfoOut[CY_USB_MAX_ENDP_NUMBER] Status of OUT endpoints.
cy_stc_usbd_dma_descr_t dmaCh0InXferDscr0 DMA descriptor used for EP0-OUT transfer.
cy_stc_usbd_dma_descr_t dmaCh0InXferDscr1 DMA descriptor used for EP0-OUT transfer.
cy_stc_usbd_dma_descr_t dmaCh0InXferDscr2 DMA descriptor used for EP0-OUT transfer.
cy_stc_usbd_dma_descr_t dmaCh1OutXferDscr0 DMA descriptor used for EP0-IN transfer.
cy_stc_usbd_dma_descr_t dmaCh1OutXferDscr1 DMA descriptor used for EP0-IN transfer.
cy_stc_usbd_dma_descr_t dmaCh1OutXferDscr2 DMA descriptor used for EP0-IN transfer.
uint32_t channel0 DMA channel index used for EP0-OUT transfer.
uint32_t channel1 DMA channel index used for EP0-IN transfer.
cy_stc_hbdma_mgr_context_t * pHBDmaMgr High BandWidth DMA manager context pointer.
cy_stc_hbdma_channel_t inEp0DmaUsb3Ch DMA channel used for EP0-IN transfers.
cy_stc_hbdma_channel_t outEp0DmaUsb3Ch DMA channel used for EP0-OUT transfers.
uint32_t * inEp0ScratchBuffer Temporary buffer used to copy data sent on EP0.
cy_usb_usbd_callback_t busResetCb Bus reset callback function.
cy_usb_usbd_callback_t busResetDoneCb Reset done callback function.
cy_usb_usbd_callback_t busSpeedCb FS to HS speed change callback function.
cy_usb_usbd_callback_t setupCb Control request callback function.
cy_usb_usbd_callback_t suspendCb Suspend entry callback function.
cy_usb_usbd_callback_t resumeCb Suspend exit callback function.
cy_usb_usbd_callback_t setConfigCb SetConfig callback function.
cy_usb_usbd_callback_t setIntfCb SetInterface callback function.
cy_usb_usbd_callback_t statusStageComplCb Control request ACK callback function.
cy_usb_usbd_callback_t l1SleepCb USB 2.x L1 entry callback function.
cy_usb_usbd_callback_t l1ResumeCb USB 2.x L1 exit callback function.
cy_usb_usbd_callback_t zlpCb USB 2.x ZLP transfer callback function.
cy_usb_usbd_callback_t slpCb USB 2.x SLP transfer callback function.
cy_usb_usbd_callback_t doneCb USB 2.x transfer done callback function.
cy_usb_usbd_callback_t DisconnectCb USB disconnect callback function.
cy_usb_usbd_callback_t setAddrCb SetAddress callback function.
cy_usb_usbd_callback_t ep0RecvCb Callback for EP0 OUT transfer completion.
cy_usb_usbd_callback_t debugSlpCb USB 2.x Debug endpoint SLP transfer callback function.
cy_usb_usbd_callback_t itpCb Callback for SOF/ITP interrupt.
cy_usb_usbd_callback_t linkFailCb Callback for USB 3.x link bring-up failure.
DMAC_Type * pCpuDmacBase Pointer to DMAC register structure.
cy_stc_usb_cal_ctxt_t * pCalCtxt Pointer to USBHS CAL driver context structure.
cy_stc_usbss_cal_ctxt_t * pSsCalCtxt Pointer to USBSS CAL driver context structure.
void * pAppCtxt Application context to be passed to callbacks.
uint32_t nextTaskTick The time tick at which next USBD task should be run.
uint32_t otherSpeedCfgDscrBuf[128U] Copy of other speed configuration descriptor.
bool EnumerationDone Whether enumeration is complete.
bool strDscrAvailable Whether any string descriptors have been registered.
uint8_t ssRetryBufStatus[8] Bitmap used for USB 3.x retry buffer allocation.
bool disableHsOnComplianceEntry Unused configuration flag: reserved.
uint8_t termDetectCount Number of USB 3.x connection attempts made.
bool isHsEnabled Whether USBHS block is enabled.
uint32_t * pUsbEvtBuf Memory buffer used to save USB driver and stack status.
uint16_t usbEvtLogSize Size of debug memory buffer in DWORDS.
uint16_t usbEvtLogIdx Next debug memory buffer index.
bool handleRxFailure Enable work-around for intermittent Gen2 training failure.
uint8_t gen2_lnk_retry_limit Number of Gen2 re-connect attempts to be made.
uint8_t gen2_lnk_retry_cnt Number of Gen2 re-connect attempts made so far.
uint8_t * pEp0ReceiveBuffer Buffer into which EP0 OUT data should be received.
uint16_t ep0ExpRcvSize Size of expected transfer on EP0-OUT.
uint8_t debugOutEp Debug OUT Endpoint Number.
bool ssOnBusResetDisable Whether SS connect on USB 2.x Bus Reset is disabled.
bool underrunWarningDone Whether underrun warning has been issued.
bool usb2FallbackDisable Whether fallback to USB 2.x is disabled.
bool isCtrlEpStalled Whether the USB-SS control endpoint has been stalled.

◆ cy_stc_usbd_devstats_t

struct cy_stc_usbd_devstats_t
Data Fields
uint32_t numRecoveryEntries Number of times link entered Recovery state.

◆ cy_stc_usb_cal_ctxt_t

struct cy_stc_usb_cal_ctxt_t
Data Fields
USBHSDEV_Type * pCalBase Pointer to the USBHSDEV control registers.
USBHSPHY_Type * pPhyBase Pointer to the USBHSPHY control registers.
void * pUsbdCtxt Pointer to the USBD stack context structure.

Used for sending interrupt callbacks only.

void * queueCtxt Message queue context pointer: Not used.
cy_usb_cal_msg_callback_t msgCb Callback function pointer used to notify the USBD stack.
cy_en_usb2_ref_clk_src_t clkSrcType Clock source type - ECO or external clock.
bool enableSOFInterrupt Whether SOF interrupt is to be enabled.

◆ cy_stc_usbss_cal_ctxt_t

struct cy_stc_usbss_cal_ctxt_t
Data Fields
USB32DEV_Type * regBase USB32DEV IP base pointer.
USB32DEV_MAIN_Type * pMainBase Pointer to USB32DEV_MAIN register section.
USB32DEV_PROT_Type * pProtBase Pointer to USB32DEV_PROT register section.
USB32DEV_LNK_Type * pLinkBase Pointer to USB32DEV_LINK register section.
USB32DEV_EPM_Type * pEpmBase Pointer to USB32DEV_EPM register section.
void * pUsbdCtxt Pointer to USBD stack context.

Used while sending events.

cy_usb_cal_msg_callback_t msgCb Event callback function registered by USBD stack.
bool sofEvtEnable Whether ITP(SOF) interrupt is to be left enabled.
bool forceLPMAccept Whether host has asked us to always accept U1/U2 entry.
cy_en_usbss_cal_lpm_cfg_t lpmConfig Whether Low Power Mode transitions are disabled.
bool pollingCfgDone Whether link went through Polling.Configuration.
bool pollingLFPSDone Whether link went through Polling.LFPS.
bool linkSuspended Whether the USB3 link has been suspended (in U3)
bool inCompState Whether LTSSM is in compliance state.
uint8_t currCompPattern Current compliance pattern being sent.
uint8_t gen2_ebdepth Elastic Buffer half-depth to be used in Gen2 connection.
uint32_t lastLinkState The last logged link state.
uint32_t prevLinkState The last valid link state.
uint32_t ptmStatus PTM STATUS response for GET_STATUS command.
uint16_t isochDelay Isoch delay retrieved from host via SET_ISOC request.
uint8_t activePhyIdx USB-SS PHY index used in current connection.
bool gen2Enabled Whether USB connection is being run in Gen2 mode.
bool dualLaneEnabled Whether dual USB lanes are enabled.
bool rxAdaptationDone[FX3G2_MAX_NUM_USB_PHY] Whether receiver adaptation has been completed since last check.
uint8_t phyLutIndex[FX3G2_MAX_NUM_USB_PHY] The chosen PHY LUT index.
bool connectRcvd Whether connect interrupt has been received.
bool uxExitActive Whether Ux exit is ongoing.
bool lpmWarningDone Whether LPM enable related warning has been printed already.
uint8_t u2TimeoutVal U2 inactivity timeout value.
bool phyDisabled Whether PHY has been disabled as part of U3 processing.
bool deepSleepEntered Whether deep sleep was entered.
bool devLpmExitDisabled Whether device initiated exit from LPM states is disabled.
cy_en_hbdma_clk_freq_t desiredDmaFreq Desired DMA clock frequency.
cy_en_hbdma_clk_freq_t currentDmaFreq Actual DMA clock frequency.
uint8_t phyResult[FX3G2_MAX_NUM_USB_PHY][16] CTLE equalization algorithm error code for each setting.
uint32_t phyEyeHeight[FX3G2_MAX_NUM_USB_PHY][16] Eye height recorded for each of the equalizer settings.
uint32_t txAfeSettings[FX3G2_MAX_NUM_USB_PHY][8] Configuration for the PHY transmitter slices.
uint32_t lbadCounter Count of LBAD interrupts received.
uint32_t numRetriesInEP[CY_USB_MAX_ENDP_NUMBER]
uint8_t numPhyInitialized Count of PHY instances initialized.
uint8_t lgoodTimeoutCount Count of LGOOD timeout events.
bool gen1x1FallbackEn Enable fallback to Gen1x1 if the Host/Hub does not support fallback to x1 speeds.
bool compExitDone Whether Compliance state has been exited.
uint16_t lpmExitLfpsDelay Expected LPM exit LFPS TX duration.
uint16_t activeLutMask Active CTLE LUT mask value.
uint32_t compExitTS Time stamp when compliance state was exited.
uint32_t numRecoveryEntries Number of times link entered Recovery state.
bool stopClkOnEpResetEnable Enable stopping clock during EP reset.
cy_en_usb_config_lane_t usbConfigLane USB configuration lane selection.
bool gen1SpeedForced Driver has forced Gen1 speed in compliance.
bool inGen1DualMode Whether link was up in Gen1x2 mode.
cy_en_usbss_delay_event_t delayEventMask Event to handle after timer expiry.
bool usbTxTestMode Whether device is being used for USB transmitter testing.
uint32_t usbTxCursorPts[3] USB transmitter equalization cursors.
uint16_t usbTxAmplitude USB transmitter differential amplitude.
uint16_t gen1x1LutMask Active CTLE LUT mask value for Gen1x1 mode.
uint16_t gen1x2LutMask Active CTLE LUT mask value for Gen1x2 mode.
uint16_t gen2x1LutMask Active CTLE LUT mask value for Gen2x1 mode.
uint16_t gen2x2LutMask Active CTLE LUT mask value for Gen2x2 mode.
uint32_t ctleLutArrayGen2[LUT_WIDTH] CTLE LUT array for Gen2 speeds.