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 81endif 82 83if USB_CDNS_SUPPORT 84 85config USB_CDNSP_PCI 86 tristate "Cadence CDNSP Dual-Role Controller" 87 depends on USB_CDNS_SUPPORT && USB_PCI && ACPI 88 help 89 Say Y here if your system has a Cadence CDNSP dual-role controller. 90 It supports: dual-role switch Host-only, and Peripheral-only. 91 92 If you choose to build this driver is a dynamically linked 93 module, the module will be called cdnsp.ko. 94endif 95 96if USB_CDNSP_PCI 97 98config USB_CDNSP_GADGET 99 bool "Cadence CDNSP device controller" 100 depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI 101 help 102 Say Y here to enable device controller functionality of the 103 Cadence CDNSP-DEV driver. 104 105 Cadence CDNSP Device Controller in device mode is 106 very similar to XHCI controller. Therefore some algorithms 107 used has been taken from host driver. 108 This controller supports FF, HS, SS and SSP mode. 109 It doesn't support LS. 110 111config USB_CDNSP_HOST 112 bool "Cadence CDNSP host controller" 113 depends on USB=y || USB=USB_CDNSP_PCI 114 select USB_CDNS_HOST 115 help 116 Say Y here to enable host controller functionality of the 117 Cadence driver. 118 119 Host controller is compliant with XHCI so it uses 120 standard XHCI driver. 121 122endif 123