AM261x MCU+ SDK  11.00.00

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
 
volatile dwc_usb3_pcd_ep_tep0
 
volatile dwc_usb3_pcd_ep_tout_ep [DWC_MAX_EPS - 1U]
 
volatile dwc_usb3_pcd_ep_tin_ep [DWC_MAX_EPS - 1U]
 
dwc_usb3_dev_global_regs_t __iomemdev_global_regs
 
dwc_usb3_dev_ep_regs_t __iomemout_ep_regs
 
dwc_usb3_dev_ep_regs_t __iomemin_ep_regs
 
volatile dwc_usb3_pcd_req_tep0_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_arrayhiber_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_tep0_setup_desc
 
dwc_dma_t ep0_setup_desc_dma
 
dwc_usb3_dma_desc_tep0_out_desc
 
dwc_dma_t ep0_out_desc_dma
 
dwc_usb3_dma_desc_tep0_in_desc
 
dwc_dma_t ep0_in_desc_dma
 
u8ep0_status_buf
 
dwc_dma_t ep0_status_buf_dma
 
dwc_setup_pkt_tep0_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

volatile dwc_usb3_pcd_ep_t* dwc_usb3_pcd_t::ep0

Pointer to the structure representing EP0.

◆ out_ep

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

Array of OUT EPs (not including EP0)

◆ in_ep

volatile 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

volatile 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