AM261x MCU+ SDK: dwc_usb3_pcd_t Struct Reference

| AM261x MCU+ SDK 26.00.00 |

Data Fields
dwc_usb3_pcd_t Struct Reference
APIs for SOC Specific Device Drivers » APIs for USB » APIs for Synopsys driver

## Detailed Description

DWC_usb3 PCD Structure. This structure encapsulates the data for the dwc_usb3 PCD.

## Data Fields
struct dwc_usb3_device * | usb3_dev
int | link_state
pcdstate_e | state
ep0state_e | ep0state
unsigned int | ep0_status_pending: 1
unsigned int | request_config: 1
unsigned int | remote_wakeup_enable: 1
unsigned int | ltm_enable: 1
unsigned int | send_lpm: 1
unsigned int | wkup_rdy: 1
unsigned int | eps_enabled: 1
unsigned int | ute_change: 1
dwc_usb3_pcd_ep_t * | ep0
dwc_usb3_pcd_ep_t * | out_ep [DWC_MAX_EPS - 1U]
dwc_usb3_pcd_ep_t * | in_ep [DWC_MAX_EPS - 1U]
dwc_usb3_dev_global_regs_t __iomem * | dev_global_regs
dwc_usb3_dev_ep_regs_t __iomem * | out_ep_regs
dwc_usb3_dev_ep_regs_t __iomem * | in_ep_regs
dwc_usb3_pcd_req_t * | ep0_req
u8 | speed
u8 | num_out_eps
u8 | num_in_eps
u8 | test_mode
unsigned | request_pending
struct tasklet_struct | test_mode_tasklet
dwc_queue_t | event_q
void * | hiber_scratchpad [15]
struct dwc_hiber_scratchpad_array * | hiber_scratchpad_array
dwc_dma_t | hiber_scratchpad_array_dma
u32 | ep0_out_save_state
u32 | ep0_in_save_state
u16 | rx_thr_en
u16 | iso_tx_thr_en
u16 | non_iso_tx_thr_en
u16 | rx_thr_length
u16 | tx_thr_length
dwc_usb3_dma_desc_t * | ep0_setup_desc
dwc_dma_t | ep0_setup_desc_dma
dwc_usb3_dma_desc_t * | ep0_out_desc
dwc_dma_t | ep0_out_desc_dma
dwc_usb3_dma_desc_t * | ep0_in_desc
dwc_dma_t | ep0_in_desc_dma
u8 * | ep0_status_buf
dwc_dma_t | ep0_status_buf_dma
dwc_setup_pkt_t * | ep0_setup_pkt
dwc_dma_t | ep0_setup_pkt_dma

## Field Documentation

## ◆ usb3_dev

struct dwc_usb3_device* dwc_usb3_pcd_t::usb3_dev

The DWC otg device pointer

## ◆ link_state

int dwc_usb3_pcd_t::link_state

USB3 link state

## ◆ state

pcdstate_e dwc_usb3_pcd_t::state

State of the device

## ◆ ep0state

ep0state_e dwc_usb3_pcd_t::ep0state

State of EP0

## ◆ ep0_status_pending

unsigned int dwc_usb3_pcd_t::ep0_status_pending

EP0 Status Request is pending

## ◆ request_config

unsigned int dwc_usb3_pcd_t::request_config

Indicates when SET CONFIGURATION Request is in process

## ◆ remote_wakeup_enable

unsigned int dwc_usb3_pcd_t::remote_wakeup_enable

State of the Remote Wakeup Enable

## ◆ ltm_enable

unsigned int dwc_usb3_pcd_t::ltm_enable

State of the Latency Tolerance Messaging Enable

## ◆ send_lpm

unsigned int dwc_usb3_pcd_t::send_lpm

True if we should send an LPM notification after the status stage

## ◆ wkup_rdy

unsigned int dwc_usb3_pcd_t::wkup_rdy

True if ready for remote wakeup request from user

## ◆ eps_enabled

unsigned int dwc_usb3_pcd_t::eps_enabled

True if we have enabled some EPs

## ◆ ute_change

unsigned int dwc_usb3_pcd_t::ute_change

True if UTE has made some config changes

## ◆ ep0

dwc_usb3_pcd_ep_t* dwc_usb3_pcd_t::ep0

Pointer to the structure representing EP0.

## ◆ out_ep

dwc_usb3_pcd_ep_t* dwc_usb3_pcd_t::out_ep[DWC_MAX_EPS - 1U]

Array of OUT EPs (not including EP0)

## ◆ in_ep

dwc_usb3_pcd_ep_t* dwc_usb3_pcd_t::in_ep[DWC_MAX_EPS - 1U]

Array of IN EPs (not including EP0)

## ◆ dev_global_regs

dwc_usb3_dev_global_regs_t __iomem* dwc_usb3_pcd_t::dev_global_regs

Pointer to device Global registers. Device Global Registers starting at offset 700h

## ◆ out_ep_regs

dwc_usb3_dev_ep_regs_t __iomem* dwc_usb3_pcd_t::out_ep_regs

Device Logical OUT EP-Specific Registers 800h-9ECh

## ◆ in_ep_regs

dwc_usb3_dev_ep_regs_t __iomem* dwc_usb3_pcd_t::in_ep_regs

Device Logical IN EP-Specific Registers 810h-9FCh

## ◆ hiber_scratchpad

void* dwc_usb3_pcd_t::hiber_scratchpad[15]

Scratchpad buffers for hibernation support Array of pointers to scratchpad buffers

## ◆ hiber_scratchpad_array

struct dwc_hiber_scratchpad_array* dwc_usb3_pcd_t::hiber_scratchpad_array

Pointer to the scratchpad array structure

## ◆ hiber_scratchpad_array_dma

dwc_dma_t dwc_usb3_pcd_t::hiber_scratchpad_array_dma

DMA address of the scratchpad array

## ◆ ep0_out_save_state

u32 dwc_usb3_pcd_t::ep0_out_save_state

EP0 state, saved across core hibernation Saved state for EP0 OUT transfers

## ◆ ep0_in_save_state

u32 dwc_usb3_pcd_t::ep0_in_save_state

Saved state for EP0 IN transfers

## ◆ ep0_req

dwc_usb3_pcd_req_t* dwc_usb3_pcd_t::ep0_req

'dummy' request, for EP0 only

## ◆ rx_thr_en

u16 dwc_usb3_pcd_t::rx_thr_en

Thresholding enable flags and length variables Reception Threshold enable flag

## ◆ iso_tx_thr_en

u16 dwc_usb3_pcd_t::iso_tx_thr_en

Isochronous Transmission Threshold enable flag

## ◆ non_iso_tx_thr_en

u16 dwc_usb3_pcd_t::non_iso_tx_thr_en

Non-Isochronous Transmission Threshold enable flag

## ◆ rx_thr_length

u16 dwc_usb3_pcd_t::rx_thr_length

Reception Threshold length

## ◆ tx_thr_length

u16 dwc_usb3_pcd_t::tx_thr_length

Transmission Threshold length

## ◆ speed

u8 dwc_usb3_pcd_t::speed

Device configuration information USB device speed, defined as per USB_SPEED_DEFINITIONS

## ◆ num_out_eps

u8 dwc_usb3_pcd_t::num_out_eps

Number # of Rx EP range: 0-15 except ep0

## ◆ num_in_eps

u8 dwc_usb3_pcd_t::num_in_eps

Number # of Tx EP range: 0-15 except ep0

## ◆ test_mode

u8 dwc_usb3_pcd_t::test_mode

The TEST mode to enter when test_mode_tasklet is executed

## ◆ request_pending

unsigned dwc_usb3_pcd_t::request_pending

Count of pending Requests

## ◆ test_mode_tasklet

struct tasklet_struct dwc_usb3_pcd_t::test_mode_tasklet

Tasklet to defer starting of TEST mode transmissions until Status Phase has been completed

## ◆ ep0_setup_desc

dwc_usb3_dma_desc_t* dwc_usb3_pcd_t::ep0_setup_desc

Pointers to the DMA Descriptors for EP0 Control transfers (virtual and physical)
Descriptor for SETUP packets

## ◆ ep0_setup_desc_dma

dwc_dma_t dwc_usb3_pcd_t::ep0_setup_desc_dma

DMA address of the SETUP packet descriptor

## ◆ ep0_out_desc

dwc_usb3_dma_desc_t* dwc_usb3_pcd_t::ep0_out_desc

Descriptor for Data Out or Status Out phases

## ◆ ep0_out_desc_dma

dwc_dma_t dwc_usb3_pcd_t::ep0_out_desc_dma

DMA address of the Data Out or Status Out descriptor

## ◆ ep0_in_desc

dwc_usb3_dma_desc_t* dwc_usb3_pcd_t::ep0_in_desc

Descriptor for Data In or Status In phases

## ◆ ep0_in_desc_dma

dwc_dma_t dwc_usb3_pcd_t::ep0_in_desc_dma

DMA address of the Data In or Status In descriptor

## ◆ ep0_status_buf

u8* dwc_usb3_pcd_t::ep0_status_buf

Data packet buffer used to return data for GET_STATUS and GET_DESCRIPTOR(BOS) up to 512 bytes in length

## ◆ ep0_status_buf_dma

dwc_dma_t dwc_usb3_pcd_t::ep0_status_buf_dma

DMA address of the Data packet buffer

## ◆ ep0_setup_pkt

dwc_setup_pkt_t* dwc_usb3_pcd_t::ep0_setup_pkt

SETUP packet buffer for EP0

## ◆ ep0_setup_pkt_dma

dwc_dma_t dwc_usb3_pcd_t::ep0_setup_pkt_dma

DMA address of the SETUP packet buffer

## ◆ event_q

dwc_queue_t dwc_usb3_pcd_t::event_q

PCD event queue