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.

DM816x USB issues: no DRVVBUS interrupt and occurring VBUS_ERROR interrupt

Hi, everyone.

Two boards among all of our customized DM8168 boards have USB related issues. At one board (board A) the two USB controllers haven't received DRVVBUS interrupts at all during the booting of the Linux kernel. At the other board (board B), one USB controller is OK, but the other USB controller doesn't work normally after the receipt of a VBUS_ERROR interrupt.

The following lines are the debug message of the Linux kernel and the content of /proc/driver/musb_hdrc.1 for both board A and board B.

===========================================================================================================

board A:

musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb_start 966: <== devctl 80
musb_hub_control 417: set feature 8
musb_init_controller 2200: HOST mode, status 0, devctl 81 B
musb-hdrc musb-hdrc.1: USB Host mode controller at d082e800 using DMA, IRQ 19
Registered /proc/driver/musb_hdrc.1

musb_hub_control 343: port status 00000100

# cat /proc/driver/musb_hdrc.1
Status: MHDRC, Mode=Host (Power=e0, DevCtl=81)
OTG state: a_idle; inactive
Options: cppi41-dma, host, debug=8 [eps=16]
Root port status: 00000100
CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0

board B:

musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb_start 966: <== devctl 80
musb_hub_control 417: set feature 8
musb_init_controller 2200: HOST mode, status 0, devctl 81 B
musb-hdrc musb-hdrc.1: USB Host mode controller at d082e800 using DMA, IRQ 19
Registered /proc/driver/musb_hdrc.1

ti81xx_interrupt 870: usbintr (100) epintr(0)
ti81xx_interrupt 939: VBUS on (a_wait_vrise), devctl 19
ti81xx_interrupt 870: usbintr (100) epintr(0)
ti81xx_interrupt 939: VBUS on (a_wait_vrise), devctl 19
musb_hub_control 343: port status 00000100
musb_hub_control 343: port status 00000100

ti81xx_interrupt 870: usbintr (80) epintr(0)
musb_interrupt 1649: ** IRQ peripheral usb0080 tx0000 rx0000
musb_stage0_irq 494: <== Power=e0, DevCtl=80, int_usb=0x80
musb_stage0_irq 673: VBUS_ERROR in a_wait_vrise (81, <SessEnd), retry #1, port1 00000100
ti81xx_interrupt 870: usbintr (180) epintr(0)
ti81xx_interrupt 917: VBUS error workaround (delay coming)
ti81xx_interrupt 939: VBUS off (a_wait_vfall) ERROR, devctl 80

otg_timer 610: Poll devctl 80 (a_wait_vfall)

~ # cat /proc/driver/musb_hdrc.1
Status: MHDRC, Mode=Host (Power=e0, DevCtl=80)
OTG state: a_wait_vrise; active
Options: cppi41-dma, host, debug=8 [eps=16]
Root port status: 00000100
CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0

===========================================================================================================

The software on all of our customized DM8168 boards are the same. We also have checked the hardware parts of the two boards, but nothing found.

Any help will be appreciated, Thanks very much.

Regards,

George