Re: Fwd: DWC3 Gadget SS enumeration

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

 



On Tue, Oct 11, 2022, Dan Scally wrote:
> Hi Thinh - I understand you took over maintenance of the DWC3 recently, hope
> the direct mail is ok; I'm a bit stuck with the dwc3 and hoping for some
> suggestions.
> 

If it's related to dwc3, you can email me and Cc the linux-usb as you did.

> 
> 
> Basically I am trying to get a usb gadget to enumerate in SuperSpeed mode.
> The board for the gadget is an imx8mp-evk with a dwc3. I've tested
> connecting to a couple of different hosts, but I can't get the gadget to
> enumerate on either host at superspeed. Tracing through the code it seems to
> understand that it is intended to operate in SuperSpeed - calls to
> dwc3_gadget_set_speed() are trying to set SuperSpeed for example - however
> when the dwc3 interrupt route runs dwc3_gadget_conndone_interrupt() at that
> point it sets high-speed instead. That setting comes from the register at
> offset 0xc70c, but when I enable trace points for dwc3_readl() and
> dwc3_writel() I don't see any events that write to that, only reads. I
> assume that means that the hardware itself is negotiating high-speed mode,
> and I'm hoping you might be able to suggest reasons that might influence
> that to happen.
> 
> 
> I attached a dump of the tracepoints and registers. I think from
> DCFG=0x00d8081c that it's setting max speed to superspeed but from
> DSTS=0x008edb68 that the actual speed is set to high speed, but I could be
> wrong there. As I say I suspect that this isn't a "software" (or at least
> kernel) decision - if that's borne out by the traces could you suggest
> possible causes for the hardware to choose to fall back to high speed?
> 

If the signal is not stable, then the link can downgrade to lower
speeds. The setting in DCFG sets the maximum speed the controller would
operate in, but other factors affect the connected speed. Did you verify
that the cable you're using is good? Did you try connecting another eSS
device the same host to elimiate any setup issue outside of dwc3
controller/driver?

What's the topology? Is the device directly connected to the roothub?

BR,
Thinh




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

  Powered by Linux