Subject: MUSB dual-role on AM335x behaving weirdly

From: [email-masked] (Felipe Balbi)
Date: Tue, 4 Aug 2015 14:32:57 -0500

On Tue, Aug 04, 2015 at 04:23:02PM +0200, Gregory CLEMENT wrote:
> Hi again,
> On 04/08/2015 15:08, Gregory CLEMENT wrote:
> > Hi Bin,
> > 
> > On 02/07/2015 19:05, Bin Liu wrote:
> >> Hi,
> >>
> >> On Thu, Jul 2, 2015 at 2:16 AM, Gregory CLEMENT
> >> <[email-masked]> wrote:
> >>> Hi Felipe,
> >>>
> >>> On 27/05/2015 11:42, Alexandre Belloni wrote:
> >>>> Hi,
> >>>>
> >>>> On 26/05/2015 at 09:51:18 -0500, Felipe Balbi wrote :
> >>>>> On Thu, May 14, 2015 at 04:36:33PM -0500, Bin Liu wrote:
> >>>>>> Alexandre,
> >>>>>>
> >>>>>> On Thu, May 14, 2015 at 4:26 PM, Alexandre Belloni
> >>>>>> <[email-masked]> wrote:
> >>>>>>> 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.
> >>>>>>
> >>>>>> Have you measured the VBUS discharging? Is there any way to share your
> >>>>>> schematics?
> >>>>>
> >>>>> Alexandre, any further comments ?
> >>>>>
> >>>>
> >>>> Yeah, I have just got more info.
> >>>>
> >>>> This is the relevant part of the schematic:
> >>>> http://free-electrons.com/~alexandre/usb.png
> >>>>
> >>>> The total VBUS capacitance is 200nF and the USB0 pins are connected
> >>>> directly to the AM3358 pins. U1 is actually not fitted.
> >>>>
> >>>> We didn't measure VBUS discharging but we observe the OTG pin sensing
> >>>> stops when plugging an OTG cable without any device.
> >>>
> >>> Do you have any news about this topic?
> >>>
> >>>
> >>> Is there something else that we can do to help solving this issue?
> >>
> >> In the case of CONFIG_USB_MUSB_DUAL_ROLE=y and dr_mode=otg, how is the
> >> gadget driver configured? It has to be a module not built-in.
> > 
> > Indeed when I configured CONFIG_USB_MUSB_HDRC=m and CONFIG_USB_MUSB_DSPS=m
> > it worked seamless.
> > 
> 
> Actually it didn't worked. And now sometimes I even received continuously
> the following message:
> 
>  musb_bus_suspend 2484: trying to suspend as a_wait_vfall while active

this is likely because your VBUS hasn't dropped below 0.8V fast enough.

I could only trigger this message in that situation. Use a scope to poke
at VBUS and see how long is takes to reach 0.8V, this could all be cause
by too much capacitance on VBUS line.

cheers

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150804/2369ce05/attachment.sig>