I am working with a customer who has an iMX35 based design running linux 2.6.31. They are wanting to use the (internal) UTMI USB peripheral in a device-only mode, ultimately, but even attempting to configure this port for host mode appears to cause the processor to hang(!). The following register writes were captured, configuring the peripheral, and the processor hangs instantly upon writing to the 0x0184 (PORTSC1) register:
======> writel( val=0x00000000, regs=0xc487e148 )
Interrupt Enable Register (UOG_USBINTR)
Disables all device interrupts
======> writel( val=0x00080b02, regs=0xc487e140 )
USB Command Register (UOG_USBCMD)
======> writel( val=0x00000003, regs=0xc487e1a8 )
USB Device Mode (UOG_USBMODE)
======> writel( val=0x10000000, regs=0xc487e184 )
Port Status & Control (UOG_PORTSC1)
PHY clock enabled
We've been over the reference manual pretty thoroughly and have find nothing that would seem to cause this behavior. We have a Freescale 3-stack evaluation board on order to attempt to see if we can get Freescale's own hardware and distribution can be configured such that it demonstrates the UTMI working.
The question for the community here is, "Has anyone here gotten the UTMI port working on iMX35 linux?"
Thanks in advance,