diff options
author | Li Jun <B47624@freescale.com> | 2014-03-31 20:09:34 -0400 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 12:02:34 -0400 |
commit | 8e1d8d5e1bce096257e64625e27a2c3b6a50a151 (patch) | |
tree | c4727a330ee3be4979c1e0d236db284bf660a846 | |
parent | 6506caa121d2a062cfa4c0da868a939fc23893bd (diff) |
ENGR00307558-4 usb: chipidea: udc: driver update for OTG HNP.
Add b_hnp_enable request handling and enable gadget->is_otg
Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Li Jun <b47624@freescale.com>
-rw-r--r-- | drivers/usb/chipidea/udc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 44b3fbe6de7c..eeb96fbb9b6b 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c | |||
@@ -1095,6 +1095,14 @@ __acquires(ci->lock) | |||
1095 | default: | 1095 | default: |
1096 | break; | 1096 | break; |
1097 | } | 1097 | } |
1098 | break; | ||
1099 | case USB_DEVICE_B_HNP_ENABLE: | ||
1100 | if (ci_otg_is_fsm_mode(ci)) { | ||
1101 | ci->gadget.b_hnp_enable = 1; | ||
1102 | err = isr_setup_status_phase( | ||
1103 | ci); | ||
1104 | } | ||
1105 | break; | ||
1098 | default: | 1106 | default: |
1099 | goto delegate; | 1107 | goto delegate; |
1100 | } | 1108 | } |
@@ -1805,7 +1813,7 @@ static int udc_start(struct ci_hdrc *ci) | |||
1805 | ci->gadget.ops = &usb_gadget_ops; | 1813 | ci->gadget.ops = &usb_gadget_ops; |
1806 | ci->gadget.speed = USB_SPEED_UNKNOWN; | 1814 | ci->gadget.speed = USB_SPEED_UNKNOWN; |
1807 | ci->gadget.max_speed = USB_SPEED_HIGH; | 1815 | ci->gadget.max_speed = USB_SPEED_HIGH; |
1808 | ci->gadget.is_otg = 0; | 1816 | ci->gadget.is_otg = ci->is_otg ? 1 : 0; |
1809 | ci->gadget.name = ci->platdata->name; | 1817 | ci->gadget.name = ci->platdata->name; |
1810 | 1818 | ||
1811 | INIT_LIST_HEAD(&ci->gadget.ep_list); | 1819 | INIT_LIST_HEAD(&ci->gadget.ep_list); |