mbox series

[0/2] usb: host: ehci-platform: add a quirk to avoid stuck

Message ID 1579258447-28135-1-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
Headers show
Series usb: host: ehci-platform: add a quirk to avoid stuck | expand

Message

Yoshihiro Shimoda Jan. 17, 2020, 10:54 a.m. UTC
Since EHCI/OHCI controllers on R-Car Gen3 SoCs are possible to
be getting stuck very rarely after a full/low usb device was
disconnected. To detect/recover from such a situation, the controllers
require a special way which poll the EHCI PORTSC register and changes
the OHCI functional state.

So, this patch adds a polling timer into the ehci-platform driver,
and if the ehci driver detects the issue by the EHCI PORTSC register,
the ehci driver removes a companion device (= the OHCI controller)
to change the OHCI functional state to USB Reset once. And then,
the ehci driver adds the companion device again.

Yoshihiro Shimoda (2):
  dt-bindings: usb: generic-ehci: add a quirk property to avoid stuck
  usb: host: ehci-platform: add a quirk to avoid stuck

 .../devicetree/bindings/usb/generic-ehci.yaml      |   5 +
 drivers/usb/host/ehci-platform.c                   | 104 +++++++++++++++++++++
 2 files changed, 109 insertions(+)