13d829045SPawel Laszczakconfig USB_CDNS_SUPPORT 23d829045SPawel Laszczak tristate "Cadence USB Support" 37733f6c3SPawel Laszczak depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA 47733f6c3SPawel Laszczak select USB_XHCI_PLATFORM if USB_XHCI_HCD 57733f6c3SPawel Laszczak select USB_ROLE_SWITCH 63d829045SPawel Laszczak help 73d829045SPawel Laszczak Say Y here if your system has a Cadence USBSS or USBSSP 83d829045SPawel Laszczak dual-role controller. 93d829045SPawel Laszczak It supports: dual-role switch, Host-only, and Peripheral-only. 103d829045SPawel Laszczak 113d829045SPawel Laszczakconfig USB_CDNS_HOST 123d829045SPawel Laszczak bool 133d829045SPawel Laszczak 143d829045SPawel Laszczakif USB_CDNS_SUPPORT 153d829045SPawel Laszczak 163d829045SPawel Laszczakconfig USB_CDNS3 173d829045SPawel Laszczak tristate "Cadence USB3 Dual-Role Controller" 183d829045SPawel Laszczak depends on USB_CDNS_SUPPORT 197733f6c3SPawel Laszczak help 207733f6c3SPawel Laszczak Say Y here if your system has a Cadence USB3 dual-role controller. 217733f6c3SPawel Laszczak It supports: dual-role switch, Host-only, and Peripheral-only. 227733f6c3SPawel Laszczak 237733f6c3SPawel Laszczak If you choose to build this driver is a dynamically linked 247733f6c3SPawel Laszczak as module, the module will be called cdns3.ko. 253d829045SPawel Laszczakendif 267733f6c3SPawel Laszczak 277733f6c3SPawel Laszczakif USB_CDNS3 287733f6c3SPawel Laszczak 297733f6c3SPawel Laszczakconfig USB_CDNS3_GADGET 307733f6c3SPawel Laszczak bool "Cadence USB3 device controller" 317733f6c3SPawel Laszczak depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 327733f6c3SPawel Laszczak help 337733f6c3SPawel Laszczak Say Y here to enable device controller functionality of the 347733f6c3SPawel Laszczak Cadence USBSS-DEV driver. 357733f6c3SPawel Laszczak 367733f6c3SPawel Laszczak This controller supports FF, HS and SS mode. It doesn't support 377733f6c3SPawel Laszczak LS and SSP mode. 387733f6c3SPawel Laszczak 397733f6c3SPawel Laszczakconfig USB_CDNS3_HOST 407733f6c3SPawel Laszczak bool "Cadence USB3 host controller" 417733f6c3SPawel Laszczak depends on USB=y || USB=USB_CDNS3 423d829045SPawel Laszczak select USB_CDNS_HOST 437733f6c3SPawel Laszczak help 447733f6c3SPawel Laszczak Say Y here to enable host controller functionality of the 457733f6c3SPawel Laszczak Cadence driver. 467733f6c3SPawel Laszczak 477733f6c3SPawel Laszczak Host controller is compliant with XHCI so it will use 487733f6c3SPawel Laszczak standard XHCI driver. 497733f6c3SPawel Laszczak 507733f6c3SPawel Laszczakconfig USB_CDNS3_PCI_WRAP 517733f6c3SPawel Laszczak tristate "Cadence USB3 support on PCIe-based platforms" 527733f6c3SPawel Laszczak depends on USB_PCI && ACPI 537733f6c3SPawel Laszczak default USB_CDNS3 547733f6c3SPawel Laszczak help 557733f6c3SPawel Laszczak If you're using the USBSS Core IP with a PCIe, please say 567733f6c3SPawel Laszczak 'Y' or 'M' here. 577733f6c3SPawel Laszczak 587733f6c3SPawel Laszczak If you choose to build this driver as module it will 597733f6c3SPawel Laszczak be dynamically linked and module will be called cdns3-pci.ko 607733f6c3SPawel Laszczak 61387c359bSRoger Quadrosconfig USB_CDNS3_TI 62387c359bSRoger Quadros tristate "Cadence USB3 support on TI platforms" 63387c359bSRoger Quadros depends on ARCH_K3 || COMPILE_TEST 64387c359bSRoger Quadros default USB_CDNS3 65387c359bSRoger Quadros help 66387c359bSRoger Quadros Say 'Y' or 'M' here if you are building for Texas Instruments 67387c359bSRoger Quadros platforms that contain Cadence USB3 controller core. 68387c359bSRoger Quadros 69387c359bSRoger Quadros e.g. J721e. 70387c359bSRoger Quadros 711e056efaSPeter Chenconfig USB_CDNS3_IMX 721e056efaSPeter Chen tristate "Cadence USB3 support on NXP i.MX platforms" 731e056efaSPeter Chen depends on ARCH_MXC || COMPILE_TEST 741e056efaSPeter Chen default USB_CDNS3 751e056efaSPeter Chen help 761e056efaSPeter Chen Say 'Y' or 'M' here if you are building for NXP i.MX 771e056efaSPeter Chen platforms that contain Cadence USB3 controller core. 781e056efaSPeter Chen 791e056efaSPeter Chen For example, imx8qm and imx8qxp. 801e056efaSPeter Chen 81*bfb46b42SMinda Chenconfig USB_CDNS3_STARFIVE 82*bfb46b42SMinda Chen tristate "Cadence USB3 support on StarFive SoC platforms" 83*bfb46b42SMinda Chen depends on ARCH_STARFIVE || COMPILE_TEST 84*bfb46b42SMinda Chen help 85*bfb46b42SMinda Chen Say 'Y' or 'M' here if you are building for StarFive SoCs 86*bfb46b42SMinda Chen platforms that contain Cadence USB3 controller core. 87*bfb46b42SMinda Chen 88*bfb46b42SMinda Chen e.g. JH7110. 89*bfb46b42SMinda Chen 90*bfb46b42SMinda Chen If you choose to build this driver as module it will 91*bfb46b42SMinda Chen be dynamically linked and module will be called cdns3-starfive.ko 927733f6c3SPawel Laszczakendif 933d829045SPawel Laszczak 943d829045SPawel Laszczakif USB_CDNS_SUPPORT 953d829045SPawel Laszczak 963d829045SPawel Laszczakconfig USB_CDNSP_PCI 973d829045SPawel Laszczak tristate "Cadence CDNSP Dual-Role Controller" 983d829045SPawel Laszczak depends on USB_CDNS_SUPPORT && USB_PCI && ACPI 993d829045SPawel Laszczak help 1003d829045SPawel Laszczak Say Y here if your system has a Cadence CDNSP dual-role controller. 1013d829045SPawel Laszczak It supports: dual-role switch Host-only, and Peripheral-only. 1023d829045SPawel Laszczak 1033d829045SPawel Laszczak If you choose to build this driver is a dynamically linked 1043d829045SPawel Laszczak module, the module will be called cdnsp.ko. 1053d829045SPawel Laszczakendif 1063d829045SPawel Laszczak 1073d829045SPawel Laszczakif USB_CDNSP_PCI 1083d829045SPawel Laszczak 1093d829045SPawel Laszczakconfig USB_CDNSP_GADGET 1103d829045SPawel Laszczak bool "Cadence CDNSP device controller" 1113d829045SPawel Laszczak depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI 1123d829045SPawel Laszczak help 1133d829045SPawel Laszczak Say Y here to enable device controller functionality of the 1143d829045SPawel Laszczak Cadence CDNSP-DEV driver. 1153d829045SPawel Laszczak 1163d829045SPawel Laszczak Cadence CDNSP Device Controller in device mode is 1173d829045SPawel Laszczak very similar to XHCI controller. Therefore some algorithms 1183d829045SPawel Laszczak used has been taken from host driver. 1193d829045SPawel Laszczak This controller supports FF, HS, SS and SSP mode. 1203d829045SPawel Laszczak It doesn't support LS. 1213d829045SPawel Laszczak 1223d829045SPawel Laszczakconfig USB_CDNSP_HOST 1233d829045SPawel Laszczak bool "Cadence CDNSP host controller" 1243d829045SPawel Laszczak depends on USB=y || USB=USB_CDNSP_PCI 1253d829045SPawel Laszczak select USB_CDNS_HOST 1263d829045SPawel Laszczak help 1273d829045SPawel Laszczak Say Y here to enable host controller functionality of the 1283d829045SPawel Laszczak Cadence driver. 1293d829045SPawel Laszczak 1303d829045SPawel Laszczak Host controller is compliant with XHCI so it uses 1313d829045SPawel Laszczak standard XHCI driver. 1323d829045SPawel Laszczak 1333d829045SPawel Laszczakendif 134