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 AM335X_CONTROL_USB 79 tristate 80 81config AM335X_PHY_USB 82 tristate "AM335x USB PHY Driver" 83 depends on ARM || COMPILE_TEST 84 select USB_PHY 85 select AM335X_CONTROL_USB 86 select NOP_USB_XCEIV 87 help 88 This driver provides PHY support for that phy which part for the 89 AM335x SoC. 90 91config SAMSUNG_USBPHY 92 tristate 93 help 94 Enable this to support Samsung USB phy helper driver for Samsung SoCs. 95 This driver provides common interface to interact, for Samsung USB 2.0 PHY 96 driver and later for Samsung USB 3.0 PHY driver. 97 98config SAMSUNG_USB2PHY 99 tristate "Samsung USB 2.0 PHY controller Driver" 100 select SAMSUNG_USBPHY 101 select USB_PHY 102 help 103 Enable this to support Samsung USB 2.0 (High Speed) PHY controller 104 driver for Samsung SoCs. 105 106config SAMSUNG_USB3PHY 107 tristate "Samsung USB 3.0 PHY controller Driver" 108 select SAMSUNG_USBPHY 109 select USB_PHY 110 help 111 Enable this to support Samsung USB 3.0 (Super Speed) phy controller 112 for samsung SoCs. 113 114config TWL6030_USB 115 tristate "TWL6030 USB Transceiver Driver" 116 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 117 help 118 Enable this to support the USB OTG transceiver on TWL6030 119 family chips. This TWL6030 transceiver has the VBUS and ID GND 120 and OTG SRP events capabilities. For all other transceiver functionality 121 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 122 are hooked to this driver through platform_data structure. 123 The definition of internal PHY APIs are in the mach-omap2 layer. 124 125config USB_GPIO_VBUS 126 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 127 depends on GPIOLIB 128 select USB_PHY 129 help 130 Provides simple GPIO VBUS sensing for controllers with an 131 internal transceiver via the usb_phy interface, and 132 optionally control of a D+ pullup GPIO as well as a VBUS 133 current limit regulator. 134 135config OMAP_OTG 136 tristate "OMAP USB OTG controller driver" 137 depends on ARCH_OMAP_OTG && EXTCON 138 help 139 Enable this to support some transceivers on OMAP1 platforms. OTG 140 controller is needed to switch between host and peripheral modes. 141 142 This driver can also be built as a module. If so, the module 143 will be called phy-omap-otg. 144 145config TAHVO_USB 146 tristate "Tahvo USB transceiver driver" 147 depends on MFD_RETU && EXTCON 148 select USB_PHY 149 help 150 Enable this to support USB transceiver on Tahvo. This is used 151 at least on Nokia 770. 152 153config TAHVO_USB_HOST_BY_DEFAULT 154 depends on TAHVO_USB 155 boolean "Device in USB host mode by default" 156 help 157 Say Y here, if you want the device to enter USB host mode 158 by default on bootup. 159 160config USB_ISP1301 161 tristate "NXP ISP1301 USB transceiver support" 162 depends on USB || USB_GADGET 163 depends on I2C 164 select USB_PHY 165 help 166 Say Y here to add support for the NXP ISP1301 USB transceiver driver. 167 This chip is typically used as USB transceiver for USB host, gadget 168 and OTG drivers (to be selected separately). 169 170 To compile this driver as a module, choose M here: the 171 module will be called phy-isp1301. 172 173config USB_MSM_OTG 174 tristate "Qualcomm on-chip USB OTG controller support" 175 depends on (USB || USB_GADGET) && (ARCH_MSM || ARCH_QCOM || COMPILE_TEST) 176 select USB_PHY 177 help 178 Enable this to support the USB OTG transceiver on Qualcomm chips. It 179 handles PHY initialization, clock management, and workarounds 180 required after resetting the hardware and power management. 181 This driver is required even for peripheral only or host only 182 mode configurations. 183 This driver is not supported on boards like trout which 184 has an external PHY. 185 186config USB_MV_OTG 187 tristate "Marvell USB OTG support" 188 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME 189 select USB_OTG 190 select USB_PHY 191 help 192 Say Y here if you want to build Marvell USB OTG transciever 193 driver in kernel (including PXA and MMP series). This driver 194 implements role switch between EHCI host driver and gadget driver. 195 196 To compile this driver as a module, choose M here. 197 198config USB_MXS_PHY 199 tristate "Freescale MXS USB PHY support" 200 depends on ARCH_MXC || ARCH_MXS 201 select STMP_DEVICE 202 select USB_PHY 203 help 204 Enable this to support the Freescale MXS USB PHY. 205 206 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 207 208config USB_RCAR_PHY 209 tristate "Renesas R-Car USB PHY support" 210 depends on USB || USB_GADGET 211 select USB_PHY 212 help 213 Say Y here to add support for the Renesas R-Car USB common PHY driver. 214 This chip is typically used as USB PHY for USB host, gadget. 215 This driver supports R8A7778 and R8A7779. 216 217 To compile this driver as a module, choose M here: the 218 module will be called phy-rcar-usb. 219 220config USB_RCAR_GEN2_PHY 221 tristate "Renesas R-Car Gen2 USB PHY support" 222 depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST 223 select USB_PHY 224 help 225 Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. 226 It is typically used to control internal USB PHY for USBHS, 227 and to configure shared USB channels 0 and 2. 228 This driver supports R8A7790 and R8A7791. 229 230 To compile this driver as a module, choose M here: the 231 module will be called phy-rcar-gen2-usb. 232 233config USB_ULPI 234 bool "Generic ULPI Transceiver Driver" 235 depends on ARM 236 help 237 Enable this to support ULPI connected USB OTG transceivers which 238 are likely found on embedded boards. 239 240config USB_ULPI_VIEWPORT 241 bool 242 depends on USB_ULPI 243 help 244 Provides read/write operations to the ULPI phy register set for 245 controllers with a viewport register (e.g. Chipidea/ARC controllers). 246 247endmenu 248