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_WAKELOCK 10 bool "Hold a wakelock when USB connected" 11 depends on PM_WAKELOCKS 12 select USB_OTG_UTILS 13 help 14 Select this to automatically hold a wakelock when USB is 15 connected, preventing suspend. 16 17# 18# USB Transceiver Drivers 19# 20config AB8500_USB 21 tristate "AB8500 USB Transceiver Driver" 22 depends on AB8500_CORE 23 select USB_PHY 24 help 25 Enable this to support the USB OTG transceiver in AB8500 chip. 26 This transceiver supports high and full speed devices plus, 27 in host mode, low speed. 28 29config FSL_USB2_OTG 30 bool "Freescale USB OTG Transceiver Driver" 31 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM 32 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 33 select USB_PHY 34 help 35 Enable this to support Freescale USB OTG transceiver. 36 37config ISP1301_OMAP 38 tristate "Philips ISP1301 with OMAP OTG" 39 depends on I2C && ARCH_OMAP_OTG 40 depends on USB 41 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 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 depends on 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 NOP_USB_XCEIV 63 tristate "NOP USB Transceiver Driver" 64 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in 65 select USB_PHY 66 help 67 This driver is to be used by all the usb transceiver which are either 68 built-in with usb ip or which are autonomous and doesn't require any 69 phy programming such as ISP1x04 etc. 70 71config AM335X_CONTROL_USB 72 tristate 73 74config AM335X_PHY_USB 75 tristate "AM335x USB PHY Driver" 76 depends on ARM || COMPILE_TEST 77 depends on NOP_USB_XCEIV 78 select USB_PHY 79 select AM335X_CONTROL_USB 80 select USB_COMMON 81 help 82 This driver provides PHY support for that phy which part for the 83 AM335x SoC. 84 85config SAMSUNG_USBPHY 86 tristate 87 help 88 Enable this to support Samsung USB phy helper driver for Samsung SoCs. 89 This driver provides common interface to interact, for Samsung USB 2.0 PHY 90 driver and later for Samsung USB 3.0 PHY driver. 91 92config TWL6030_USB 93 tristate "TWL6030 USB Transceiver Driver" 94 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS 95 help 96 Enable this to support the USB OTG transceiver on TWL6030 97 family chips. This TWL6030 transceiver has the VBUS and ID GND 98 and OTG SRP events capabilities. For all other transceiver functionality 99 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs 100 are hooked to this driver through platform_data structure. 101 The definition of internal PHY APIs are in the mach-omap2 layer. 102 103config USB_GPIO_VBUS 104 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" 105 depends on GPIOLIB || COMPILE_TEST 106 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 107 select USB_PHY 108 help 109 Provides simple GPIO VBUS sensing for controllers with an 110 internal transceiver via the usb_phy interface, and 111 optionally control of a D+ pullup GPIO as well as a VBUS 112 current limit regulator. 113 114config OMAP_OTG 115 tristate "OMAP USB OTG controller driver" 116 depends on ARCH_OMAP_OTG && EXTCON 117 help 118 Enable this to support some transceivers on OMAP1 platforms. OTG 119 controller is needed to switch between host and peripheral modes. 120 121 This driver can also be built as a module. If so, the module 122 will be called phy-omap-otg. 123 124config TAHVO_USB 125 tristate "Tahvo USB transceiver driver" 126 depends on MFD_RETU && EXTCON 127 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 128 select USB_PHY 129 help 130 Enable this to support USB transceiver on Tahvo. This is used 131 at least on Nokia 770. 132 133config TAHVO_USB_HOST_BY_DEFAULT 134 depends on TAHVO_USB 135 bool "Device in USB host mode by default" 136 help 137 Say Y here, if you want the device to enter USB host mode 138 by default on bootup. 139 140config USB_ISP1301 141 tristate "NXP ISP1301 USB transceiver support" 142 depends on USB || USB_GADGET 143 depends on I2C 144 select USB_PHY 145 help 146 Say Y here to add support for the NXP ISP1301 USB transceiver driver. 147 This chip is typically used as USB transceiver for USB host, gadget 148 and OTG drivers (to be selected separately). 149 150 To compile this driver as a module, choose M here: the 151 module will be called phy-isp1301. 152 153config USB_MSM_OTG 154 tristate "Qualcomm on-chip USB OTG controller support" 155 depends on (USB || USB_GADGET) && (ARCH_QCOM || COMPILE_TEST) 156 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 157 depends on RESET_CONTROLLER 158 depends on REGULATOR 159 depends on EXTCON 160 select USB_PHY 161 help 162 Enable this to support the USB OTG transceiver on Qualcomm chips. It 163 handles PHY initialization, clock management, and workarounds 164 required after resetting the hardware and power management. 165 This driver is required even for peripheral only or host only 166 mode configurations. 167 This driver is not supported on boards like trout which 168 has an external PHY. 169 170config USB_QCOM_8X16_PHY 171 tristate "Qualcomm APQ8016/MSM8916 on-chip USB PHY controller support" 172 depends on ARCH_QCOM || COMPILE_TEST 173 depends on RESET_CONTROLLER && EXTCON 174 select USB_PHY 175 select USB_ULPI_VIEWPORT 176 help 177 Enable this to support the USB transceiver on Qualcomm 8x16 chipsets. 178 It handles PHY initialization, clock management, power management, 179 and workarounds required after resetting the hardware. 180 181 To compile this driver as a module, choose M here: the 182 module will be called phy-qcom-8x16-usb. 183 184config USB_MV_OTG 185 tristate "Marvell USB OTG support" 186 depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG 187 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 188 select USB_PHY 189 help 190 Say Y here if you want to build Marvell USB OTG transciever 191 driver in kernel (including PXA and MMP series). This driver 192 implements role switch between EHCI host driver and gadget driver. 193 194 To compile this driver as a module, choose M here. 195 196config USB_MXS_PHY 197 tristate "Freescale MXS USB PHY support" 198 depends on ARCH_MXC || ARCH_MXS 199 select STMP_DEVICE 200 select USB_PHY 201 help 202 Enable this to support the Freescale MXS USB PHY. 203 204 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. 205 206config USB_ULPI 207 bool "Generic ULPI Transceiver Driver" 208 depends on ARM || ARM64 209 select USB_ULPI_VIEWPORT 210 help 211 Enable this to support ULPI connected USB OTG transceivers which 212 are likely found on embedded boards. 213 214config USB_ULPI_VIEWPORT 215 bool 216 help 217 Provides read/write operations to the ULPI phy register set for 218 controllers with a viewport register (e.g. Chipidea/ARC controllers). 219 220config DUAL_ROLE_USB_INTF 221 bool "Generic DUAL ROLE sysfs interface" 222 depends on SYSFS && USB_PHY 223 help 224 A generic sysfs interface to track and change the state of 225 dual role usb phys. The usb phy drivers can register to 226 this interface to expose it capabilities to the userspace 227 and thereby allowing userspace to change the port mode. 228 229endmenu 230