|
@@ -1729,6 +1729,7 @@ init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
|
|
|
INIT_LIST_HEAD(&ep->end_point.ep_list);
|
|
|
if (!epnum) {
|
|
|
usb_ep_set_maxpacket_limit(&ep->end_point, 64);
|
|
|
+ ep->end_point.caps.type_control = true;
|
|
|
ep->end_point.ops = &musb_g_ep0_ops;
|
|
|
musb->g.ep0 = &ep->end_point;
|
|
|
} else {
|
|
@@ -1736,9 +1737,20 @@ init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
|
|
|
usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_tx);
|
|
|
else
|
|
|
usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_rx);
|
|
|
+ ep->end_point.caps.type_iso = true;
|
|
|
+ ep->end_point.caps.type_bulk = true;
|
|
|
+ ep->end_point.caps.type_int = true;
|
|
|
ep->end_point.ops = &musb_ep_ops;
|
|
|
list_add_tail(&ep->end_point.ep_list, &musb->g.ep_list);
|
|
|
}
|
|
|
+
|
|
|
+ if (!epnum || hw_ep->is_shared_fifo) {
|
|
|
+ ep->end_point.caps.dir_in = true;
|
|
|
+ ep->end_point.caps.dir_out = true;
|
|
|
+ } else if (is_in)
|
|
|
+ ep->end_point.caps.dir_in = true;
|
|
|
+ else
|
|
|
+ ep->end_point.caps.dir_out = true;
|
|
|
}
|
|
|
|
|
|
/*
|