 |
AM261x MCU+ SDK
11.00.00
|
|
Go to the documentation of this file.
77 u32 ctrlbits,
int own);
111 #define DWC_ENDXFER_FORCE 1U
112 #define DWC_ENDXFER_NODELAY 2U
114 #ifdef DWC_STAR_9000463548_WORKAROUND
115 extern int dwc_usb3_dep_endxfer_nowait(
volatile dwc_usb3_pcd_t *pcd,
118 extern int dwc_usb3_dep_wait_endxfer(
volatile dwc_usb3_pcd_t *pcd,
146 #define dwc_usb3_is_hwo(desc) ((desc)->control & DWC_DSCCTL_HWO_BIT)
147 #define dwc_usb3_is_ioc(desc) ((desc)->control & DWC_DSCCTL_IOC_BIT)
149 #define dwc_usb3_get_xfercnt(desc) \
150 ((desc)->status >> DWC_DSCSTS_XFRCNT_SHIFT & \
151 DWC_DSCSTS_XFRCNT_BITS >> DWC_DSCSTS_XFRCNT_SHIFT)
153 #define dwc_usb3_get_xfersts(desc) \
154 ((desc)->status >> DWC_DSCSTS_TRBRSP_SHIFT & \
155 DWC_DSCSTS_TRBRSP_BITS >> DWC_DSCSTS_TRBRSP_SHIFT)
157 #define dwc_usb3_get_xfersofn(desc) \
158 ((desc)->control >> DWC_DSCCTL_STRMID_SOFN_SHIFT & \
159 DWC_DSCCTL_STRMID_SOFN_BITS >> DWC_DSCCTL_STRMID_SOFN_SHIFT)
161 #define dwc_usb3_get_eventsofn(event) \
162 ((event) >> DWC_DEPEVT_ISOC_UFRAME_NUM_SHIFT & \
163 DWC_DEPEVT_ISOC_UFRAME_NUM_BITS >> DWC_DEPEVT_ISOC_UFRAME_NUM_SHIFT)
u32 dwc_usb3_pcd_get_link_state(volatile dwc_usb3_pcd_t *pcd)
This function retrieves the current link state.
Definition: cil.c:803
int dwc_usb3_dep_xfercfg(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, u32 depstrmcfg)
Definition: cil.c:413
int dwc_usb3_task(volatile dwc_usb3_device_t *dev)
unsigned int u32
Definition: os_defs.h:41
int dwc_usb3_dep_startxfer(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, dwc_dma_t dma_addr, u32 stream_or_uf)
Definition: cil.c:513
u32 dwc_usb3_dep_getepstate(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg)
Definition: cil.c:439
void dwc_usb3_accept_u1(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:954
void dwc_usb3_enable_u2(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:996
void dwc_usb3_pcd_remote_wake(volatile dwc_usb3_pcd_t *pcd, int function)
This function sends a Remote Wakeup to the host.
Definition: cil.c:841
void dwc_usb3_enable_common_interrupts(volatile dwc_usb3_device_t *dev)
static __inline int dwc_usb3_is_host_mode(volatile dwc_usb3_device_t *dev)
Definition: cil.h:206
void dwc_usb3_fill_desc(dwc_usb3_dma_desc_t *desc, dwc_dma_t dma_addr, u32 dma_len, u32 stream, u32 type, u32 ctrlbits, int own)
Definition: cil.c:74
int dwc_usb3_dep_cfg(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, u32 depcfg0, u32 depcfg1, u32 depcfg2)
Definition: cil.c:379
int dwc_usb3_dep_endxfer(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, u32 tri, u32 flags, void *condition)
Definition: cil.c:581
#define __iomem
Definition: os_defs.h:74
int dwc_usb3_dep_cstall(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, int clr_pend)
Definition: cil.c:486
void dwc_usb3_ena_usb3_phy_suspend(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:912
void dwc_usb3_pcd_common_remove(volatile dwc_usb3_device_t *dev)
Definition: cil.c:1325
unsigned long dwc_dma_t
Definition: os_defs.h:62
DWC_usb3 PCD Structure. This structure encapsulates the data for the dwc_usb3 PCD.
Definition: pcd.h:375
void dwc_usb3_accept_u2(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:968
void dwc_usb3_pcd_device_remove(volatile dwc_usb3_device_t *dev)
This routine deinitializes the DWC_usb3 controller registers.
Definition: cil.c:2040
void dwc_usb3_init_eventbuf(volatile dwc_usb3_device_t *dev, int bufno, volatile u32 *addr, u32 size, dwc_dma_t dma_addr)
int dwc_usb3_u2_enabled(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1055
void dwc_usb3_disable_u1(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1010
void dwc_usb3_pcd_set_link_state(volatile dwc_usb3_pcd_t *pcd, u32 state)
This function sets state of USB link.
Definition: cil.c:821
static __inline int dwc_usb3_is_device_mode(volatile dwc_usb3_device_t *dev)
Definition: cil.h:196
void dwc_usb3_dump_global_registers(volatile dwc_usb3_device_t *dev)
Definition: cil.c:1401
void dwc_usb3_enable_desc(dwc_usb3_dma_desc_t *desc)
Definition: cil.c:129
int dwc_usb3_enable_ep(volatile dwc_usb3_pcd_t *pcd, volatile dwc_usb3_pcd_ep_t *ep)
Definition: cil.c:678
int dwc_usb3_set_scratchpad_buf_array(volatile dwc_usb3_pcd_t *pcd, dwc_dma_t dma_addr)
Definition: cil.c:322
int dwc_usb3_handle_event(volatile dwc_usb3_device_t *dev)
void dwc_usb3_disable_u2(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1024
void dwc_usb3_start_desc_chain(dwc_usb3_dma_desc_t *desc)
Definition: cil.c:106
void dwc_usb3_dump_dbgregs(volatile dwc_usb3_device_t *dev)
Definition: cil.c:1364
void dwc_usb3_end_desc_chain(dwc_usb3_dma_desc_t *desc)
Definition: cil.c:118
int dwc_usb3_dep_updatexfer(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, u32 tri)
Definition: cil.c:557
void dwc_usb3_dump_dev_registers(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1452
uint8_t flags
Definition: hsmclient_msg.h:2
void dwc_usb3_set_rx_fifo_size(volatile dwc_usb3_device_t *dev, u32 size)
Definition: cil.c:1552
int dwc_usb3_irq(volatile dwc_usb3_device_t *dev, int irq)
int dwc_usb3_dep_startnewcfg(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg, u32 rsrcidx)
Definition: cil.c:648
volatile u32 gsts
Definition: hw.h:1075
int dwc_usb3_xmit_fn_remote_wake(volatile dwc_usb3_pcd_t *pcd, u32 intf)
Definition: cil.c:191
DMA Descriptor structure.
Definition: hw.h:1840
void dwc_usb3_task_init(dwc_usb3_device_t *dev)
int dwc_usb3_u1_enabled(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1039
void dwc_usb3_enable_u1(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:982
void dwc_usb3_disable_desc(dwc_usb3_dma_desc_t *desc)
Definition: cil.c:144
void dwc_usb3_dis_usb2_phy_suspend(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:893
void dwc_usb3_pcd_device_init(volatile dwc_usb3_device_t *dev, int soft_reset, int restore)
This routine initializes the DWC_usb3 controller registers.
Definition: cil.c:1646
void dwc_usb3_set_address(volatile dwc_usb3_pcd_t *pcd, int addr)
This function sets the Device Address.
Definition: cil.c:855
int dwc_usb3_dep_sstall(volatile dwc_usb3_pcd_t *pcd, dwc_usb3_dev_ep_regs_t __iomem *ep_reg)
Definition: cil.c:465
dwc_usb3_core_global_regs_t __iomem * core_global_regs
Definition: dev.h:108
int dwc_usb3_get_device_speed(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:742
void dwc_usb3_clr_eps_enabled(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:1069
void dwc_usb3_dis_usb3_phy_suspend(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:933
static __inline u32 dwc_usb3_mode(volatile dwc_usb3_device_t *dev)
Definition: cil.h:186
void dwc_usb3_enable_device_interrupts(volatile dwc_usb3_device_t *dev)
Definition: os_defs.h:168
int dwc_usb3_xmit_host_role_request(volatile dwc_usb3_pcd_t *pcd, u32 param)
int dwc_usb3_flush_fifo(volatile dwc_usb3_pcd_t *pcd, u32 fifo_sel)
Definition: cil.c:349
int dwc_usb3_pcd_common_init(volatile dwc_usb3_device_t *dev, volatile u8 __iomem *base, const dwc_usb3_core_params_t *core_params)
This routine is called to initialize the DWC_usb3 CSR data structures. The register addresses in the ...
Definition: cil.c:1234
int dwc_usb3_pcd_check_snpsid(volatile dwc_usb3_device_t *dev, u32 addr_ofs)
This routine ensures the device is really a DWC_usb3 controller, by reading and verifying the SNPSID ...
Definition: cil.c:1347
void dwc_usb3_pcd_do_test_mode(unsigned long data)
This routine is called when the SET_FEATURE TEST_MODE Setup packet is sent from the host....
Definition: cil.c:1100
int dwc_usb3_xmit_ltm(volatile dwc_usb3_pcd_t *pcd, u32 value)
Definition: cil.c:234
#define DWC_GSTS_HOST_MODE
Definition: hw.h:291
int dwc_usb3_get_frame(volatile dwc_usb3_pcd_t *pcd)
Definition: cil.c:786
unsigned char u8
Definition: os_defs.h:45
PCD Endpoint structure. This structure represents an endpoint (EP) in the Peripheral Controller Drive...
Definition: pcd.h:324
void dwc_usb3_ena_usb2_phy_suspend(volatile dwc_usb3_pcd_t *pcd)
This function enables USB2 Phy suspend.
Definition: cil.c:870
int dwc_usb3_disable_ep(volatile dwc_usb3_pcd_t *pcd, volatile dwc_usb3_pcd_ep_t *ep)
Definition: cil.c:710
void dwc_usb3_dis_flush_eventbuf_intr(volatile dwc_usb3_device_t *dev, int bufno)
void dwc_usb3_set_tx_fifo_size(volatile dwc_usb3_device_t *dev, int *sz)
Definition: cil.c:1478