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.

AM37xx Not Detecting USB3320 PHY Line State Interrupt

Hi,

We are experiencing an issue with detecting the USB line state through the USB3320 PHY.

It appears that  the AM37xx is NOT receiving the 0004 PCD interrupt to detect the line state, but the PHY does send a RXCMD with 01b as the line state.

This is same processor and reference design used from the BeagleBoard xM Rev B. The only board difference is that the transceiver is attached to a downstream hub instead of the Ethernet combo chip.

The same code works properly on the Beagle xM, but not in our custom design.

The only dmesg log difference is shown below where the Beagle xM registers the interrupt as "irq status 0004 PCD"  then detects the device, but our board does not register the interrupt or detect the downstream hub.

 

Here is a low-res plot showing the power-on sequence. Triggered at RBIAS going high after power-on. The plots shows DIR is properly asserted during the reset sequence until CLKOUT starts.

 

After DIR falls, we zoom in to grab a high-res plot. This is triggered on the falling edge of DIR. That plot is shown below.

 

 

As expected, we see DIR first fall, then rise again to begin transmitting the first RXCMD with line state information. At the rising edge of the REFCLK, the line state on BUS1 is shown as 01, which is what I would expect for hi-speed hub attached.

Note: STP was never asserted again after the REFCLK was started.

What could be wrong with the AM37xx initialization sequence preventing the interrupt from happening on the AM37xx side?

 

Thanks in advance,

  • What I'm trying to say is the PHY seems to be operating as expected.

    Is there something extremely sensitive on the OMAP with the ULPI interface?

    Any help with this issue?

  • Here are some suggestions:

    -It is hard to determine whether or not this is an issue with the ULPI interface or your interrupt setup.  Are you confident that you have your interrupts setup correctly?  That is, do you receive this interrupt at different times, or other interrupts?  I think if you did not change the kernel in this area, you should be OK.

    -Please review the AM37x errata for issues with the USB HOST interface that could be related to this.

    -The USB3320 does have noise susceptibility on 1.8V.  Is the 1.8V for the PHY powered on a separate rail?  Is the layout around AM37x and USB3320 similar to Beagle.  Trace length skew, trace width and spacing are important. 

    Regards,

    James