Our i.MX28-based design is powered using +3.3V (battery input) and we don't have +5V on our board. We are planning to use USB as a communication link between a pair of our boards (cross-connected between USB0 and USB1), and are having trouble getting USB to work in a 3.3V-only environment. We don't really care about OTG and are looking for a way to configure the USB0 controller to always operate as a device. We're running Linux with the standard Freescale drivers.
What we're observing is that when the VDD5V input is left floating, the USB0 controller never gets to the "attached" state. In other words, after setting the RUN_STOP bit in the USBCMD register, the CCS (Connect Status) bit is never set in the PORTSC1 register.
As an experiment, we also tried feeding +3.3V to VDD5V, and this made a big difference. After disabling a check for B_SESSION_VALID in the OTGSC register in the Linux OTG driver (arcotg_udc.c), USB communication started to work. The problem is that in this configuration, we are unable to successfully reboot the system -- it locks up after issuing a "reboot" command, and toggling the RESETN input leads to the same result. It looks like supplying +3.3V on the VDD5V input really confuses the PMU subsystem and it won't start up after a soft reset (i.e. control does not even reach imx-bootlets).
We would appreciate any information on whether it is possible to use device-mode USB in a 3.3V-only configuration, where the VDD5V input is left floating.
Thanks in advance,
did you got your USB0 working without the 5V?? I have almost the same design, and experiencing the same issue. I'm afraid that the internal design of the mx28 needs the 5V at VDD5V,and there is no option other than supplying the 5V.
Thanks in advance.
I agree, when supplying the VDD5V, is must be in the range of 4.75 - 525V, but I'm looking for a solution to get the USB0 working without the VDD5V. In our design the VDD5V is connector to GND via a 100K resistor.