This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP3503ECBB HSUSB0 and USB3322 USB PHY

This is a new board design using the 3503. I opted to use the SMSC USB3322 as my USB PHY and connected it to HSUSB0. Problem: It doesn't work.

The first iteration of the design had the PHY in Clock In mode (CLKOUT tied to V_IO, REFCLK tied to ULPI_CLK from HSUSB0.) After seeing no ULPI clock I found that I erred and that HSUSB0's CLK pin is input only. No problem: I re-wired my board to bring a 12MHz external clock to the PHY's REFCLK pin and tied CLKOUT to the ULPI_CLK pin on the OMAP. That produced a good looking 60MHz ULPI clock but the OMAP is not seeing it.

The PHY's ID pin is tied to ground. We are seeing regular activity on the ULPI bus that suggests writes to the OTG_CTL register of the PHY but that's it. Never anything else. We see no activity on DP/DM on the PHY's output. These are connected to a USB2513 3-port hub. When we separate the hub from the PHY (cut traces) and wire it to a PC we can see and use the hub normally.

We're running the Linux Angstrom kernel version 2.6.39.

I'm aware of the errata note talking about USB3320 interoperability issues but those seem to involve suspend mode and the Beagleboard uses the same PHY without issues. The only difference I can see between that design and ours is that they're using HSUSB2 whereas we're using HSUSB0. They use the PHY in Clock In mode from HSUSB2 whereas we're (now) doing Clock Out mode.

We've tried multiple boards and have basically ruled out connectivity or manufacturing issues (e.g. ball disconnects, shorts etc).

Can anyone suggest reasons why this interface may not be working?