[PATCH v2 0/5] usb: Add quirk for writing high-low order

Daehwan Jung posted 5 patches 1 year, 6 months ago
There is a newer version of this series
Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
Documentation/devicetree/bindings/usb/usb-xhci.yaml  | 4 ++++
drivers/usb/dwc3/core.c                              | 3 +++
drivers/usb/dwc3/core.h                              | 2 ++
drivers/usb/dwc3/host.c                              | 5 ++++-
drivers/usb/host/xhci-mem.c                          | 5 ++++-
drivers/usb/host/xhci-plat.c                         | 3 +++
drivers/usb/host/xhci.h                              | 2 ++
8 files changed, 27 insertions(+), 2 deletions(-)
[PATCH v2 0/5] usb: Add quirk for writing high-low order
Posted by Daehwan Jung 1 year, 6 months ago
There's the limitation of Synopsys dwc3 controller with ERST programming in
supporting separate ERSTBA_HI and ERSTBA_LO programming. It's supported when
the ERSTBA is programmed ERSTBA_HI before ERSTBA_LO. But, writing operations
in xHCI is done low-high order following xHCI spec. xHCI specification 5.1
"Register Conventions" states that 64 bit registers should be written in
low-high order. Synopsys dwc3 needs workaround for high-low order. That's why
I add new quirk to support this.

---
Changes in v2:
- add a quirk in dwc3
- add dt-bindings of dwc3/xhci
- set the quirk in xhci-plat from dwc3
Link to v1: https://lore.kernel.org/r/1716875836-186791-1-git-send-email-dh10.jung@samsung.com/

Changes in v1:
- add a quirk in xhci
- use the quirk for programming ERST high-low order
Link to RFC: https://lore.kernel.org/r/1716339839-44022-1-git-send-email-dh10.jung@samsung.com/

---

Daehwan Jung (5):
  dt-bindings: usb: snps,dwc3: Add 'snps,xhci-write-64-hi-lo-quirk'
    quirk
  usb: dwc3: Support quirk for writing high-low order
  dt-bindings: usb: xhci: Add 'write-64-hi-lo-quirk' quirk
  xhci: Add a quirk for writing ERST in high-low order
  usb: host: xhci-plat: Add support for XHCI_WRITE_64_HI_LO_QUIRK

 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
 Documentation/devicetree/bindings/usb/usb-xhci.yaml  | 4 ++++
 drivers/usb/dwc3/core.c                              | 3 +++
 drivers/usb/dwc3/core.h                              | 2 ++
 drivers/usb/dwc3/host.c                              | 5 ++++-
 drivers/usb/host/xhci-mem.c                          | 5 ++++-
 drivers/usb/host/xhci-plat.c                         | 3 +++
 drivers/usb/host/xhci.h                              | 2 ++
 8 files changed, 27 insertions(+), 2 deletions(-)

-- 
2.7.4