Pavan Kondeti wrote: > 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? > Yes. We can enable "xhci-snps-quirks" device property for that. Thanks, Thinh