1# SPDX-License-Identifier: GPL-2.0 2# 3# Physical Layer USB driver configuration 4# 5menu "USB Physical Layer drivers" 6 7config USB_PHY 8 select EXTCON 9 def_bool n 10 11# 12# USB Transceiver Drivers 13# 14config AB8500_USB 15 tristate "AB8500 USB Transceiver Driver" 16 depends on AB8500_CORE 17 select USB_PHY 18 help 19 Enable this to support the USB OTG transceiver in AB8500 chip. 20 This transceiver supports high and full speed devices plus, 21 in host mode, low speed. 22 23config FSL_USB2_OTG 24 tristate "Freescale USB OTG Transceiver Driver" 25 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM 26 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 27 select USB_PHY 28 help 29 Enable this to support Freescale USB OTG transceiver. 30 31config KEYSTONE_USB_PHY 32 tristate "Keystone USB PHY Driver" 33 depends on ARCH_KEYSTONE || COMPILE_TEST 34 depends on NOP_USB_XCEIV 35 help 36 Enable this to support Keystone USB phy. This driver provides 37 interface to interact with USB 2.0 and USB 3.0 PHY that is part 38 of the Keystone SOC. 39 40config NOP_USB_XCEIV 41 tristate "NOP USB Transceiver Driver" 42 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in 43 select USB_PHY 44 help 45 This driver is to be used by all the usb transceiver which are either 46 built-in with usb ip or which are autonomous and doesn't require any 47 phy programming such as ISP1x04 etc. 48 49config AM335X_CONTROL_USB 50 tristate 51 52config AM335X_PHY_USB 53 tristate "AM335x USB PHY Driver" 54 depends on ARM || COMPILE_TEST 55 depends on NOP_USB_XCEIV 56 select USB_PHY 57 select AM335X_CONTROL_USB 58 select USB_COMMON 59 help 60 This driver provides PHY support for that phy which part for the 61 AM335x SoC. 62 63config TWL6030_USB 64 tristate "TWL6030 USB Transceiver Driver" 65 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 66 depends on OF 67 help 68 Enable this to support the USB OTG transceiver on TWL6030 69 family chips. This TWL6030 transceiver has the VBUS and ID GND 70 and OTG SRP events capabilities. For all other transceiver functionality 71 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 72 are hooked to this driver through platform_data structure. 73 The definition of internal PHY APIs are in the mach-omap2 layer. 74 75config USB_GPIO_VBUS 76 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 77 depends on GPIOLIB || COMPILE_TEST 78 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 79 depends on !USB_CONN_GPIO 80 select USB_PHY 81 help 82 Provides simple GPIO VBUS sensing for controllers with an 83 internal transceiver via the usb_phy interface, and 84 optionally control of a D+ pullup GPIO as well as a VBUS 85 current limit regulator. This driver is for devices that do 86 NOT support role switch. OTG devices that can do role switch 87 (master/peripheral) shall use the USB based connection 88 detection driver USB_CONN_GPIO. 89 90config OMAP_OTG 91 tristate "OMAP USB OTG controller driver" 92 depends on ARCH_OMAP_OTG && EXTCON 93 help 94 Enable this to support some transceivers on OMAP1 platforms. OTG 95 controller is needed to switch between host and peripheral modes. 96 97 This driver can also be built as a module. If so, the module 98 will be called phy-omap-otg. 99 100config TAHVO_USB 101 tristate "Tahvo USB transceiver driver" 102 depends on MFD_RETU 103 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 104 select USB_PHY 105 help 106 Enable this to support USB transceiver on Tahvo. This is used 107 at least on Nokia 770. 108 109config TAHVO_USB_HOST_BY_DEFAULT 110 depends on TAHVO_USB 111 bool "Device in USB host mode by default" 112 help 113 Say Y here, if you want the device to enter USB host mode 114 by default on bootup. 115 116config USB_ISP1301 117 tristate "NXP ISP1301 USB transceiver support" 118 depends on USB || USB_GADGET 119 depends on I2C 120 select USB_PHY 121 help 122 Say Y here to add support for the NXP ISP1301 USB transceiver driver. 123 This chip is typically used as USB transceiver for USB host, gadget 124 and OTG drivers (to be selected separately). 125 126 To compile this driver as a module, choose M here: the 127 module will be called phy-isp1301. 128 129config USB_MV_OTG 130 tristate "Marvell USB OTG support" 131 depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG 132 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 133 select USB_PHY 134 help 135 Say Y here if you want to build Marvell USB OTG transceiver 136 driver in kernel (including PXA and MMP series). This driver 137 implements role switch between EHCI host driver and gadget driver. 138 139 To compile this driver as a module, choose M here. 140 141config USB_MXS_PHY 142 tristate "Freescale MXS USB PHY support" 143 depends on ARCH_MXC || ARCH_MXS 144 select STMP_DEVICE 145 select USB_PHY 146 help 147 Enable this to support the Freescale MXS USB PHY. 148 149 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 150 151config USB_TEGRA_PHY 152 tristate "NVIDIA Tegra USB PHY Driver" 153 depends on ARCH_TEGRA || COMPILE_TEST 154 select USB_COMMON 155 select USB_PHY 156 select USB_ULPI 157 help 158 This driver provides PHY support for the USB controllers found 159 on NVIDIA Tegra SoC's. 160 161config USB_ULPI 162 bool "Generic ULPI Transceiver Driver" 163 depends on ARM || ARM64 || COMPILE_TEST 164 select USB_ULPI_VIEWPORT 165 help 166 Enable this to support ULPI connected USB OTG transceivers which 167 are likely found on embedded boards. 168 169config USB_ULPI_VIEWPORT 170 bool 171 help 172 Provides read/write operations to the ULPI phy register set for 173 controllers with a viewport register (e.g. Chipidea/ARC controllers). 174 175endmenu 176