0001 config USB_CDNS_SUPPORT
0002 tristate "Cadence USB Support"
0003 depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA
0004 select USB_XHCI_PLATFORM if USB_XHCI_HCD
0005 select USB_ROLE_SWITCH
0006 help
0007 Say Y here if your system has a Cadence USBSS or USBSSP
0008 dual-role controller.
0009 It supports: dual-role switch, Host-only, and Peripheral-only.
0010
0011 config USB_CDNS_HOST
0012 bool
0013
0014 if USB_CDNS_SUPPORT
0015
0016 config USB_CDNS3
0017 tristate "Cadence USB3 Dual-Role Controller"
0018 depends on USB_CDNS_SUPPORT
0019 help
0020 Say Y here if your system has a Cadence USB3 dual-role controller.
0021 It supports: dual-role switch, Host-only, and Peripheral-only.
0022
0023 If you choose to build this driver is a dynamically linked
0024 as module, the module will be called cdns3.ko.
0025 endif
0026
0027 if USB_CDNS3
0028
0029 config USB_CDNS3_GADGET
0030 bool "Cadence USB3 device controller"
0031 depends on USB_GADGET=y || USB_GADGET=USB_CDNS3
0032 help
0033 Say Y here to enable device controller functionality of the
0034 Cadence USBSS-DEV driver.
0035
0036 This controller supports FF, HS and SS mode. It doesn't support
0037 LS and SSP mode.
0038
0039 config USB_CDNS3_HOST
0040 bool "Cadence USB3 host controller"
0041 depends on USB=y || USB=USB_CDNS3
0042 select USB_CDNS_HOST
0043 help
0044 Say Y here to enable host controller functionality of the
0045 Cadence driver.
0046
0047 Host controller is compliant with XHCI so it will use
0048 standard XHCI driver.
0049
0050 config USB_CDNS3_PCI_WRAP
0051 tristate "Cadence USB3 support on PCIe-based platforms"
0052 depends on USB_PCI && ACPI
0053 default USB_CDNS3
0054 help
0055 If you're using the USBSS Core IP with a PCIe, please say
0056 'Y' or 'M' here.
0057
0058 If you choose to build this driver as module it will
0059 be dynamically linked and module will be called cdns3-pci.ko
0060
0061 config USB_CDNS3_TI
0062 tristate "Cadence USB3 support on TI platforms"
0063 depends on ARCH_K3 || COMPILE_TEST
0064 default USB_CDNS3
0065 help
0066 Say 'Y' or 'M' here if you are building for Texas Instruments
0067 platforms that contain Cadence USB3 controller core.
0068
0069 e.g. J721e.
0070
0071 config USB_CDNS3_IMX
0072 tristate "Cadence USB3 support on NXP i.MX platforms"
0073 depends on ARCH_MXC || COMPILE_TEST
0074 default USB_CDNS3
0075 help
0076 Say 'Y' or 'M' here if you are building for NXP i.MX
0077 platforms that contain Cadence USB3 controller core.
0078
0079 For example, imx8qm and imx8qxp.
0080
0081 endif
0082
0083 if USB_CDNS_SUPPORT
0084
0085 config USB_CDNSP_PCI
0086 tristate "Cadence CDNSP Dual-Role Controller"
0087 depends on USB_CDNS_SUPPORT && USB_PCI && ACPI
0088 help
0089 Say Y here if your system has a Cadence CDNSP dual-role controller.
0090 It supports: dual-role switch Host-only, and Peripheral-only.
0091
0092 If you choose to build this driver is a dynamically linked
0093 module, the module will be called cdnsp.ko.
0094 endif
0095
0096 if USB_CDNSP_PCI
0097
0098 config USB_CDNSP_GADGET
0099 bool "Cadence CDNSP device controller"
0100 depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI
0101 help
0102 Say Y here to enable device controller functionality of the
0103 Cadence CDNSP-DEV driver.
0104
0105 Cadence CDNSP Device Controller in device mode is
0106 very similar to XHCI controller. Therefore some algorithms
0107 used has been taken from host driver.
0108 This controller supports FF, HS, SS and SSP mode.
0109 It doesn't support LS.
0110
0111 config USB_CDNSP_HOST
0112 bool "Cadence CDNSP host controller"
0113 depends on USB=y || USB=USB_CDNSP_PCI
0114 select USB_CDNS_HOST
0115 help
0116 Say Y here to enable host controller functionality of the
0117 Cadence driver.
0118
0119 Host controller is compliant with XHCI so it uses
0120 standard XHCI driver.
0121
0122 endif