Hi Thinh, On Fri, Jun 03, 2022 at 07:48:28PM -0700, Thinh Nguyen wrote: > Synopsys DWC_usb3x IPs are used on many different platforms. Since they > share the same IP, often the quirks are common across different > platforms and versions. This drives the need to find a way to handle all > the common (and platform specific) quirks and separate its logic from > dwc3 and xhci core logic. Hopefully this helps reduce introducing new > device properties while maintaining abstraction. > > So, let's create a xhci-snps glue extension that can apply to xhci-plat > and xhci-pci glue drivers and teach it to handle DWC_usb3x hosts. For > this particular change, we'll start with xhci-plat glue driver. > > Signed-off-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> > --- > drivers/usb/host/Kconfig | 8 ++ > drivers/usb/host/Makefile | 3 + > drivers/usb/host/xhci-plat.c | 40 ++++++++ > drivers/usb/host/xhci-plat.h | 3 + > drivers/usb/host/xhci-snps.c | 185 +++++++++++++++++++++++++++++++++++ > drivers/usb/host/xhci-snps.h | 32 ++++++ > 6 files changed, 271 insertions(+) > create mode 100644 drivers/usb/host/xhci-snps.c > create mode 100644 drivers/usb/host/xhci-snps.h > > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig > index 57ca5f97a3dc..efbfb79baf44 100644 > --- a/drivers/usb/host/Kconfig > +++ b/drivers/usb/host/Kconfig > @@ -62,6 +62,14 @@ config USB_XHCI_PLATFORM > > If unsure, say N. > > +config USB_XHCI_SNPS > + bool "xHCI fine tune for Synopsys platforms" > + help > + Say 'Y' to enable additional fine tune for Synopsys DWC_usb3x xHCI > + controllers. > + > + If unsure, say N. > + Can this work without compiling in dwc3? i.e directly adding xhci-plat from device tree or some wrapper to create platform device assuming that DWC3 core is initialized and forced in HOST role? Thanks, Pavan