Ultibo API
C/C++ API for Ultibo Core
Loading...
Searching...
No Matches
_DWC_USB_HOST Struct Reference

#include <dwcotg.h>

Data Fields

USB_HOST host
SPIN_HANDLE lock
 Host lock (Differs from lock in Host portion) (Spin lock due to use by interrupt handler).
uint32_t irq
 The IRQ assigned to this host.
uint32_t powerid
 The Power ID required to power on this host.
DWC_REGISTERSregisters
 Memory mapped registers of the Synopsys DesignWare Hi-Speed USB 2.0 OTG Controller.
uint32_t channelcount
 The number of channels available on this host.
THREAD_HANDLE schedulerthread
 Thread ID of USB request scheduler thread.
THREAD_HANDLE completionthread
 Thread ID of USB request completion thread.
MAILSLOT_HANDLE schedulermailslot
 USB requests that have been submitted to the Host but not yet started on a channel.
void * dmabuffers [DWC_MAX_CHANNELS]
 DMA buffers allocated for each hardware channel (4 byte aligned / 1 per channel).
USB_REQUESTchannelrequests [DWC_MAX_CHANNELS]
 Current USB request pending on each hardware channel (or nil of no request is pending).
uint32_t channelfreemask
 Bitmap of channel free (1) or used (0) status.
MUTEX_HANDLE channelfreelock
 Lock for access to ChannelFreeMask.
SEMAPHORE_HANDLE channelfreewait
 Number of free channels in ChannelFreeMask.
uint32_t startofframemask
 Bitmap of channels waiting for Start of Frame.
SPIN_HANDLE startofframelock
 Lock for access to StartOfFrameMask (Spin lock due to use by interrupt handler).
uint32_t lastframenumber
 Frame Number at the last Start Of Frame interrupt.
USB_HUB_STATUShubstatus
 Hub status for the root hub.
USB_PORT_STATUSportstatus
 Host port status for the root hub (Obtained from port interrupt due to status change).
USB_DEVICE_STATUSdevicestatus
 Device status for the root hub.
USB_HUB_DESCRIPTORhubdescriptor
 Hub descriptor for the root hub.
USB_DEVICE_DESCRIPTORdevicedescriptor
 Device descriptor for the root hub.
DWC_ROOTHUB_CONFIGURATIONhubconfiguration
 Configuration, Interface and Endpoint descriptors for the root hub.
USB_STRING_DESCRIPTORhubstringtable [3]
 String table for Language, Product and Manufacturer strings for the root hub.
USB_STRING_DESCRIPTORhubproductstring
 Product identifier string for the root hub.
USB_STRING_DESCRIPTORhublanguagestring
 Language identifier string for the root hub.
USB_STRING_DESCRIPTORhubmanufacturerstring
 Manufacturer identifier string for the root hub.
USB_REQUESThubstatuschange
 Status change request to the root hub interrupt endpoint (nil if no request is pending).
uint32_t interruptcount
 Number of interrupt requests received by the host controller.
uint32_t portinterruptcount
 Number of port interrupts received by the host controller.
uint32_t channelinterruptcount
 Number of channel interrupts received by the host controller.
uint32_t startofframeinterruptcount
 Number of start of frame interrupts received by the host controller.
uint32_t disconnectinterruptcount
 Number of disconnect interrupts received by the host controller.
uint32_t resubmitcount
 Number of requests resubmitted for later retry.
uint32_t startofframecount
 Number of requests queued to wait for start of frame.
uint32_t dmabufferreadcount
 Number of IN requests that required a DMA buffer copy.
uint32_t dmabufferwritecount
 Number of OUT requests that required a DMA buffer copy.
uint32_t nakresponsecount
 Number of NAK responses received by the host controller.
uint32_t nyetresponsecount
 Number of NYET responses received by the host controller.
uint32_t stallresponsecount
 Number of Stall responses received by the host controller.
