diff options
author | John Crispin <john@openwrt.org> | 2016-04-21 19:47:02 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2016-04-21 19:47:02 +0000 |
commit | a6c7c0029e7ac71b340690647c74cd509469b1d8 (patch) | |
tree | 7b903045b6e96348876476cbe98abdab057ddf97 /target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch | |
parent | 37b50fdb92742024849241cf41091f97e11b2ba0 (diff) | |
download | mtk-20170518-a6c7c0029e7ac71b340690647c74cd509469b1d8.zip mtk-20170518-a6c7c0029e7ac71b340690647c74cd509469b1d8.tar.gz mtk-20170518-a6c7c0029e7ac71b340690647c74cd509469b1d8.tar.bz2 |
ramips: awake rt305x USB controller
Because of Ralink uboot set USB controller into sleep mode [1]
we check it and awake controller before any registers access.
Fix ticket #21396 [2]
[1] http://marc.info/?l=linux-usb&m=137398626102108&w=2
[2] https://dev.openwrt.org/ticket/21396
Signed-Off-By: Serge Vasilugin <vasilugin@yandex.ru>
SVN-Revision: 49212
Diffstat (limited to 'target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch')
-rw-r--r-- | target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch b/target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch new file mode 100644 index 0000000..9608f6f --- /dev/null +++ b/target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch @@ -0,0 +1,15 @@ +--- 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) { |