0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # For MTK USB3.0 IP
0004
0005 config USB_MTU3
0006 tristate "MediaTek USB3 Dual Role controller"
0007 depends on USB || USB_GADGET
0008 depends on ARCH_MEDIATEK || COMPILE_TEST
0009 depends on EXTCON || !EXTCON
0010 select USB_XHCI_MTK if USB_SUPPORT && USB_XHCI_HCD
0011 help
0012 Say Y or M here if your system runs on MediaTek SoCs with
0013 Dual Role SuperSpeed USB controller. You can select usb
0014 mode as peripheral role or host role, or both.
0015
0016 If you don't know what this is, please say N.
0017
0018 Choose M here to compile this driver as a module, and it
0019 will be called mtu3.ko.
0020
0021
0022 if USB_MTU3
0023 choice
0024 bool "MTU3 Mode Selection"
0025 default USB_MTU3_DUAL_ROLE if (USB && USB_GADGET)
0026 default USB_MTU3_HOST if (USB && !USB_GADGET)
0027 default USB_MTU3_GADGET if (!USB && USB_GADGET)
0028
0029 config USB_MTU3_HOST
0030 bool "Host only mode"
0031 depends on USB=y || USB=USB_MTU3
0032 help
0033 Select this when you want to use MTU3 in host mode only,
0034 thereby the gadget feature will be regressed.
0035
0036 config USB_MTU3_GADGET
0037 bool "Gadget only mode"
0038 depends on USB_GADGET=y || USB_GADGET=USB_MTU3
0039 help
0040 Select this when you want to use MTU3 in gadget mode only,
0041 thereby the host feature will be regressed.
0042
0043 config USB_MTU3_DUAL_ROLE
0044 bool "Dual Role mode"
0045 depends on ((USB=y || USB=USB_MTU3) && (USB_GADGET=y || USB_GADGET=USB_MTU3))
0046 depends on (EXTCON=y || EXTCON=USB_MTU3)
0047 select USB_ROLE_SWITCH
0048 help
0049 This is the default mode of working of MTU3 controller where
0050 both host and gadget features are enabled.
0051
0052 endchoice
0053
0054 config USB_MTU3_DEBUG
0055 bool "Enable Debugging Messages"
0056 help
0057 Say Y here to enable debugging messages in the MTU3 Driver.
0058
0059 endif