2 # Physical Layer USB driver configuration
5 bool "USB Physical Layer drivers"
7 Most USB controllers have the physical layer signalling part
8 (commonly called a PHY) built in. However, dual-role devices
9 (a.k.a. USB on-the-go) which support being USB master or slave
10 with the same connector often use an external PHY.
12 The drivers in this submenu add support for such PHY devices.
13 They are not needed for standard master-only (or the vast
14 majority of slave-only) USB interfaces.
16 If you're not sure if this applies to you, it probably doesn't;
19 config USB_OTG_WAKELOCK
20 bool "Hold a wakelock when USB connected"
24 Select this to automatically hold a wakelock when USB is
25 connected, preventing suspend.
30 # USB Transceiver Drivers
33 tristate "AB8500 USB Transceiver Driver"
34 depends on AB8500_CORE
36 Enable this to support the USB OTG transceiver in AB8500 chip.
37 This transceiver supports high and full speed devices plus,
38 in host mode, low speed.
41 bool "Freescale USB OTG Transceiver Driver"
42 depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME
45 Enable this to support Freescale USB OTG transceiver.
48 tristate "Philips ISP1301 with OMAP OTG"
49 depends on I2C && ARCH_OMAP_OTG
51 If you say yes here you get support for the Philips ISP1301
52 USB-On-The-Go transceiver working with the OMAP OTG controller.
53 The ISP1301 is a full speed USB transceiver which is used in
54 products including H2, H3, and H4 development boards for Texas
55 Instruments OMAP processors.
57 This driver can also be built as a module. If so, the module
58 will be called isp1301_omap.
61 bool "Marvell USB 3.0 PHY controller Driver"
64 Enable this to support Marvell USB 3.0 phy controller for Marvell
68 tristate "NOP USB Transceiver Driver"
70 This driver is to be used by all the usb transceiver which are either
71 built-in with usb ip or which are autonomous and doesn't require any
72 phy programming such as ISP1x04 etc.
74 config OMAP_CONTROL_USB
75 tristate "OMAP CONTROL USB Driver"
77 Enable this to add support for the USB part present in the control
78 module. This driver has API to power on the USB2 PHY and to write to
79 the mailbox. The mailbox is present only in omap4 and the register to
80 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
81 additional register to power on USB3 PHY.
84 tristate "OMAP USB2 PHY Driver"
85 depends on ARCH_OMAP2PLUS
86 select OMAP_CONTROL_USB
88 Enable this to support the transceiver that is part of SOC. This
89 driver takes care of all the PHY functionality apart from comparator.
90 The USB OTG controller communicates with the comparator using this
94 tristate "OMAP USB3 PHY Driver"
95 select OMAP_CONTROL_USB
97 Enable this to support the USB3 PHY that is part of SOC. This
98 driver takes care of all the PHY functionality apart from comparator.
99 This driver interacts with the "OMAP Control USB Driver" to power
102 config SAMSUNG_USBPHY
103 tristate "Samsung USB PHY Driver"
105 Enable this to support Samsung USB phy helper driver for Samsung SoCs.
106 This driver provides common interface to interact, for Samsung USB 2.0 PHY
107 driver and later for Samsung USB 3.0 PHY driver.
109 config SAMSUNG_USB2PHY
110 tristate "Samsung USB 2.0 PHY controller Driver"
111 select SAMSUNG_USBPHY
113 Enable this to support Samsung USB 2.0 (High Speed) PHY controller
114 driver for Samsung SoCs.
116 config SAMSUNG_USB3PHY
117 tristate "Samsung USB 3.0 PHY controller Driver"
118 select SAMSUNG_USBPHY
120 Enable this to support Samsung USB 3.0 (Super Speed) phy controller
124 tristate "TWL4030 USB Transceiver Driver"
125 depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
127 Enable this to support the USB OTG transceiver on TWL4030
128 family chips (including the TWL5030 and TPS659x0 devices).
129 This transceiver supports high and full speed devices plus,
130 in host mode, low speed.
133 tristate "TWL6030 USB Transceiver Driver"
134 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
136 Enable this to support the USB OTG transceiver on TWL6030
137 family chips. This TWL6030 transceiver has the VBUS and ID GND
138 and OTG SRP events capabilities. For all other transceiver functionality
139 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
140 are hooked to this driver through platform_data structure.
141 The definition of internal PHY APIs are in the mach-omap2 layer.
144 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
147 Provides simple GPIO VBUS sensing for controllers with an
148 internal transceiver via the usb_phy interface, and
149 optionally control of a D+ pullup GPIO as well as a VBUS
150 current limit regulator.
153 tristate "NXP ISP1301 USB transceiver support"
154 depends on USB || USB_GADGET
157 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
158 This chip is typically used as USB transceiver for USB host, gadget
159 and OTG drivers (to be selected separately).
161 To compile this driver as a module, choose M here: the
162 module will be called isp1301.
165 tristate "OTG support for Qualcomm on-chip USB controller"
166 depends on (USB || USB_GADGET) && ARCH_MSM
168 Enable this to support the USB OTG transceiver on MSM chips. It
169 handles PHY initialization, clock management, and workarounds
170 required after resetting the hardware and power management.
171 This driver is required even for peripheral only or host only
173 This driver is not supported on boards like trout which
177 tristate "Marvell USB OTG support"
178 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
181 Say Y here if you want to build Marvell USB OTG transciever
182 driver in kernel (including PXA and MMP series). This driver
183 implements role switch between EHCI host driver and gadget driver.
185 To compile this driver as a module, choose M here.
188 tristate "Freescale MXS USB PHY support"
189 depends on ARCH_MXC || ARCH_MXS
192 Enable this to support the Freescale MXS USB PHY.
194 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
197 tristate "Renesas R-Car USB phy support"
198 depends on USB || USB_GADGET
200 Say Y here to add support for the Renesas R-Car USB phy driver.
201 This chip is typically used as USB phy for USB host, gadget.
202 This driver supports: R8A7779
204 To compile this driver as a module, choose M here: the
205 module will be called rcar-phy.
208 bool "Generic ULPI Transceiver Driver"
209 depends on ARM || ARM64
211 Enable this to support ULPI connected USB OTG transceivers which
212 are likely found on embedded boards.
214 config USB_ULPI_VIEWPORT
218 Provides read/write operations to the ULPI phy register set for
219 controllers with a viewport register (e.g. Chipidea/ARC controllers).