AM261x MCU+ SDK  11.00.00

Detailed Description

The dwc_ep structure represents the state of a single EP when acting in device mode. It contains the data items needed for an EP to be activated and transfer packets.

Public Member Functions

 DWC_CIRCLEQ_HEAD (circleq, dwc_usb3_pcd_req) queue
 

Data Fields

struct dwc_usb3_pcd * pcd
 
dwc_usb3_dev_ep_regs_t __iomemout_ep_reg
 
dwc_usb3_dev_ep_regs_t __iomemin_ep_reg
 
u8 phys
 
u8 num
 
u8 type
 
u8 intvl
 
u16 maxpacket
 
u8 mult
 
u8 maxburst
 
u8 num_streams
 
u8 tx_fifo_num
 
unsigned int is_in: 1
 
unsigned int active: 1
 
unsigned int desc_link: 1
 
unsigned int data_pid_start: 1
 
unsigned int ena_once: 1
 
unsigned int stalled_save: 1
 
u32 save_state
 
const usb_endpoint_descriptor_tusb_ep_desc
 
int desc_avail
 
int desc_idx
 
int hiber_desc_idx
 
u32 condition
 
u8 tri_out
 
u8 tri_in
 
unsigned int stopped: 1
 
unsigned int disabling: 1
 
unsigned int queue_sof: 1
 
unsigned int send_zlp: 1
 
unsigned int stall_clear_flag: 1
 
unsigned int three_stage: 1
 
unsigned int xfer_started: 1
 
u32 param0out
 
u32 param1out
 
u32 param0in
 
u32 param1in
 
dwc_usb3_dma_desc_tdma_desc
 
dwc_dma_t dma_desc_dma
 
int desc_size
 
int num_desc
 

Member Function Documentation

◆ DWC_CIRCLEQ_HEAD()

dwc_ep_t::DWC_CIRCLEQ_HEAD ( circleq  ,
dwc_usb3_pcd_req   
)

Queue of dwc_usb3_pcd_reqs

Field Documentation

◆ pcd

struct dwc_usb3_pcd* dwc_ep_t::pcd

Pointer to PCD

◆ out_ep_reg

dwc_usb3_dev_ep_regs_t __iomem* dwc_ep_t::out_ep_reg

Pointer to OUT EP register

◆ in_ep_reg

dwc_usb3_dev_ep_regs_t __iomem* dwc_ep_t::in_ep_reg

Pointer to IN EP register

◆ phys

u8 dwc_ep_t::phys

Physical EP number

◆ num

u8 dwc_ep_t::num

USB EP number

◆ type

u8 dwc_ep_t::type

EP type: 0 - Control, 1 - ISOC, 2 - BULK, 3 - INTR

◆ intvl

u8 dwc_ep_t::intvl

'bInterval' value for Isoc EPs

◆ maxpacket

u16 dwc_ep_t::maxpacket

Max Packet bytes

◆ mult

u8 dwc_ep_t::mult

'mult' value for SS Isoc EPs

◆ maxburst

u8 dwc_ep_t::maxburst

Max burst size for SS EPs (0 - 15, actual burst is 1 - 16)

◆ num_streams

u8 dwc_ep_t::num_streams

Number of streams for SS Bulk EPs (0 - 16, actual number is 2^n)

◆ tx_fifo_num

u8 dwc_ep_t::tx_fifo_num

Tx FIFO # for IN EPs

◆ tri_out

u8 dwc_ep_t::tri_out

Transfer Resource Index from the Start Transfer command Transfer Resource Index for OUT endpoint

◆ tri_in

u8 dwc_ep_t::tri_in

Transfer Resource Index for IN endpoint

◆ stopped

unsigned int dwc_ep_t::stopped

Status of the queue Indicates if the endpoint is stopped.

◆ disabling

unsigned int dwc_ep_t::disabling

Indicates if the endpoint is in the process of being disabled.

◆ queue_sof

unsigned int dwc_ep_t::queue_sof

Indicates if the Start-of-Frame (SOF) event is queued for the endpoint.

◆ send_zlp

unsigned int dwc_ep_t::send_zlp

Send ZLP

◆ stall_clear_flag

unsigned int dwc_ep_t::stall_clear_flag

Stall clear flag

◆ three_stage

unsigned int dwc_ep_t::three_stage

True if 3-stage control transfer

◆ xfer_started

unsigned int dwc_ep_t::xfer_started

True if transfer has been started on EP

◆ is_in

unsigned int dwc_ep_t::is_in

True if EP direction is IN, EP direction 0 = OUT, EP direction 1 = IN

◆ active

unsigned int dwc_ep_t::active

EP active

◆ desc_link

unsigned int dwc_ep_t::desc_link

True if TRB array has a link TRB at the end

◆ data_pid_start

unsigned int dwc_ep_t::data_pid_start

DATA start PID for INTR and BULK EP

◆ ena_once

unsigned int dwc_ep_t::ena_once

EP has been enabled for this configuration

◆ stalled_save

unsigned int dwc_ep_t::stalled_save

EP was in stalled state when entering hibernation

◆ param0out

u32 dwc_ep_t::param0out

Saved parameters from the last DEPCFG for this EP. Used when resetting the sequence number. Saved parameter 0 for OUT endpoint

◆ param1out

u32 dwc_ep_t::param1out

Saved parameter 1 for OUT endpoint

◆ param0in

u32 dwc_ep_t::param0in

Saved parameter 0 for IN endpoint

◆ param1in

u32 dwc_ep_t::param1in

Saved parameter 1 for IN endpoint

◆ save_state

u32 dwc_ep_t::save_state

EP state, saved across core hibernation

◆ usb_ep_desc

const usb_endpoint_descriptor_t* dwc_ep_t::usb_ep_desc

Pointer to USB EP descriptor

◆ dma_desc

dwc_usb3_dma_desc_t* dwc_ep_t::dma_desc

Array of DMA descriptors (TRBs) for this EP Pointer to the array of DMA descriptors for this endpoint.

◆ dma_desc_dma

dwc_dma_t dwc_ep_t::dma_desc_dma

DMA address of the array of DMA descriptors.

◆ desc_size

int dwc_ep_t::desc_size

Size of each DMA descriptor in bytes.

◆ num_desc

int dwc_ep_t::num_desc

Total number of DMA descriptors allocated for this endpoint.

◆ desc_avail

int dwc_ep_t::desc_avail

Number of DMA descriptors available

◆ desc_idx

int dwc_ep_t::desc_idx

Index to next free DMA descriptor in array

◆ hiber_desc_idx

int dwc_ep_t::hiber_desc_idx

Index to DMA descriptor that was active before hibernation

◆ condition

u32 dwc_ep_t::condition

Condition variable for EPCMD_CMPL interrupt