AM261x MCU+ SDK: dwc_ep_t Struct Reference

| AM261x MCU+ SDK 26.00.00 |

Public Member Functions | Data Fields
dwc_ep_t Struct Reference
APIs for SOC Specific Device Drivers » APIs for USB » APIs for Synopsys driver

## 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 __iomem * | out_ep_reg
dwc_usb3_dev_ep_regs_t __iomem * | in_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_t * | usb_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_t * | dma_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