Atmel USBA

modulename: atmel_usba_udc.ko

configname: CONFIG_USB_ATMEL_USBA

Linux Kernel Configuration
└─>Device Drivers
└─>USB support
└─>USB Gadget Support
└─>USB Peripheral Controller
└─>Atmel USBA
In linux kernel since version 2.6.24 (release Date: 2008-01-24)  
USBA is the integrated high-speed USB Device controller on
the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel.

The fifo_mode parameter is used to select endpoint allocation mode.
fifo_mode = 0 is used to let the driver autoconfigure the endpoints.
In this case, for ep1 2 banks are allocated if it works in isochronous
mode and only 1 bank otherwise. For the rest of the endpoints
only 1 bank is allocated.

fifo_mode = 1 is a generic maximum fifo size (1024 bytes) configuration
allowing the usage of ep1 - ep6

fifo_mode = 2 is a generic performance maximum fifo size (1024 bytes)
configuration allowing the usage of ep1 - ep3

fifo_mode = 3 is a balanced performance configuration allowing the
the usage of ep1 - ep8

source code: