aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Jun <B47624@freescale.com>2014-03-31 20:09:34 -0400
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 12:02:34 -0400
commit8e1d8d5e1bce096257e64625e27a2c3b6a50a151 (patch)
treec4727a330ee3be4979c1e0d236db284bf660a846
parent6506caa121d2a062cfa4c0da868a939fc23893bd (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.c10
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);