xref: /linux/drivers/usb/cdns3/Kconfig (revision 6076388ca1eda808b95f9479f3b04839d348a2f7)
1config USB_CDNS_SUPPORT
2	tristate "Cadence USB Support"
3	depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA
4	select USB_XHCI_PLATFORM if USB_XHCI_HCD
5	select USB_ROLE_SWITCH
6	help
7	  Say Y here if your system has a Cadence USBSS or USBSSP
8	  dual-role controller.
9	  It supports: dual-role switch, Host-only, and Peripheral-only.
10
11config USB_CDNS_HOST
12	bool
13
14if USB_CDNS_SUPPORT
15
16config USB_CDNS3
17	tristate "Cadence USB3 Dual-Role Controller"
18	depends on USB_CDNS_SUPPORT
19	help
20	  Say Y here if your system has a Cadence USB3 dual-role controller.
21	  It supports: dual-role switch, Host-only, and Peripheral-only.
22
23if USB_CDNS3
24
25config USB_CDNS3_GADGET
26	bool "Cadence USB3 device controller"
27	depends on USB_GADGET=y || USB_GADGET=USB_CDNS3
28	help
29	  Say Y here to enable device controller functionality of the
30	  Cadence USBSS-DEV driver.
31
32	  This controller supports FF, HS and SS mode. It doesn't support
33	  LS and SSP mode.
34
35config USB_CDNS3_HOST
36	bool "Cadence USB3 host controller"
37	depends on USB=y || USB=USB_CDNS3
38	select USB_CDNS_HOST
39	help
40	  Say Y here to enable host controller functionality of the
41	  Cadence driver.
42
43	  Host controller is compliant with XHCI so it will use
44	  standard XHCI driver.
45
46config USB_CDNS3_PCI_WRAP
47	tristate "Cadence USB3 support on PCIe-based platforms"
48	depends on USB_PCI && ACPI
49	default USB_CDNS3
50	help
51	  If you're using the USBSS Core IP with a PCIe, please say
52	  'Y' or 'M' here.
53
54	  If you choose to build this driver as module it will
55	  be dynamically linked and module will be called cdns3-pci.ko
56
57config USB_CDNS3_TI
58	tristate "Cadence USB3 support on TI platforms"
59	depends on ARCH_K3 || COMPILE_TEST
60	default USB_CDNS3
61	help
62	  Say 'Y' or 'M' here if you are building for Texas Instruments
63	  platforms that contain Cadence USB3 controller core.
64
65	  e.g. J721e.
66
67config USB_CDNS3_IMX
68	tristate "Cadence USB3 support on NXP i.MX platforms"
69	depends on ARCH_MXC || COMPILE_TEST
70	default USB_CDNS3
71	help
72	  Say 'Y' or 'M' here if you are building for NXP i.MX
73	  platforms that contain Cadence USB3 controller core.
74
75	  For example, imx8qm and imx8qxp.
76
77config USB_CDNS3_STARFIVE
78	tristate "Cadence USB3 support on StarFive SoC platforms"
79	depends on ARCH_STARFIVE || COMPILE_TEST
80	help
81	  Say 'Y' or 'M' here if you are building for StarFive SoCs
82	  platforms that contain Cadence USB3 controller core.
83
84	  e.g. JH7110.
85
86	  If you choose to build this driver as module it will
87	  be dynamically linked and module will be called cdns3-starfive.ko
88
89endif # USB_CDNS3
90
91config USB_CDNSP
92	tristate "Cadence USBSSP Dual-Role Controller"
93	depends on USB_CDNS_SUPPORT
94	help
95	  Say Y here if your system has a Cadence USBSSP dual-role controller.
96	  It supports: dual-role switch, Host-only, and Peripheral-only.
97	  Cadence CDNSP Controller device mode is very similar to XHCI controller.
98	  Therefore some algorithms used has been taken from xHCI driver.
99	  Host controller is compliant with XHCI so it uses standard XHCI driver.
100
101if USB_CDNSP
102
103config USB_CDNSP_GADGET
104	bool "Cadence USBSSP device controller"
105	depends on USB_GADGET=y || USB_GADGET=USB_CDNSP
106	help
107	  Say Y here to enable device controller functionality of the
108	  Cadence USBSSP-DEV driver.
109
110	  Cadence CDNSP Device Controller in device mode is
111	  very similar to XHCI controller. Therefore some algorithms
112	  used has been taken from host driver.
113	  This controller supports FF, HS, SS and SSP mode.
114	  It doesn't support LS.
115
116config USB_CDNSP_HOST
117	bool "Cadence USBSSP host controller"
118	depends on USB=y || USB=USB_CDNSP
119	select USB_CDNS_HOST
120	help
121	  Say Y here to enable host controller functionality of the
122	  Cadence driver.
123
124	  Host controller is compliant with XHCI so it uses
125	  standard XHCI driver.
126
127config USB_CDNSP_PCI
128	tristate "Cadence USBSSP support on PCIe-based platforms"
129	depends on USB_PCI && ACPI
130	help
131	  If you're using the USBSSP Core IP with a PCIe, please say
132	  'Y' or 'M' here.
133
134	  If you choose to build this driver as module it will
135	  be dynamically linked and module will be called cdnsp-pci.ko
136
137endif # USB_CDNSP
138
139endif # USB_CDNS_SUPPORT
140