dt-bindings: document a new quirk for dwc3
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 8 Sep 2020 07:20:57 +0000 (09:20 +0200)
committerFelipe Balbi <balbi@kernel.org>
Fri, 2 Oct 2020 06:57:45 +0000 (09:57 +0300)
commit31b5de5f3799a6d1656c0ed3f9ec2c8432eeaeac
tree65041832624756a2c194fabbe4a1ccd514d73581
parentf580170f135af14e287560d94045624d4242d712
dt-bindings: document a new quirk for dwc3

At Hikey 970, setting the SPLIT disable at the General
User Register 3 is required.

Without that, the URBs generated by the usbhid driver
return -EPROTO errors. That causes the code at
hid-core.c to call hid_io_error(), which schedules
a reset_work, causing a call to hid_reset().

In turn, the code there will call:

usb_queue_reset_device(usbhid->intf);

The net result is that the input devices won't work, and
will be reset on every 0.5 seconds:

[   33.122384] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
[   33.378220] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[   33.698394] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
[   34.882365] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
[   35.138217] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[   35.458617] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
[   36.642392] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
[   36.898207] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[   37.218598] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
[   38.402368] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
[   38.658174] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[   38.978594] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
[   40.162361] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
[   40.418148] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
...
[  397.698132] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Documentation/devicetree/bindings/usb/dwc3.txt