1# SPDX-License-Identifier: GPL-2.0
2#
3# For MTK USB3.0 IP
4
5config USB_MTU3
6	tristate "MediaTek USB3 Dual Role controller"
7	depends on USB || USB_GADGET
8	depends on ARCH_MEDIATEK || COMPILE_TEST
9	depends on EXTCON || !EXTCON
10	select USB_XHCI_MTK if USB_SUPPORT && USB_XHCI_HCD
11	help
12	  Say Y or M here if your system runs on MediaTek SoCs with
13	  Dual Role SuperSpeed USB controller. You can select usb
14	  mode as peripheral role or host role, or both.
15
16	  If you don't know what this is, please say N.
17
18	  Choose M here to compile this driver as a module, and it
19	  will be called mtu3.ko.
20
21
22if USB_MTU3
23choice
24	bool "MTU3 Mode Selection"
25	default USB_MTU3_DUAL_ROLE if (USB && USB_GADGET)
26	default USB_MTU3_HOST if (USB && !USB_GADGET)
27	default USB_MTU3_GADGET if (!USB && USB_GADGET)
28
29config USB_MTU3_HOST
30	bool "Host only mode"
31	depends on USB=y || USB=USB_MTU3
32	help
33	  Select this when you want to use MTU3 in host mode only,
34	  thereby the gadget feature will be regressed.
35
36config USB_MTU3_GADGET
37	bool "Gadget only mode"
38	depends on USB_GADGET=y || USB_GADGET=USB_MTU3
39	help
40	  Select this when you want to use MTU3 in gadget mode only,
41	  thereby the host feature will be regressed.
42
43config USB_MTU3_DUAL_ROLE
44	bool "Dual Role mode"
45	depends on ((USB=y || USB=USB_MTU3) && (USB_GADGET=y || USB_GADGET=USB_MTU3))
46	depends on (EXTCON=y || EXTCON=USB_MTU3)
47	select USB_ROLE_SWITCH
48	help
49	  This is the default mode of working of MTU3 controller where
50	  both host and gadget features are enabled.
51
52endchoice
53
54config USB_MTU3_DEBUG
55	bool "Enable Debugging Messages"
56	help
57	  Say Y here to enable debugging messages in the MTU3 Driver.
58
59endif
60