|  | 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. | 
|  |  | 
|  | config USB_CDNS3_STARFIVE | 
|  | tristate "Cadence USB3 support on StarFive SoC platforms" | 
|  | depends on ARCH_STARFIVE || COMPILE_TEST | 
|  | help | 
|  | Say 'Y' or 'M' here if you are building for StarFive SoCs | 
|  | platforms that contain Cadence USB3 controller core. | 
|  |  | 
|  | e.g. JH7110. | 
|  |  | 
|  | If you choose to build this driver as module it will | 
|  | be dynamically linked and module will be called cdns3-starfive.ko | 
|  | 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 |