|
@@ -1005,6 +1005,21 @@ static void s3c_hsudc_initep(struct s3c_hsudc *hsudc,
|
|
|
hsep->stopped = 0;
|
|
|
hsep->wedge = 0;
|
|
|
|
|
|
+ if (epnum == 0) {
|
|
|
+ hsep->ep.caps.type_control = true;
|
|
|
+ hsep->ep.caps.dir_in = true;
|
|
|
+ hsep->ep.caps.dir_out = true;
|
|
|
+ } else {
|
|
|
+ hsep->ep.caps.type_iso = true;
|
|
|
+ hsep->ep.caps.type_bulk = true;
|
|
|
+ hsep->ep.caps.type_int = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (epnum & 1)
|
|
|
+ hsep->ep.caps.dir_in = true;
|
|
|
+ else
|
|
|
+ hsep->ep.caps.dir_out = true;
|
|
|
+
|
|
|
set_index(hsudc, epnum);
|
|
|
writel(hsep->ep.maxpacket, hsudc->regs + S3C_MPR);
|
|
|
}
|