1# 2# Physical Layer USB driver configuration 3# 4menu "USB Physical Layer drivers" 5 6config USB_PHY 7 def_bool n 8 9config USB_OTG_FSM 10 tristate "USB 2.0 OTG FSM implementation" 11 depends on USB 12 select USB_OTG 13 select USB_PHY 14 help 15 Implements OTG Final State Machine as specified in On-The-Go 16 and Embedded Host Supplement to the USB Revision 2.0 Specification. 17 18# 19# USB Transceiver Drivers 20# 21config AB8500_USB 22 tristate "AB8500 USB Transceiver Driver" 23 depends on AB8500_CORE 24 select USB_PHY 25 help 26 Enable this to support the USB OTG transceiver in AB8500 chip. 27 This transceiver supports high and full speed devices plus, 28 in host mode, low speed. 29 30config FSL_USB2_OTG 31 bool "Freescale USB OTG Transceiver Driver" 32 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM_RUNTIME 33 select USB_OTG 34 select USB_PHY 35 help 36 Enable this to support Freescale USB OTG transceiver. 37 38config ISP1301_OMAP 39 tristate "Philips ISP1301 with OMAP OTG" 40 depends on I2C && ARCH_OMAP_OTG 41 depends on USB 42 select USB_PHY 43 help 44 If you say yes here you get support for the Philips ISP1301 45 USB-On-The-Go transceiver working with the OMAP OTG controller. 46 The ISP1301 is a full speed USB transceiver which is used in 47 products including H2, H3, and H4 development boards for Texas 48 Instruments OMAP processors. 49 50 This driver can also be built as a module. If so, the module 51 will be called phy-isp1301-omap. 52 53config KEYSTONE_USB_PHY 54 tristate "Keystone USB PHY Driver" 55 depends on ARCH_KEYSTONE || COMPILE_TEST 56 select NOP_USB_XCEIV 57 help 58 Enable this to support Keystone USB phy. This driver provides 59 interface to interact with USB 2.0 and USB 3.0 PHY that is part 60 of the Keystone SOC. 61 62config MV_U3D_PHY 63 bool "Marvell USB 3.0 PHY controller Driver" 64 depends on CPU_MMP3 65 select USB_PHY 66 help 67 Enable this to support Marvell USB 3.0 phy controller for Marvell 68 SoC. 69 70config NOP_USB_XCEIV 71 tristate "NOP USB Transceiver Driver" 72 select USB_PHY 73 help 74 This driver is to be used by all the usb transceiver which are either 75 built-in with usb ip or which are autonomous and doesn't require any 76 phy programming such as ISP1x04 etc. 77 78config OMAP_CONTROL_USB 79 tristate "OMAP CONTROL USB Driver" 80 depends on ARCH_OMAP2PLUS || COMPILE_TEST 81 help 82 Enable this to add support for the USB part present in the control 83 module. This driver has API to power on the USB2 PHY and to write to 84 the mailbox. The mailbox is present only in omap4 and the register to 85 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an 86 additional register to power on USB3 PHY. 87 88config OMAP_USB3 89 tristate "OMAP USB3 PHY Driver" 90 depends on ARCH_OMAP2PLUS || COMPILE_TEST 91 select OMAP_CONTROL_USB 92 select USB_PHY 93 help 94 Enable this to support the USB3 PHY that is part of SOC. This 95 driver takes care of all the PHY functionality apart from comparator. 96 This driver interacts with the "OMAP Control USB Driver" to power 97 on/off the PHY. 98 99config AM335X_CONTROL_USB 100 tristate 101 102config AM335X_PHY_USB 103 tristate "AM335x USB PHY Driver" 104 depends on ARM || COMPILE_TEST 105 select USB_PHY 106 select AM335X_CONTROL_USB 107 select NOP_USB_XCEIV 108 help 109 This driver provides PHY support for that phy which part for the 110 AM335x SoC. 111 112config SAMSUNG_USBPHY 113 tristate 114 help 115 Enable this to support Samsung USB phy helper driver for Samsung SoCs. 116 This driver provides common interface to interact, for Samsung USB 2.0 PHY 117 driver and later for Samsung USB 3.0 PHY driver. 118 119config SAMSUNG_USB2PHY 120 tristate "Samsung USB 2.0 PHY controller Driver" 121 select SAMSUNG_USBPHY 122 select USB_PHY 123 help 124 Enable this to support Samsung USB 2.0 (High Speed) PHY controller 125 driver for Samsung SoCs. 126 127config SAMSUNG_USB3PHY 128 tristate "Samsung USB 3.0 PHY controller Driver" 129 select SAMSUNG_USBPHY 130 select USB_PHY 131 help 132 Enable this to support Samsung USB 3.0 (Super Speed) phy controller 133 for samsung SoCs. 134 135config TWL6030_USB 136 tristate "TWL6030 USB Transceiver Driver" 137 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 138 help 139 Enable this to support the USB OTG transceiver on TWL6030 140 family chips. This TWL6030 transceiver has the VBUS and ID GND 141 and OTG SRP events capabilities. For all other transceiver functionality 142 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 143 are hooked to this driver through platform_data structure. 144 The definition of internal PHY APIs are in the mach-omap2 layer. 145 146config USB_GPIO_VBUS 147 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 148 depends on GPIOLIB 149 select USB_PHY 150 help 151 Provides simple GPIO VBUS sensing for controllers with an 152 internal transceiver via the usb_phy interface, and 153 optionally control of a D+ pullup GPIO as well as a VBUS 154 current limit regulator. 155 156config OMAP_OTG 157 tristate "OMAP USB OTG controller driver" 158 depends on ARCH_OMAP_OTG && EXTCON 159 help 160 Enable this to support some transceivers on OMAP1 platforms. OTG 161 controller is needed to switch between host and peripheral modes. 162 163 This driver can also be built as a module. If so, the module 164 will be called phy-omap-otg. 165 166config TAHVO_USB 167 tristate "Tahvo USB transceiver driver" 168 depends on MFD_RETU && EXTCON 169 select USB_PHY 170 help 171 Enable this to support USB transceiver on Tahvo. This is used 172 at least on Nokia 770. 173 174config TAHVO_USB_HOST_BY_DEFAULT 175 depends on TAHVO_USB 176 boolean "Device in USB host mode by default" 177 help 178 Say Y here, if you want the device to enter USB host mode 179 by default on bootup. 180 181config USB_ISP1301 182 tristate "NXP ISP1301 USB transceiver support" 183 depends on USB || USB_GADGET 184 depends on I2C 185 select USB_PHY 186 help 187 Say Y here to add support for the NXP ISP1301 USB transceiver driver. 188 This chip is typically used as USB transceiver for USB host, gadget 189 and OTG drivers (to be selected separately). 190 191 To compile this driver as a module, choose M here: the 192 module will be called phy-isp1301. 193 194config USB_MSM_OTG 195 tristate "OTG support for Qualcomm on-chip USB controller" 196 depends on (USB || USB_GADGET) && ARCH_MSM 197 select USB_PHY 198 help 199 Enable this to support the USB OTG transceiver on MSM chips. It 200 handles PHY initialization, clock management, and workarounds 201 required after resetting the hardware and power management. 202 This driver is required even for peripheral only or host only 203 mode configurations. 204 This driver is not supported on boards like trout which 205 has an external PHY. 206 207config USB_MV_OTG 208 tristate "Marvell USB OTG support" 209 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 210 select USB_OTG 211 select USB_PHY 212 help 213 Say Y here if you want to build Marvell USB OTG transciever 214 driver in kernel (including PXA and MMP series). This driver 215 implements role switch between EHCI host driver and gadget driver. 216 217 To compile this driver as a module, choose M here. 218 219config USB_MXS_PHY 220 tristate "Freescale MXS USB PHY support" 221 depends on ARCH_MXC || ARCH_MXS 222 select STMP_DEVICE 223 select USB_PHY 224 help 225 Enable this to support the Freescale MXS USB PHY. 226 227 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 228 229config USB_RCAR_PHY 230 tristate "Renesas R-Car USB PHY support" 231 depends on USB || USB_GADGET 232 select USB_PHY 233 help 234 Say Y here to add support for the Renesas R-Car USB common PHY driver. 235 This chip is typically used as USB PHY for USB host, gadget. 236 This driver supports R8A7778 and R8A7779. 237 238 To compile this driver as a module, choose M here: the 239 module will be called phy-rcar-usb. 240 241config USB_RCAR_GEN2_PHY 242 tristate "Renesas R-Car Gen2 USB PHY support" 243 depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 244 select USB_PHY 245 help 246 Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 247 It is typically used to control internal USB PHY for USBHS, 248 and to configure shared USB channels 0 and 2. 249 This driver supports R8A7790 and R8A7791. 250 251 To compile this driver as a module, choose M here: the 252 module will be called phy-rcar-gen2-usb. 253 254config USB_ULPI 255 bool "Generic ULPI Transceiver Driver" 256 depends on ARM 257 help 258 Enable this to support ULPI connected USB OTG transceivers which 259 are likely found on embedded boards. 260 261config USB_ULPI_VIEWPORT 262 bool 263 depends on USB_ULPI 264 help 265 Provides read/write operations to the ULPI phy register set for 266 controllers with a viewport register (e.g. Chipidea/ARC controllers). 267 268endmenu 269