This structure is a wrapper that encapsulates the driver components used to manage a single DWC_usb3 controller.
OS-specific stuff. KEEP THIS AT THE VERY BEGINNING OF THE DEVICE STRUCT. OSes such as FreeBSD and NetBSD require this. Base address returned from ioremap()
| int dwc_usb3_device_t::gasket_ofs |
Offset to 'gasket' registers (Synopsys FPGA only)
| int dwc_usb3_device_t::hiber_cnt |
Count of threads inside Gadget API
| u32 dwc_usb3_device_t::hibernate |
Hibernation state
| int dwc_usb3_device_t::pme_ready |
| struct dwc_usb3_pcd dwc_usb3_device_t::pcd |
PCD structure
| u32 dwc_usb3_device_t::snpsid |
Value from SNPSID register
| dwc_usb3_core_params_t* dwc_usb3_device_t::core_params |
Parameters that define how the core should be configured
| dwc_usb3_core_global_regs_t __iomem* dwc_usb3_device_t::core_global_regs |
Core Global registers starting at offset 100h
| volatile u32* dwc_usb3_device_t::event_ptr[DWC_NUM_EVENT_BUFS] |
Event Buffers for receiving interrupts. Up to 32 buffers are supported by the hardware, but we only use 1.
| volatile u32* dwc_usb3_device_t::event_buf[DWC_NUM_EVENT_BUFS] |
| dwc_dma_t dwc_usb3_device_t::event_buf_dma[DWC_NUM_EVENT_BUFS] |
| u16 dwc_usb3_device_t::total_fifo_size |
Total RAM for FIFOs (Bytes)
| u16 dwc_usb3_device_t::rx_fifo_size |
Size of Rx FIFO (Bytes)
| u32 dwc_usb3_device_t::hwparams0 |
Hardware Configuration - stored here for convenience
| u32 dwc_usb3_device_t::hwparams1 |
| u32 dwc_usb3_device_t::hwparams2 |
| u32 dwc_usb3_device_t::hwparams3 |
| u32 dwc_usb3_device_t::hwparams4 |
| u32 dwc_usb3_device_t::hwparams5 |
| u32 dwc_usb3_device_t::hwparams6 |
| u32 dwc_usb3_device_t::hwparams7 |
| u32 dwc_usb3_device_t::hwparams8 |
| u32 dwc_usb3_device_t::dcfg_save |
Register state, saved across core hibernation
| u32 dwc_usb3_device_t::dctl_save |
| u32 dwc_usb3_device_t::gtxfifosiz0_save |
| u32 dwc_usb3_device_t::gtxfifosiz1_save |
| u32 dwc_usb3_device_t::gtxfifosiz2_save |
| u32 dwc_usb3_device_t::gtxfifosiz3_save |
| u32 dwc_usb3_device_t::grxfifosiz0_save |
| void(* dwc_usb3_device_t::soft_reset_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
Hooks for customizing device initialization. See dwc_usb3_pcd_device_init() in cil.c to see how these work.
| void(* dwc_usb3_device_t::phy_config_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
| void(* dwc_usb3_device_t::fifo_sizing_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
| void(* dwc_usb3_device_t::gctl_init_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
| void(* dwc_usb3_device_t::set_address_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
| void(* dwc_usb3_device_t::ep0_start_hook) (volatile struct dwc_usb3_device *dev, int softrst, int rstor) |
| u32 dwc_usb3_device_t::hird_thresh |
Value to write into the DCTL HIRD_Thresh field on register initialization. If 0 then a default value of 0x1c will be used.
| u32 dwc_usb3_device_t::gsbuscfg0 |
Values to write into GSBUSCFG0 and GSBUSCFG1 on initialization or when exiting from hibernation. 'program_gsbuscfg' below must also be set to 1 to enable the writing of these values.
| u32 dwc_usb3_device_t::gsbuscfg1 |
| u16 dwc_usb3_device_t::alt_interface |
| unsigned int dwc_usb3_device_t::cmn_initialized |
True if common functionality has been initialized
| unsigned int dwc_usb3_device_t::gadget_initialized |
True if Gadget has been initialized
| unsigned int dwc_usb3_device_t::pcd_initialized |
True if PCD has been initialized
| unsigned int dwc_usb3_device_t::cmn_irq_installed |
True if common IRQ handler has been installed
| unsigned int dwc_usb3_device_t::sysfs_initialized |
True if sysfs functions have been installed
| unsigned int dwc_usb3_device_t::hiber_wait_connect |
True if waiting for connect before resuming from hibernation
| unsigned int dwc_usb3_device_t::hiber_wait_u0 |
True if waiting for U0 state before sending remote wake
| unsigned int dwc_usb3_device_t::program_gsbuscfg |
True if GBUSCFG0/GBUSCFG1 should be written with the above values when exiting hibernation