xref: /openbmc/linux/drivers/usb/cdns3/Kconfig (revision bfb46b42)
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