xref: /openbmc/linux/drivers/usb/cdns3/Kconfig (revision 3d829045)
1*3d829045SPawel Laszczakconfig USB_CDNS_SUPPORT
2*3d829045SPawel 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
6*3d829045SPawel Laszczak	help
7*3d829045SPawel Laszczak	  Say Y here if your system has a Cadence USBSS or USBSSP
8*3d829045SPawel Laszczak	  dual-role controller.
9*3d829045SPawel Laszczak	  It supports: dual-role switch, Host-only, and Peripheral-only.
10*3d829045SPawel Laszczak
11*3d829045SPawel Laszczakconfig USB_CDNS_HOST
12*3d829045SPawel Laszczak	bool
13*3d829045SPawel Laszczak
14*3d829045SPawel Laszczakif USB_CDNS_SUPPORT
15*3d829045SPawel Laszczak
16*3d829045SPawel Laszczakconfig USB_CDNS3
17*3d829045SPawel Laszczak	tristate "Cadence USB3 Dual-Role Controller"
18*3d829045SPawel 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.
25*3d829045SPawel 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
42*3d829045SPawel 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
817733f6c3SPawel Laszczakendif
82*3d829045SPawel Laszczak
83*3d829045SPawel Laszczakif USB_CDNS_SUPPORT
84*3d829045SPawel Laszczak
85*3d829045SPawel Laszczakconfig USB_CDNSP_PCI
86*3d829045SPawel Laszczak	tristate "Cadence CDNSP Dual-Role Controller"
87*3d829045SPawel Laszczak	depends on USB_CDNS_SUPPORT && USB_PCI && ACPI
88*3d829045SPawel Laszczak	help
89*3d829045SPawel Laszczak	  Say Y here if your system has a Cadence CDNSP dual-role controller.
90*3d829045SPawel Laszczak	  It supports: dual-role switch Host-only, and Peripheral-only.
91*3d829045SPawel Laszczak
92*3d829045SPawel Laszczak	  If you choose to build this driver is a dynamically linked
93*3d829045SPawel Laszczak	  module, the module will be called cdnsp.ko.
94*3d829045SPawel Laszczakendif
95*3d829045SPawel Laszczak
96*3d829045SPawel Laszczakif USB_CDNSP_PCI
97*3d829045SPawel Laszczak
98*3d829045SPawel Laszczakconfig USB_CDNSP_GADGET
99*3d829045SPawel Laszczak	bool "Cadence CDNSP device controller"
100*3d829045SPawel Laszczak	depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI
101*3d829045SPawel Laszczak	help
102*3d829045SPawel Laszczak	  Say Y here to enable device controller functionality of the
103*3d829045SPawel Laszczak	  Cadence CDNSP-DEV driver.
104*3d829045SPawel Laszczak
105*3d829045SPawel Laszczak	  Cadence CDNSP Device Controller in device mode is
106*3d829045SPawel Laszczak	  very similar to XHCI controller. Therefore some algorithms
107*3d829045SPawel Laszczak	  used has been taken from host driver.
108*3d829045SPawel Laszczak	  This controller supports FF, HS, SS and SSP mode.
109*3d829045SPawel Laszczak	  It doesn't support LS.
110*3d829045SPawel Laszczak
111*3d829045SPawel Laszczakconfig USB_CDNSP_HOST
112*3d829045SPawel Laszczak	bool "Cadence CDNSP host controller"
113*3d829045SPawel Laszczak	depends on USB=y || USB=USB_CDNSP_PCI
114*3d829045SPawel Laszczak	select USB_CDNS_HOST
115*3d829045SPawel Laszczak	help
116*3d829045SPawel Laszczak	  Say Y here to enable host controller functionality of the
117*3d829045SPawel Laszczak	  Cadence driver.
118*3d829045SPawel Laszczak
119*3d829045SPawel Laszczak	  Host controller is compliant with XHCI so it uses
120*3d829045SPawel Laszczak	  standard XHCI driver.
121*3d829045SPawel Laszczak
122*3d829045SPawel Laszczakendif
123