Loading drivers/usb/dwc3/core.c +15 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,10 @@ #include "debug.h" static char *maximum_speed = "super"; module_param(maximum_speed, charp, 0); MODULE_PARM_DESC(maximum_speed, "Maximum supported speed."); /** * dwc3_core_soft_reset - Issues core soft reset and PHY reset * @dwc: pointer to our context structure Loading Loading @@ -370,6 +374,17 @@ static int __devinit dwc3_probe(struct platform_device *pdev) dwc->dev = &pdev->dev; dwc->irq = irq; if (!strncmp("super", maximum_speed, 5)) dwc->maximum_speed = DWC3_DCFG_SUPERSPEED; else if (!strncmp("high", maximum_speed, 4)) dwc->maximum_speed = DWC3_DCFG_HIGHSPEED; else if (!strncmp("full", maximum_speed, 4)) dwc->maximum_speed = DWC3_DCFG_FULLSPEED1; else if (!strncmp("low", maximum_speed, 3)) dwc->maximum_speed = DWC3_DCFG_LOWSPEED; else dwc->maximum_speed = DWC3_DCFG_SUPERSPEED; pm_runtime_enable(&pdev->dev); pm_runtime_get_sync(&pdev->dev); pm_runtime_forbid(&pdev->dev); Loading drivers/usb/dwc3/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -555,6 +555,7 @@ struct dwc3_hwparams { * @regs: base address for our registers * @regs_size: address space size * @irq: IRQ number * @maximum_speed: maximum speed requested (mainly for testing purposes) * @revision: revision register contents * @is_selfpowered: true when we are selfpowered * @three_stage_setup: set if we perform a three phase setup Loading Loading @@ -595,6 +596,7 @@ struct dwc3 { int irq; u32 maximum_speed; u32 revision; #define DWC3_REVISION_173A 0x5533173a Loading drivers/usb/dwc3/gadget.c +1 −1 Original line number Diff line number Diff line Loading @@ -1183,7 +1183,7 @@ static int dwc3_gadget_start(struct usb_gadget *g, reg = dwc3_readl(dwc->regs, DWC3_DCFG); reg &= ~(DWC3_DCFG_SPEED_MASK); reg |= DWC3_DCFG_SUPERSPEED; reg |= dwc->maximum_speed; dwc3_writel(dwc->regs, DWC3_DCFG, reg); dwc->start_config_issued = false; Loading Loading
drivers/usb/dwc3/core.c +15 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,10 @@ #include "debug.h" static char *maximum_speed = "super"; module_param(maximum_speed, charp, 0); MODULE_PARM_DESC(maximum_speed, "Maximum supported speed."); /** * dwc3_core_soft_reset - Issues core soft reset and PHY reset * @dwc: pointer to our context structure Loading Loading @@ -370,6 +374,17 @@ static int __devinit dwc3_probe(struct platform_device *pdev) dwc->dev = &pdev->dev; dwc->irq = irq; if (!strncmp("super", maximum_speed, 5)) dwc->maximum_speed = DWC3_DCFG_SUPERSPEED; else if (!strncmp("high", maximum_speed, 4)) dwc->maximum_speed = DWC3_DCFG_HIGHSPEED; else if (!strncmp("full", maximum_speed, 4)) dwc->maximum_speed = DWC3_DCFG_FULLSPEED1; else if (!strncmp("low", maximum_speed, 3)) dwc->maximum_speed = DWC3_DCFG_LOWSPEED; else dwc->maximum_speed = DWC3_DCFG_SUPERSPEED; pm_runtime_enable(&pdev->dev); pm_runtime_get_sync(&pdev->dev); pm_runtime_forbid(&pdev->dev); Loading
drivers/usb/dwc3/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -555,6 +555,7 @@ struct dwc3_hwparams { * @regs: base address for our registers * @regs_size: address space size * @irq: IRQ number * @maximum_speed: maximum speed requested (mainly for testing purposes) * @revision: revision register contents * @is_selfpowered: true when we are selfpowered * @three_stage_setup: set if we perform a three phase setup Loading Loading @@ -595,6 +596,7 @@ struct dwc3 { int irq; u32 maximum_speed; u32 revision; #define DWC3_REVISION_173A 0x5533173a Loading
drivers/usb/dwc3/gadget.c +1 −1 Original line number Diff line number Diff line Loading @@ -1183,7 +1183,7 @@ static int dwc3_gadget_start(struct usb_gadget *g, reg = dwc3_readl(dwc->regs, DWC3_DCFG); reg &= ~(DWC3_DCFG_SPEED_MASK); reg |= DWC3_DCFG_SUPERSPEED; reg |= dwc->maximum_speed; dwc3_writel(dwc->regs, DWC3_DCFG, reg); dwc->start_config_issued = false; Loading