^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) config USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) tristate "Cadence USB3 Dual-Role Controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) select USB_XHCI_PLATFORM if USB_XHCI_HCD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select USB_ROLE_SWITCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Say Y here if your system has a Cadence USB3 dual-role controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) It supports: dual-role switch, Host-only, and Peripheral-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) If you choose to build this driver is a dynamically linked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) as module, the module will be called cdns3.ko.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) if USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) config USB_CDNS3_GADGET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) bool "Cadence USB3 device controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) depends on USB_GADGET=y || USB_GADGET=USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Say Y here to enable device controller functionality of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Cadence USBSS-DEV driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) This controller supports FF, HS and SS mode. It doesn't support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) LS and SSP mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) config USB_CDNS3_HOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) bool "Cadence USB3 host controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) depends on USB=y || USB=USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Say Y here to enable host controller functionality of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Cadence driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Host controller is compliant with XHCI so it will use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) standard XHCI driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config USB_CDNS3_PCI_WRAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) tristate "Cadence USB3 support on PCIe-based platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) depends on USB_PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) default USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) If you're using the USBSS Core IP with a PCIe, please say
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 'Y' or 'M' here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) If you choose to build this driver as module it will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) be dynamically linked and module will be called cdns3-pci.ko
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) config USB_CDNS3_TI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) tristate "Cadence USB3 support on TI platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) depends on ARCH_K3 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) default USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Say 'Y' or 'M' here if you are building for Texas Instruments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) platforms that contain Cadence USB3 controller core.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) e.g. J721e.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) config USB_CDNS3_IMX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) tristate "Cadence USB3 support on NXP i.MX platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) depends on ARCH_MXC || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) default USB_CDNS3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Say 'Y' or 'M' here if you are building for NXP i.MX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) platforms that contain Cadence USB3 controller core.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) For example, imx8qm and imx8qxp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) endif