config USB_CDNS_SUPPORT tristate "Cadence USB Support" depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_XHCI_HCD select USB_ROLE_SWITCH help Say Y here if your system has a Cadence USBSS or USBSSP dual-role controller. It supports: dual-role switch, Host-only, and Peripheral-only. config USB_CDNS_HOST bool if USB_CDNS_SUPPORT config USB_CDNS3 tristate "Cadence USB3 Dual-Role Controller" depends on USB_CDNS_SUPPORT help Say Y here if your system has a Cadence USB3 dual-role controller. It supports: dual-role switch, Host-only, and Peripheral-only. If you choose to build this driver is a dynamically linked as module, the module will be called cdns3.ko. endif if USB_CDNS3 config USB_CDNS3_GADGET bool "Cadence USB3 device controller" depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 help Say Y here to enable device controller functionality of the Cadence USBSS-DEV driver. This controller supports FF, HS and SS mode. It doesn't support LS and SSP mode. config USB_CDNS3_HOST bool "Cadence USB3 host controller" depends on USB=y || USB=USB_CDNS3 select USB_CDNS_HOST help Say Y here to enable host controller functionality of the Cadence driver. Host controller is compliant with XHCI so it will use standard XHCI driver. config USB_CDNS3_PCI_WRAP tristate "Cadence USB3 support on PCIe-based platforms" depends on USB_PCI && ACPI default USB_CDNS3 help If you're using the USBSS Core IP with a PCIe, please say 'Y' or 'M' here. If you choose to build this driver as module it will be dynamically linked and module will be called cdns3-pci.ko config USB_CDNS3_TI tristate "Cadence USB3 support on TI platforms" depends on ARCH_K3 || COMPILE_TEST default USB_CDNS3 help Say 'Y' or 'M' here if you are building for Texas Instruments platforms that contain Cadence USB3 controller core. e.g. J721e. config USB_CDNS3_IMX tristate "Cadence USB3 support on NXP i.MX platforms" depends on ARCH_MXC || COMPILE_TEST default USB_CDNS3 help Say 'Y' or 'M' here if you are building for NXP i.MX platforms that contain Cadence USB3 controller core. For example, imx8qm and imx8qxp. endif if USB_CDNS_SUPPORT config USB_CDNSP_PCI tristate "Cadence CDNSP Dual-Role Controller" depends on USB_CDNS_SUPPORT && USB_PCI && ACPI help Say Y here if your system has a Cadence CDNSP dual-role controller. It supports: dual-role switch Host-only, and Peripheral-only. If you choose to build this driver is a dynamically linked module, the module will be called cdnsp.ko. endif if USB_CDNSP_PCI config USB_CDNSP_GADGET bool "Cadence CDNSP device controller" depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI help Say Y here to enable device controller functionality of the Cadence CDNSP-DEV driver. Cadence CDNSP Device Controller in device mode is very similar to XHCI controller. Therefore some algorithms used has been taken from host driver. This controller supports FF, HS, SS and SSP mode. It doesn't support LS. config USB_CDNSP_HOST bool "Cadence CDNSP host controller" depends on USB=y || USB=USB_CDNSP_PCI select USB_CDNS_HOST help Say Y here to enable host controller functionality of the Cadence driver. Host controller is compliant with XHCI so it uses standard XHCI driver. endif