I am attempting to use the USB OTG and USB Host 1 interfaces on the i.MX6U. The OTG interface connects to a PC and the Host 1 interface connects to a LAN7500 ethernet controller. Out of 10 prototype boards, 2 boards do not recognise the LAN7500 and 1 board does not enumerate on my PC when connected. I've checked all power supplies and soldering connections and haven't found differences between the boards.
I am using at Epson TSX-3225 24Mhz crystal with 12pF capacitors to ground on the input and output pins. I also have a 2.2M resistor from the input to ground. USB_H1_VBUS is supplied with 5V and VDDUSB_CAP is connected to ground through a 2.2uF and 100nF capacitor. The Host 1 USB pair runs directly to the LAN7500 and the OTG diff pair runs directly through a micro USB cable to the PC. Both USB diff traces are impedance matched at 90 Ohms.
I have checked the power requirements on the LAN7500 and have been unable to find any problems there. When I probe the diff pair on a non-functional board the signals stay low.
Has anyone had similar experiences with the USB interfaces or know what I could be doing incorrectly?
Hi Russell
this looks loke hardware, probably poor soldering problem.
Also often bad quality crystal causes similar problems.
One can replace crystal, for example from good board.
Some bare metal test can be done with SDK (usb folder),
it can be run with jtag.
"MX6_PLATFORM_SDK "
https://community.freescale.com/docs/DOC-94139
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I have checked the soldering and have been unable to find any faults so far - I will keep looking.
The crystal we are using is the one considered in EB830. I haven't been able to detect any discrepencies between the crystal on this board and any of the functional boards. I have tried replacing the load capacitors in case there was a mistmatch to the crystal capacitance but without luck.
The bare metal tests are not currently convenient for me. I will keep digging.
EDIT:
When I measure VDDUSB_CAP I get 1.17V, not 3V.
One can check USB_OTG_VBUS, USB_H_VBUS if
they are powered. if VDDUSB_CAP is 1.17V this may be caused by
shorting this line to some other.
signal.
~igor
Hi Igor,
Thanks for your response.
USB_OTG_VBUS and USB_H1_VBUS are both getting the correct voltages in. I have not been able to find any direct shorts between the VDDUSB_CAP line and any other line. Is it possible that the USB regulator is in a disabled state (something to do with the code?)
Hi Russell
one can check Regulator 3P0 Register (PMU_REG_3P0)
~igor