| 1 | config 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 | |
| 11 | config USB_CDNS_HOST |
| 12 | bool |
| 13 | |
| 14 | if USB_CDNS_SUPPORT |
| 15 | |
| 16 | config 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. |
| 25 | endif |
| 26 | |
| 27 | if USB_CDNS3 |
| 28 | |
| 29 | config 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 | |
| 39 | config 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 | |
| 50 | config 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 | |
| 61 | config 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 | |
| 71 | config 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 | |
| 81 | endif |
| 82 | |
| 83 | if USB_CDNS_SUPPORT |
| 84 | |
| 85 | config 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. |
| 94 | endif |
| 95 | |
| 96 | if USB_CDNSP_PCI |
| 97 | |
| 98 | config 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 | |
| 111 | config 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 | |
| 122 | endif |