aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/chipidea/core.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-08-14 19:41:11 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-08-14 19:41:11 -0400
commita3fbedf98fe9909cb2e406e2018ec437d64806f6 (patch)
tree701e2060053a2e9ac3052d6aec8a5334061fa123 /drivers/usb/chipidea/core.c
parente6bbe1d05353a29628a4ca72d88bac0bdcec5f38 (diff)
parent2f3cc24f07b8bfe8302a46ceb1ed58cde62cbd09 (diff)
Merge tag 'usb-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes: usb: patches for v4.3 merge window New support for Allwinne SoC on the MUSB driver has been added to the list of glue layers. MUSB also got support for building all DMA engines in one binary; this will be great for distros. DWC3 now has no trace of dev_dbg()/dev_vdbg() usage. We will rely solely on tracing to debug DWC3. There was also a fix for memory corruption with EP0 when maxpacket size transfers are > 512 bytes. Robert's EP capabilities flags is making EP selection a lot simpler. UDCs are now required to set these flags up when adding endpoints to the framework. Other than these, we have the usual set of miscelaneous cleanups and minor fixes. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/chipidea/core.c')
-rw-r--r--drivers/usb/chipidea/core.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 3ad48e1c0c57..ab6212e888e1 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -560,6 +560,8 @@ static irqreturn_t ci_irq(int irq, void *data)
560static int ci_get_platdata(struct device *dev, 560static int ci_get_platdata(struct device *dev,
561 struct ci_hdrc_platform_data *platdata) 561 struct ci_hdrc_platform_data *platdata)
562{ 562{
563 int ret;
564
563 if (!platdata->phy_mode) 565 if (!platdata->phy_mode)
564 platdata->phy_mode = of_usb_get_phy_mode(dev->of_node); 566 platdata->phy_mode = of_usb_get_phy_mode(dev->of_node);
565 567
@@ -588,6 +590,19 @@ static int ci_get_platdata(struct device *dev,
588 of_usb_host_tpl_support(dev->of_node); 590 of_usb_host_tpl_support(dev->of_node);
589 } 591 }
590 592
593 if (platdata->dr_mode == USB_DR_MODE_OTG) {
594 /* We can support HNP and SRP of OTG 2.0 */
595 platdata->ci_otg_caps.otg_rev = 0x0200;
596 platdata->ci_otg_caps.hnp_support = true;
597 platdata->ci_otg_caps.srp_support = true;
598
599 /* Update otg capabilities by DT properties */
600 ret = of_usb_update_otg_caps(dev->of_node,
601 &platdata->ci_otg_caps);
602 if (ret)
603 return ret;
604 }
605
591 if (of_usb_get_maximum_speed(dev->of_node) == USB_SPEED_FULL) 606 if (of_usb_get_maximum_speed(dev->of_node) == USB_SPEED_FULL)
592 platdata->flags |= CI_HDRC_FORCE_FULLSPEED; 607 platdata->flags |= CI_HDRC_FORCE_FULLSPEED;
593 608