]> err.no Git - linux-2.6/blobdiff - drivers/usb/gadget/at91_udc.c
Merge ../linux-2.6
[linux-2.6] / drivers / usb / gadget / at91_udc.c
index b6b2a0a5ba376e3310ddd0b2133f16b78d35b03a..e2d8a5d86c40d079ad82a07ef3514ae8d178b08b 100644 (file)
@@ -1687,6 +1687,19 @@ static int __init at91udc_probe(struct platform_device *pdev)
                                udc->board.pullup_active_low);
        }
 
+       /* newer chips have more FIFO memory than rm9200 */
+       if (cpu_is_at91sam9260()) {
+               udc->ep[0].maxpacket = 64;
+               udc->ep[3].maxpacket = 64;
+               udc->ep[4].maxpacket = 512;
+               udc->ep[5].maxpacket = 512;
+       } else if (cpu_is_at91sam9261()) {
+               udc->ep[3].maxpacket = 64;
+       } else if (cpu_is_at91sam9263()) {
+               udc->ep[0].maxpacket = 64;
+               udc->ep[3].maxpacket = 64;
+       }
+
        udc->udp_baseaddr = ioremap(res->start, res->end - res->start + 1);
        if (!udc->udp_baseaddr) {
                retval = -ENOMEM;