Re: link state problem with dwc3 in supper-speed device mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 26, 2016 at 10:20:11AM +0300, Roger Quadros wrote:
> Hi,
> 
> On 25/10/16 23:55, Bin Liu wrote:
> > Felipe,
> > 
> > On Tue, Oct 25, 2016 at 08:57:26AM -0500, Bin Liu wrote:
> >> On Tue, Oct 25, 2016 at 04:44:13PM +0300, Felipe Balbi wrote:
> >>
> >> [snip]
> >>
> >>>> Just reviewed this patch, it seems to be the regression. But SS should
> >>>> not generate ID pin event either, right? SS uses far-end termination, it
> >>>> does not have ID pin as USB2.0. I will try to revert this patch to find
> >>>> out...
> >>>
> >>> it's not about speed :-) ID pin is used nevertheless to choose role, but
> >>
> >> Yeah, you are right. I messed it up with type-C, somehow thought ID pin
> >> is not required for SS :-(
> >>
> >>> some TI boards didn't provide any methods for VBUS sampling, so ID pin
> >>> was used to tell DWC3 if it should be host/device AND if VBUS_VALID or
> >>> not.
> >>>
> >>> Note that we end up lying to the controller because we could set
> >>> VBUS_VALID before VBUS really is valid, but it's better than never
> >>> seeing a connection at all ;-)
> >>
> >> Make more sense now :-) I will play with the patch mentioned, and ensure
> >> any future boards have vbus sampling so we can decouple it with ID pin
> >> events in the UTMI mailbox.
> >>
> >> Still need to figure out why highspeed is not affected...
> > 
> > Ok, I think I understand most part of the problems now.
> > 
> > VBUS detect is required for disconnect event, so AM57x board design
> > should have a GPIO for VBUS detect to feed to extcon.
> > 
> > 1. why only SS is affected on dra7-evm?
> > 
> > This is because of USB3.0 LPM. With g_zero, dwc3 SS in device mode goes
> > to U2 after been enumerated, in which state dwc3 is unable to detect any
> > change other than link change. But dwc3 HS stays in U0 after been
> > enumerated, so the link goes to RX.Detect after detach from the host. So
> > dwc3 HS can still detect the connect to host even with lack of
> > disconnect interrupt.
> > 
> > 2. why dra7-evm used to work?
> > 
> > Very likely the kernel at that time does not support LPM, so
> > dwc3 SS is still in U0 after been enumerated, the same case as in HS
> > above. At least this is what I see with kernel 3.14, in which dwc3 SS
> > doesn't go to U2.
> 
> So does this mean that it still won't work with the suspected patch
> removed? As there is no way of telling about VBUS status on dra7-evm.

I didn't revert the suspected patch, as I don't think it will make it
work. microB cable doesn't ground ID pin, so detaching the cable won't
trigger the UTMI mailbox at all, the patch is not in the path.

I verified the mailbox notifier is not called when remove the cable.

> 
> How can we workaround this on that evm? is disabling LPM on dra7-evm possible?

I don't think there is any workaround, other than a board change. I
tried to disable LPM, and it did solve the issue, but it generates new
problem - USB3 LPM compliance.

Regards,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux