i.MX21 USB OTG
mfuzzey at gmail.com
Sat Mar 24 10:10:25 EDT 2012
On Fri, Mar 23, 2012 at 2:09 PM, Derald Woods <woods.rt at gmail.com> wrote:
> Hello Martin,
> I have an existing design that uses the i.MX21 ARM9 processor. The
> design currently uses an external USB OTG chip. The chip is now
> end-of-life. I know that this is an older ARM processor. It still meets
> most of the design needs. Is the i.MX21 OTG functionality considered
> reliable? I have not seen any real success stories with the i.MX21 USB
> OTG implementation. Our board currently utilizes the USB OTG chip at
> the bootloader and Linux kernel level.
It depends what you mean by OTG.
The i.MX21 silicon has 3 USB ports, two of which can only be used as
USB hosts and one which is configurable as host only, function
(device) only or OTG (dynamic switching).
Somewhat confusingly the Freescale documentation refers to the whole
module as "USB-OTG".
However the mainline code only supports host mode (there is no
function driver nor OTG support)
I mainlined the i.MX21 HCD driver for 2.6.34 and fixed a few bugs for
2.6.37 (in particular problems with non aligned buffers causing usbnet
Since then I haven't had any bug reports, the driver also passes the
USB test suite (which I updated to check the buffer alignment
> I would appreciate being pointed in the right direction or warned of
> impending danger. Basically I want to know if the mx21 USB OTG has
> performed well for other embedded Linux designs.
Something very close to the original code on which I based the driver
was shipped with the Chumby (which uses a heavily patched 2.6.16
kernel). However that code had quite a few bugs and didn't support
isochronous transfers at all.
I don't have any direct feedback myself of real world use of the
driver however since we ended up not shipping an iMX21 based Linux
product for non technical reasons.
> I had originally posted to the Barebox mailing list.
Ah I'm not subscribed to that list - adding it as a CC hoping it's not
More information about the barebox