2 # Physical Layer USB driver configuration
4 menu "USB Physical Layer drivers"
10 tristate "USB 2.0 OTG FSM implementation"
15 Implements OTG Final State Machine as specified in On-The-Go
16 and Embedded Host Supplement to the USB Revision 2.0 Specification.
19 # USB Transceiver Drivers
22 tristate "AB8500 USB Transceiver Driver"
23 depends on AB8500_CORE
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.
31 bool "Freescale USB OTG Transceiver Driver"
32 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM_RUNTIME
36 Enable this to support Freescale USB OTG transceiver.
39 tristate "Philips ISP1301 with OMAP OTG"
40 depends on I2C && ARCH_OMAP_OTG
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.
50 This driver can also be built as a module. If so, the module
51 will be called phy-isp1301-omap.
53 config KEYSTONE_USB_PHY
54 tristate "Keystone USB PHY Driver"
55 depends on ARCH_KEYSTONE || COMPILE_TEST
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
63 bool "Marvell USB 3.0 PHY controller Driver"
67 Enable this to support Marvell USB 3.0 phy controller for Marvell
71 tristate "NOP USB Transceiver Driver"
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.
78 config OMAP_CONTROL_USB
79 tristate "OMAP CONTROL USB Driver"
80 depends on ARCH_OMAP2PLUS || COMPILE_TEST
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.
88 config AM335X_CONTROL_USB
92 tristate "AM335x USB PHY Driver"
93 depends on ARM || COMPILE_TEST
95 select AM335X_CONTROL_USB
98 This driver provides PHY support for that phy which part for the
101 config SAMSUNG_USBPHY
104 Enable this to support Samsung USB phy helper driver for Samsung SoCs.
105 This driver provides common interface to interact, for Samsung USB 2.0 PHY
106 driver and later for Samsung USB 3.0 PHY driver.
108 config SAMSUNG_USB2PHY
109 tristate "Samsung USB 2.0 PHY controller Driver"
110 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
121 Enable this to support Samsung USB 3.0 (Super Speed) phy controller
125 tristate "TWL6030 USB Transceiver Driver"
126 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
128 Enable this to support the USB OTG transceiver on TWL6030
129 family chips. This TWL6030 transceiver has the VBUS and ID GND
130 and OTG SRP events capabilities. For all other transceiver functionality
131 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
132 are hooked to this driver through platform_data structure.
133 The definition of internal PHY APIs are in the mach-omap2 layer.
136 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
140 Provides simple GPIO VBUS sensing for controllers with an
141 internal transceiver via the usb_phy interface, and
142 optionally control of a D+ pullup GPIO as well as a VBUS
143 current limit regulator.
146 tristate "OMAP USB OTG controller driver"
147 depends on ARCH_OMAP_OTG && EXTCON
149 Enable this to support some transceivers on OMAP1 platforms. OTG
150 controller is needed to switch between host and peripheral modes.
152 This driver can also be built as a module. If so, the module
153 will be called phy-omap-otg.
156 tristate "Tahvo USB transceiver driver"
157 depends on MFD_RETU && EXTCON
160 Enable this to support USB transceiver on Tahvo. This is used
161 at least on Nokia 770.
163 config TAHVO_USB_HOST_BY_DEFAULT
165 boolean "Device in USB host mode by default"
167 Say Y here, if you want the device to enter USB host mode
168 by default on bootup.
171 tristate "NXP ISP1301 USB transceiver support"
172 depends on USB || USB_GADGET
176 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
177 This chip is typically used as USB transceiver for USB host, gadget
178 and OTG drivers (to be selected separately).
180 To compile this driver as a module, choose M here: the
181 module will be called phy-isp1301.
184 tristate "OTG support for Qualcomm on-chip USB controller"
185 depends on (USB || USB_GADGET) && ARCH_MSM
188 Enable this to support the USB OTG transceiver on MSM chips. It
189 handles PHY initialization, clock management, and workarounds
190 required after resetting the hardware and power management.
191 This driver is required even for peripheral only or host only
193 This driver is not supported on boards like trout which
197 tristate "Marvell USB OTG support"
198 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
202 Say Y here if you want to build Marvell USB OTG transciever
203 driver in kernel (including PXA and MMP series). This driver
204 implements role switch between EHCI host driver and gadget driver.
206 To compile this driver as a module, choose M here.
209 tristate "Freescale MXS USB PHY support"
210 depends on ARCH_MXC || ARCH_MXS
214 Enable this to support the Freescale MXS USB PHY.
216 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
219 tristate "Renesas R-Car USB PHY support"
220 depends on USB || USB_GADGET
223 Say Y here to add support for the Renesas R-Car USB common PHY driver.
224 This chip is typically used as USB PHY for USB host, gadget.
225 This driver supports R8A7778 and R8A7779.
227 To compile this driver as a module, choose M here: the
228 module will be called phy-rcar-usb.
230 config USB_RCAR_GEN2_PHY
231 tristate "Renesas R-Car Gen2 USB PHY support"
232 depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST
235 Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver.
236 It is typically used to control internal USB PHY for USBHS,
237 and to configure shared USB channels 0 and 2.
238 This driver supports R8A7790 and R8A7791.
240 To compile this driver as a module, choose M here: the
241 module will be called phy-rcar-gen2-usb.
244 bool "Generic ULPI Transceiver Driver"
247 Enable this to support ULPI connected USB OTG transceivers which
248 are likely found on embedded boards.
250 config USB_ULPI_VIEWPORT
254 Provides read/write operations to the ULPI phy register set for
255 controllers with a viewport register (e.g. Chipidea/ARC controllers).