uint32_t requestcancelcount
 Number of requests Cancelled by the host controller.
uint32_t ahberrorcount
 Number of AHB errors received by the host controller.
uint32_t transactionerrorcount
 Number of transaction errors received by the host controller.
uint32_t babbleerrorcount
 Number of babble errors received by the host controller.
uint32_t excesstransactioncount
 Number of excess transaction errors received by the host controller.
uint32_t framelistrollovercount
 Number of frame list rollover errors received by the host controller.
uint32_t datatoggleerrorcount
 Number of data toggle errors received by the host controller.
uint32_t frameoverruncount
 Number of frame overrun errors received by the host controller.
uint32_t shortattemptcount
 Number of short attempts where transfer size was less than the request size.
uint32_t startsplitcount
 Number of start split transactions.
uint32_t completesplitcount
 Number of complete split transactions.
uint32_t completesplitrestartcount
 Number of times a complete split transaction has been restarted at start split due to errors.
uint32_t transferrestartcount
 Number of times a transfer is restarted to continue or retry the transfer.
uint32_t transactionrestartcount
 Number of times a transaction is restarted to continue or complete the transfer.
uint32_t nochannelcompletedcount
 Number of times the channel completed interrupt bit was not set when a request completed.
uint32_t nopacketstransferredcount
 Number of times no packets were transferred but no error occured when a channel halted.

Field Documentation

◆ host

USB_HOST host

◆ lock

Host lock (Differs from lock in Host portion) (Spin lock due to use by interrupt handler).

◆ irq

uint32_t irq

The IRQ assigned to this host.

◆ powerid

uint32_t powerid

The Power ID required to power on this host.

◆ registers

DWC_REGISTERS* registers

Memory mapped registers of the Synopsys DesignWare Hi-Speed USB 2.0 OTG Controller.

◆ channelcount

uint32_t channelcount

The number of channels available on this host.

◆ schedulerthread

THREAD_HANDLE schedulerthread

Thread ID of USB request scheduler thread.

◆ completionthread

THREAD_HANDLE completionthread

Thread ID of USB request completion thread.

◆ schedulermailslot

MAILSLOT_HANDLE schedulermailslot

USB requests that have been submitted to the Host but not yet started on a channel.

◆ dmabuffers

void* dmabuffers[DWC_MAX_CHANNELS]

DMA buffers allocated for each hardware channel (4 byte aligned / 1 per channel).

◆ channelrequests

USB_REQUEST* channelrequests[DWC_MAX_CHANNELS]

Current USB request pending on each hardware channel (or nil of no request is pending).

◆ channelfreemask

uint32_t channelfreemask

Bitmap of channel free (1) or used (0) status.

◆ channelfreelock

MUTEX_HANDLE channelfreelock

Lock for access to ChannelFreeMask.

◆ channelfreewait

SEMAPHORE_HANDLE channelfreewait

Number of free channels in ChannelFreeMask.

◆ startofframemask

uint32_t startofframemask

Bitmap of channels waiting for Start of Frame.

◆ startofframelock

SPIN_HANDLE startofframelock

Lock for access to StartOfFrameMask (Spin lock due to use by interrupt handler).

◆ lastframenumber

uint32_t lastframenumber

Frame Number at the last Start Of Frame interrupt.

◆ hubstatus

USB_HUB_STATUS* hubstatus

Hub status for the root hub.

◆ portstatus

USB_PORT_STATUS* portstatus

Host port status for the root hub (Obtained from port interrupt due to status change).

◆ devicestatus

USB_DEVICE_STATUS* devicestatus

Device status for the root hub.

◆ hubdescriptor

USB_HUB_DESCRIPTOR* hubdescriptor

Hub descriptor for the root hub.

◆ devicedescriptor

USB_DEVICE_DESCRIPTOR* devicedescriptor

Device descriptor for the root hub.

◆ hubconfiguration

DWC_ROOTHUB_CONFIGURATION* hubconfiguration

