1config USB_CDNS_SUPPORT 2 tristate "Cadence USB Support" 3 depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA 4 select USB_XHCI_PLATFORM if USB_XHCI_HCD 5 select USB_ROLE_SWITCH 6 help 7 Say Y here if your system has a Cadence USBSS or USBSSP 8 dual-role controller. 9 It supports: dual-role switch, Host-only, and Peripheral-only. 10 11config USB_CDNS_HOST 12 bool 13 14if USB_CDNS_SUPPORT 15 16config USB_CDNS3 17 tristate "Cadence USB3 Dual-Role Controller" 18 depends on USB_CDNS_SUPPORT 19 help 20 Say Y here if your system has a Cadence USB3 dual-role controller. 21 It supports: dual-role switch, Host-only, and Peripheral-only. 22 23 If you choose to build this driver is a dynamically linked 24 as module, the module will be called cdns3.ko. 25endif 26 27if USB_CDNS3 28 29config USB_CDNS3_GADGET 30 bool "Cadence USB3 device controller" 31 depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 32 help 33 Say Y here to enable device controller functionality of the 34 Cadence USBSS-DEV driver. 35 36 This controller supports FF, HS and SS mode. It doesn't support 37 LS and SSP mode. 38 39config USB_CDNS3_HOST 40 bool "Cadence USB3 host controller" 41 depends on USB=y || USB=USB_CDNS3 42 select USB_CDNS_HOST 43 help 44 Say Y here to enable host controller functionality of the 45 Cadence driver. 46 47 Host controller is compliant with XHCI so it will use 48 standard XHCI driver. 49 50config USB_CDNS3_PCI_WRAP 51 tristate "Cadence USB3 support on PCIe-based platforms" 52 depends on USB_PCI && ACPI 53 default USB_CDNS3 54 help 55 If you're using the USBSS Core IP with a PCIe, please say 56 'Y' or 'M' here. 57 58 If you choose to build this driver as module it will 59 be dynamically linked and module will be called cdns3-pci.ko 60 61config USB_CDNS3_TI 62 tristate "Cadence USB3 support on TI platforms" 63 depends on ARCH_K3 || COMPILE_TEST 64 default USB_CDNS3 65 help 66 Say 'Y' or 'M' here if you are building for Texas Instruments 67 platforms that contain Cadence USB3 controller core. 68 69 e.g. J721e. 70 71config USB_CDNS3_IMX 72 tristate "Cadence USB3 support on NXP i.MX platforms" 73 depends on ARCH_MXC || COMPILE_TEST 74 default USB_CDNS3 75 help 76 Say 'Y' or 'M' here if you are building for NXP i.MX 77 platforms that contain Cadence USB3 controller core. 78 79 For example, imx8qm and imx8qxp. 80 81config USB_CDNS3_STARFIVE 82 tristate "Cadence USB3 support on StarFive SoC platforms" 83 depends on ARCH_STARFIVE || COMPILE_TEST 84 help 85 Say 'Y' or 'M' here if you are building for StarFive SoCs 86 platforms that contain Cadence USB3 controller core. 87 88 e.g. JH7110. 89 90 If you choose to build this driver as module it will 91 be dynamically linked and module will be called cdns3-starfive.ko 92endif 93 94if USB_CDNS_SUPPORT 95 96config USB_CDNSP_PCI 97 tristate "Cadence CDNSP Dual-Role Controller" 98 depends on USB_CDNS_SUPPORT && USB_PCI && ACPI 99 help 100 Say Y here if your system has a Cadence CDNSP dual-role controller. 101 It supports: dual-role switch Host-only, and Peripheral-only. 102 103 If you choose to build this driver is a dynamically linked 104 module, the module will be called cdnsp.ko. 105endif 106 107if USB_CDNSP_PCI 108 109config USB_CDNSP_GADGET 110 bool "Cadence CDNSP device controller" 111 depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI 112 help 113 Say Y here to enable device controller functionality of the 114 Cadence CDNSP-DEV driver. 115 116 Cadence CDNSP Device Controller in device mode is 117 very similar to XHCI controller. Therefore some algorithms 118 used has been taken from host driver. 119 This controller supports FF, HS, SS and SSP mode. 120 It doesn't support LS. 121 122config USB_CDNSP_HOST 123 bool "Cadence CDNSP host controller" 124 depends on USB=y || USB=USB_CDNSP_PCI 125 select USB_CDNS_HOST 126 help 127 Say Y here to enable host controller functionality of the 128 Cadence driver. 129 130 Host controller is compliant with XHCI so it uses 131 standard XHCI driver. 132 133endif 134