unsigned int count;
unsigned int flags;
-#define DWC3_EVENT_PENDING BIT(0)
+#define DWC3_EVENT_PENDING (1UL << 0)
dma_addr_t dma;
* @maximum_speed: maximum speed requested (mainly for testing purposes)
* @revision: revision register contents
* @dr_mode: requested mode of operation
- * @usb2_phy: pointer to USB2 PHY
- * @usb3_phy: pointer to USB3 PHY
- * @usb2_generic_phy: pointer to USB2 PHY
- * @usb3_generic_phy: pointer to USB3 PHY
* @dcfg: saved contents of DCFG register
* @gctl: saved contents of GCTL register
* @isoch_delay: wValue from Set Isochronous Delay request;
* 1 - -3.5dB de-emphasis
* 2 - No de-emphasis
* 3 - Reserved
+ * @index: index of _this_ controller
+ * @list: to maintain the list of dwc3 controllers
*/
struct dwc3 {
struct usb_ctrlrequest *ctrl_req;
struct usb_gadget gadget;
struct usb_gadget_driver *gadget_driver;
- struct usb_phy *usb2_phy;
- struct usb_phy *usb3_phy;
-
- struct phy *usb2_generic_phy;
- struct phy *usb3_generic_phy;
-
void __iomem *regs;
size_t regs_size;
unsigned tx_de_emphasis_quirk:1;
unsigned tx_de_emphasis:2;
+ int index;
+ struct list_head list;
};
/* -------------------------------------------------------------------------- */
#define DWC3_HAS_OTG BIT(3)
/* prototypes */
-void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc);
#ifdef CONFIG_USB_DWC3_HOST