Message ID | 6453381460209562@web3h.yandex.ru |
---|---|
State | Superseded |
Headers | show |
Hi, looks good please send a patch that adds this under target/linux/ramips/patches-4.4 John On 09/04/2016 15:46, Сергей Василюгин wrote: > Long story of rt305x USB controller feature [1] arise again in trunk [2]. > I make quick fix but not sure that it's correct. > Possiblely it's time to reanimate device_reset() patch? > > Signed-Off-By: Serge Vasilugin <vasilugin@yandex.ru> > > [1] http://marc.info/?l=linux-usb&m=137398626102108&w=2 > [2] https://dev.openwrt.org/ticket/21396 > [3] https://dev.openwrt.org/changeset/42445 > > --- a/drivers/usb/dwc2/platform.c > +++ b/drivers/usb/dwc2/platform.c > @@ -375,6 +375,12 @@ static int dwc2_driver_probe(struct plat > dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n", > (unsigned long)res->start, hsotg->regs); > > + /* Enable USB port before any regs access */ > + if(dwc2_readl(hsotg->regs + PCGCTL) & 0x0f) { > + dwc2_writel(0x00, hsotg->regs + PCGCTL); > + /* TODO: mdelay(25) here? vendor driver don't use it */ > + } > + > hsotg->dr_mode = usb_get_dr_mode(&dev->dev); > if (IS_ENABLED(CONFIG_USB_DWC2_HOST) && > hsotg->dr_mode != USB_DR_MODE_HOST) { > > > --- > serge > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel >
--- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -375,6 +375,12 @@ static int dwc2_driver_probe(struct plat dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n", (unsigned long)res->start, hsotg->regs); + /* Enable USB port before any regs access */ + if(dwc2_readl(hsotg->regs + PCGCTL) & 0x0f) { + dwc2_writel(0x00, hsotg->regs + PCGCTL); + /* TODO: mdelay(25) here? vendor driver don't use it */ + } + hsotg->dr_mode = usb_get_dr_mode(&dev->dev); if (IS_ENABLED(CONFIG_USB_DWC2_HOST) && hsotg->dr_mode != USB_DR_MODE_HOST) {
Long story of rt305x USB controller feature [1] arise again in trunk [2]. I make quick fix but not sure that it's correct. Possiblely it's time to reanimate device_reset() patch? Signed-Off-By: Serge Vasilugin <vasilugin@yandex.ru> [1] http://marc.info/?l=linux-usb&m=137398626102108&w=2 [2] https://dev.openwrt.org/ticket/21396 [3] https://dev.openwrt.org/changeset/42445 --- serge