Configuration, Interface and Endpoint descriptors for the root hub.

◆ hubstringtable

USB_STRING_DESCRIPTOR* hubstringtable[3]

String table for Language, Product and Manufacturer strings for the root hub.

◆ hubproductstring

USB_STRING_DESCRIPTOR* hubproductstring

Product identifier string for the root hub.

◆ hublanguagestring

USB_STRING_DESCRIPTOR* hublanguagestring

Language identifier string for the root hub.

◆ hubmanufacturerstring

USB_STRING_DESCRIPTOR* hubmanufacturerstring

Manufacturer identifier string for the root hub.

◆ hubstatuschange

USB_REQUEST* hubstatuschange

Status change request to the root hub interrupt endpoint (nil if no request is pending).

◆ interruptcount

uint32_t interruptcount

Number of interrupt requests received by the host controller.

◆ portinterruptcount

uint32_t portinterruptcount

Number of port interrupts received by the host controller.

◆ channelinterruptcount

uint32_t channelinterruptcount

Number of channel interrupts received by the host controller.

◆ startofframeinterruptcount

uint32_t startofframeinterruptcount

Number of start of frame interrupts received by the host controller.

◆ disconnectinterruptcount

uint32_t disconnectinterruptcount

Number of disconnect interrupts received by the host controller.

◆ resubmitcount

uint32_t resubmitcount

Number of requests resubmitted for later retry.

◆ startofframecount

uint32_t startofframecount

Number of requests queued to wait for start of frame.

◆ dmabufferreadcount

uint32_t dmabufferreadcount

Number of IN requests that required a DMA buffer copy.

◆ dmabufferwritecount

uint32_t dmabufferwritecount

Number of OUT requests that required a DMA buffer copy.

◆ nakresponsecount

uint32_t nakresponsecount

Number of NAK responses received by the host controller.

◆ nyetresponsecount

uint32_t nyetresponsecount

Number of NYET responses received by the host controller.

◆ stallresponsecount

uint32_t stallresponsecount

Number of Stall responses received by the host controller.

◆ requestcancelcount

uint32_t requestcancelcount

Number of requests Cancelled by the host controller.

◆ ahberrorcount

uint32_t ahberrorcount

Number of AHB errors received by the host controller.

◆ transactionerrorcount

uint32_t transactionerrorcount

Number of transaction errors received by the host controller.

◆ babbleerrorcount

uint32_t babbleerrorcount

Number of babble errors received by the host controller.

◆ excesstransactioncount

uint32_t excesstransactioncount

Number of excess transaction errors received by the host controller.

◆ framelistrollovercount

uint32_t framelistrollovercount

Number of frame list rollover errors received by the host controller.

◆ datatoggleerrorcount

uint32_t datatoggleerrorcount

Number of data toggle errors received by the host controller.

◆ frameoverruncount

uint32_t frameoverruncount

Number of frame overrun errors received by the host controller.

◆ shortattemptcount

uint32_t shortattemptcount

Number of short attempts where transfer size was less than the request size.

◆ startsplitcount

uint32_t startsplitcount

Number of start split transactions.

◆ completesplitcount

uint32_t completesplitcount

Number of complete split transactions.

◆ completesplitrestartcount

uint32_t completesplitrestartcount

Number of times a complete split transaction has been restarted at start split due to errors.

◆ transferrestartcount

uint32_t transferrestartcount

Number of times a transfer is restarted to continue or retry the transfer.

◆ transactionrestartcount

uint32_t transactionrestartcount

Number of times a transaction is restarted to continue or complete the transfer.

◆ nochannelcompletedcount

uint32_t nochannelcompletedcount

Number of times the channel completed interrupt bit was not set when a request completed.

◆ nopacketstransferredcount

uint32_t nopacketstransferredcount

Number of times no packets were transferred but no error occured when a channel halted.


The documentation for this struct was generated from the following file: