Subject: MUSB dual-role on AM335x behaving weirdly

From: [email-masked] (Alexandre Belloni)
Date: Thu, 14 May 2015 23:26:53 +0200

On 14/05/2015 at 16:16:12 -0500, Bin Liu wrote :
> I think I found the root cause of the problem: board design issue - I
> bet the custom board has too much cap on VBUS line. It should be <
> 10uF.
> 

We have a custom board that exhibits the issue but it only has a 100nF
cap on VBUS.

> I just noticed I have the Jumper 36 on on my EVM, which adds 154.7uF
> cap on VBUS causing discharge takes ~20sec. After removed the jumper,
> which leaves only 4.7uF cap on VBUS, now it only takes ~0.4sec to
> generate Disconnect IRQ. Here is the log.
> 
> root@:~# [ 2504.893123] musb-hdrc musb-hdrc.0.auto: usbintr (1) epintr(0)
> [ 2504.899198] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x1
> [ 2504.912751] zero gadget: suspend
> [ 2504.916145] zero gadget: zero_suspend
> [ 2505.303937] musb-hdrc musb-hdrc.0.auto: usbintr (20) epintr(0)
> [ 2505.310072] musb-hdrc musb-hdrc.0.auto: <== DevCtl=88, int_usb=0x20
> [ 2505.325355] zero gadget: reset config
> [ 2507.303288] musb-hdrc musb-hdrc.0.auto: Poll devctl 80 (b_idle)
> 

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com