162306a36Sopenharmony_ciconfig USB_CDNS_SUPPORT 262306a36Sopenharmony_ci tristate "Cadence USB Support" 362306a36Sopenharmony_ci depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA 462306a36Sopenharmony_ci select USB_XHCI_PLATFORM if USB_XHCI_HCD 562306a36Sopenharmony_ci select USB_ROLE_SWITCH 662306a36Sopenharmony_ci help 762306a36Sopenharmony_ci Say Y here if your system has a Cadence USBSS or USBSSP 862306a36Sopenharmony_ci dual-role controller. 962306a36Sopenharmony_ci It supports: dual-role switch, Host-only, and Peripheral-only. 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciconfig USB_CDNS_HOST 1262306a36Sopenharmony_ci bool 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciif USB_CDNS_SUPPORT 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconfig USB_CDNS3 1762306a36Sopenharmony_ci tristate "Cadence USB3 Dual-Role Controller" 1862306a36Sopenharmony_ci depends on USB_CDNS_SUPPORT 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci Say Y here if your system has a Cadence USB3 dual-role controller. 2162306a36Sopenharmony_ci It supports: dual-role switch, Host-only, and Peripheral-only. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci If you choose to build this driver is a dynamically linked 2462306a36Sopenharmony_ci as module, the module will be called cdns3.ko. 2562306a36Sopenharmony_ciendif 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciif USB_CDNS3 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig USB_CDNS3_GADGET 3062306a36Sopenharmony_ci bool "Cadence USB3 device controller" 3162306a36Sopenharmony_ci depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 3262306a36Sopenharmony_ci help 3362306a36Sopenharmony_ci Say Y here to enable device controller functionality of the 3462306a36Sopenharmony_ci Cadence USBSS-DEV driver. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci This controller supports FF, HS and SS mode. It doesn't support 3762306a36Sopenharmony_ci LS and SSP mode. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciconfig USB_CDNS3_HOST 4062306a36Sopenharmony_ci bool "Cadence USB3 host controller" 4162306a36Sopenharmony_ci depends on USB=y || USB=USB_CDNS3 4262306a36Sopenharmony_ci select USB_CDNS_HOST 4362306a36Sopenharmony_ci help 4462306a36Sopenharmony_ci Say Y here to enable host controller functionality of the 4562306a36Sopenharmony_ci Cadence driver. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci Host controller is compliant with XHCI so it will use 4862306a36Sopenharmony_ci standard XHCI driver. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciconfig USB_CDNS3_PCI_WRAP 5162306a36Sopenharmony_ci tristate "Cadence USB3 support on PCIe-based platforms" 5262306a36Sopenharmony_ci depends on USB_PCI && ACPI 5362306a36Sopenharmony_ci default USB_CDNS3 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci If you're using the USBSS Core IP with a PCIe, please say 5662306a36Sopenharmony_ci 'Y' or 'M' here. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci If you choose to build this driver as module it will 5962306a36Sopenharmony_ci be dynamically linked and module will be called cdns3-pci.ko 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciconfig USB_CDNS3_TI 6262306a36Sopenharmony_ci tristate "Cadence USB3 support on TI platforms" 6362306a36Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 6462306a36Sopenharmony_ci default USB_CDNS3 6562306a36Sopenharmony_ci help 6662306a36Sopenharmony_ci Say 'Y' or 'M' here if you are building for Texas Instruments 6762306a36Sopenharmony_ci platforms that contain Cadence USB3 controller core. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci e.g. J721e. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig USB_CDNS3_IMX 7262306a36Sopenharmony_ci tristate "Cadence USB3 support on NXP i.MX platforms" 7362306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 7462306a36Sopenharmony_ci default USB_CDNS3 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci Say 'Y' or 'M' here if you are building for NXP i.MX 7762306a36Sopenharmony_ci platforms that contain Cadence USB3 controller core. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci For example, imx8qm and imx8qxp. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciconfig USB_CDNS3_STARFIVE 8262306a36Sopenharmony_ci tristate "Cadence USB3 support on StarFive SoC platforms" 8362306a36Sopenharmony_ci depends on ARCH_STARFIVE || COMPILE_TEST 8462306a36Sopenharmony_ci help 8562306a36Sopenharmony_ci Say 'Y' or 'M' here if you are building for StarFive SoCs 8662306a36Sopenharmony_ci platforms that contain Cadence USB3 controller core. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci e.g. JH7110. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci If you choose to build this driver as module it will 9162306a36Sopenharmony_ci be dynamically linked and module will be called cdns3-starfive.ko 9262306a36Sopenharmony_ciendif 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciif USB_CDNS_SUPPORT 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciconfig USB_CDNSP_PCI 9762306a36Sopenharmony_ci tristate "Cadence CDNSP Dual-Role Controller" 9862306a36Sopenharmony_ci depends on USB_CDNS_SUPPORT && USB_PCI && ACPI 9962306a36Sopenharmony_ci help 10062306a36Sopenharmony_ci Say Y here if your system has a Cadence CDNSP dual-role controller. 10162306a36Sopenharmony_ci It supports: dual-role switch Host-only, and Peripheral-only. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci If you choose to build this driver is a dynamically linked 10462306a36Sopenharmony_ci module, the module will be called cdnsp.ko. 10562306a36Sopenharmony_ciendif 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciif USB_CDNSP_PCI 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciconfig USB_CDNSP_GADGET 11062306a36Sopenharmony_ci bool "Cadence CDNSP device controller" 11162306a36Sopenharmony_ci depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI 11262306a36Sopenharmony_ci help 11362306a36Sopenharmony_ci Say Y here to enable device controller functionality of the 11462306a36Sopenharmony_ci Cadence CDNSP-DEV driver. 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci Cadence CDNSP Device Controller in device mode is 11762306a36Sopenharmony_ci very similar to XHCI controller. Therefore some algorithms 11862306a36Sopenharmony_ci used has been taken from host driver. 11962306a36Sopenharmony_ci This controller supports FF, HS, SS and SSP mode. 12062306a36Sopenharmony_ci It doesn't support LS. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig USB_CDNSP_HOST 12362306a36Sopenharmony_ci bool "Cadence CDNSP host controller" 12462306a36Sopenharmony_ci depends on USB=y || USB=USB_CDNSP_PCI 12562306a36Sopenharmony_ci select USB_CDNS_HOST 12662306a36Sopenharmony_ci help 12762306a36Sopenharmony_ci Say Y here to enable host controller functionality of the 12862306a36Sopenharmony_ci Cadence driver. 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci Host controller is compliant with XHCI so it uses 13162306a36Sopenharmony_ci standard XHCI driver. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciendif 134