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.

Beagleboard usb can't enumerate LAN9514 at the second time?

Hi,
I’m working on a Beagleboard-xm similar board(only some GPIO difference),and modify uboot&kernel,the board boot-up successfully.
To debug convinently, I include CONFIG_CMD_DHCP、CONFIG_CMD_PING、CONFIG_CMD_NET in uboot, and add mine command to reset LAN9514…

+static int reset_hub(cmd_tbl_t *cmdtp,int flag,int argc,char * const argv[])
+{
+   gpio_request(13,"reset hub");
+   gpio_direction_output(13,1);
+   __udelay(10000);
+   gpio_direction_output(13,0);
+   return 0;   
+}
+U_BOOT_CMD(resethub,CONFIG_SYS_MAXARGS,1,reset_hub,"reset hub","");

But, there is a problem:
When first start usb ,LAN9514 enumerate successfully. But in the second time, LAN9514 enumerate fail.

U-Boot# usb start
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
U-Boot# usb start
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found

I have checked USB2HS_RESET waveform and HUB_RESET waveform,they seems ok.
and I checkout USB3320 ‘s USBDM0、USBDP0 pin, nothing output when “usb start “command, is USB3320 reset fail?

And my kernel can’t enumerate LAN9514 either,the dmesg say “connection is closed”:

ehci-omap ehci-omap.0: GetStatus port:2 status 003002 0 ACK POWER OWNER sig=se0 CSC