[PATCH] usb: dwc3: Add disable u2mac linestate check quirk

Jagan Teki jagan at amarulasolutions.com
Fri May 8 20:50:23 CEST 2020


On Sat, May 9, 2020 at 12:17 AM Marek Vasut <marex at denx.de> wrote:
>
> On 5/8/20 8:39 PM, Jagan Teki wrote:
> > This patch adds a quirk to disable USB 2.0 MAC linestate check
> > during HS transmit. Refer the dwc3 databook, we can use it for
> > some special platforms if the linestate not reflect the expected
> > line state(J) during transmission.
> >
> > When use this quirk, the controller implements a fixed 40-bit
> > TxEndDelay after the packet is given on UTMI and ignores the
> > linestate during the transmit of a token (during token-to-token
> > and token-to-data IPGAP).
> >
> > On some rockchip platforms (e.g. rk3399), it requires to disable
> > the u2mac linestate check to decrease the SSPLIT token to SETUP
> > token inter-packet delay from 566ns to 466ns, and fix the issue
> > that FS/LS devices not recognized if inserted through USB 3.0 HUB.
> >
> > Reference from below Linux commit,
> >
> > commit <65db7a0c9816> ("usb: dwc3: add disable u2mac linestate
> > check quirk")
>
> Is this related to your Alcor micro USB stick , 058f:6387 , problem?

Yes. Not fully fixed but I can see the disk detecting sometimes.

This is full log:

rock960 => usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (5 Gb/s, 0mA)
  |  U-Boot XHCI Host Controller
  |
  +-2  Mass Storage (480 Mb/s, 200mA)
       Generic Mass Storage 789CDB36

rock960 => usb reset
resetting USB...
Bus usb at fe380000: USB EHCI 1.00
Bus usb at fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
dwc3_core_init: In
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb at fe380000 for devices... 1 USB Device(s) found
scanning bus usb at fe3c0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... WARN halted endpoint, queueing URB anyway.
Unexpected XHCI event TRB, skipping... (7a561670 00000000 13000000 01008401)
"Synchronous Abort" handler, esr 0x96000010
elr: 0000000000254cb8 lr : 0000000000254cb8 (reloc)
elr: 000000007c580cb8 lr : 000000007c580cb8
x0 : 0000000000000000 x1 : 00000000000003e8
x2 : 0000000000000040 x3 : 000000000000003f
x4 : 000000007a55d450 x5 : 0000000000001800
x6 : 000000007c5af028 x7 : 000000000000000f
x8 : 00000000ffffffe8 x9 : 0000000000000008
x10: 0000000000000010 x11: 0000000000000080
x12: 00000000000000fc x13: 0000000000000001
x14: 000000007a511578 x15: 0000000000000008
x16: 0000000000001050 x17: 000000000000001c
x18: 000000007a523d80 x19: 000000007a55a040
x20: 000000007a50fa80 x21: 0000000000000000
x22: 000000007a5518b0 x23: 0000000000000000
x24: 000000007a50f740 x25: 0000000080000283
x26: 0000000000000001 x27: 0000000000000001
x28: 000000007a50f5c0 x29: 000000007a50f420


More information about the U-Boot mailing list