|
@@ -1155,30 +1155,6 @@ static int dwc3_gadget_start(struct usb_gadget *g,
|
|
|
dwc->gadget_driver = driver;
|
|
|
dwc->gadget.dev.driver = &driver->driver;
|
|
|
|
|
|
- reg = dwc3_readl(dwc->regs, DWC3_GCTL);
|
|
|
-
|
|
|
- reg &= ~DWC3_GCTL_SCALEDOWN(3);
|
|
|
- reg &= ~DWC3_GCTL_DISSCRAMBLE;
|
|
|
-
|
|
|
- switch (DWC3_GHWPARAMS1_EN_PWROPT(dwc->hwparams.hwparams0)) {
|
|
|
- case DWC3_GHWPARAMS1_EN_PWROPT_CLK:
|
|
|
- reg &= ~DWC3_GCTL_DSBLCLKGTNG;
|
|
|
- break;
|
|
|
- default:
|
|
|
- dev_dbg(dwc->dev, "No power optimization available\n");
|
|
|
- }
|
|
|
-
|
|
|
- /*
|
|
|
- * WORKAROUND: DWC3 revisions <1.90a have a bug
|
|
|
- * when The device fails to connect at SuperSpeed
|
|
|
- * and falls back to high-speed mode which causes
|
|
|
- * the device to enter in a Connect/Disconnect loop
|
|
|
- */
|
|
|
- if (dwc->revision < DWC3_REVISION_190A)
|
|
|
- reg |= DWC3_GCTL_U2RSTECN;
|
|
|
-
|
|
|
- dwc3_writel(dwc->regs, DWC3_GCTL, reg);
|
|
|
-
|
|
|
reg = dwc3_readl(dwc->regs, DWC3_DCFG);
|
|
|
reg &= ~(DWC3_DCFG_SPEED_MASK);
|
|
|
reg |= dwc->maximum_speed;
|