X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fusb%2Fgadget%2Fat91_udc.c;h=a8a1de41332135907ab27718f07633b155dc83ef;hb=49b75b87ce2dfbd99e59a50c3681b154d07e3a22;hp=b6b2a0a5ba376e3310ddd0b2133f16b78d35b03a;hpb=b312bf359e20cc39c00d480fd40a24c245d80bf7;p=linux-2.6 diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c index b6b2a0a5ba..a8a1de4133 100644 --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c @@ -40,16 +40,15 @@ #include #include -#include +#include #include #include #include -#include #include -#include -#include -#include +#include +#include +#include #include "at91_udc.h" @@ -1687,6 +1686,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;