diff options
author | Peter Chen <peter.chen@freescale.com> | 2014-08-19 09:51:56 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-23 21:28:41 -0700 |
commit | f6a9ff07832a9d30d457e976e6233b4351cd4cdf (patch) | |
tree | f6df9103fd4466bf982148ecbff768c2740d16bc /drivers/usb/chipidea | |
parent | 05f8b35a62efb8e70ebcd78e9c957324e9caddad (diff) |
usb: chipidea: add TPL support for targeted hosts
For OTG and Embedded hosts, they may need TPL (Targeted Peripheral List)
for usb certification and other vender specific requirements, the
platform can tell chipidea core driver if it supports tpl through DT
or platform data.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea')
-rw-r--r-- | drivers/usb/chipidea/core.c | 4 | ||||
-rw-r--r-- | drivers/usb/chipidea/host.c | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 619d13e2999..41d45a16dd3 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -473,6 +473,10 @@ static int ci_get_platdata(struct device *dev, PTR_ERR(platdata->reg_vbus)); return PTR_ERR(platdata->reg_vbus); } + /* Get TPL support */ + if (!platdata->tpl_support) + platdata->tpl_support = + of_usb_host_tpl_support(dev->of_node); } if (of_usb_get_maximum_speed(dev->of_node) == USB_SPEED_FULL) diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index a93d950e946..0d6b24cb227 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -60,6 +60,7 @@ static int host_start(struct ci_hdrc *ci) hcd->power_budget = ci->platdata->power_budget; hcd->phy = ci->transceiver; + hcd->tpl_support = ci->platdata->tpl_support; ehci = hcd_to_ehci(hcd); ehci->caps = ci->hw_bank.cap; |