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