blob: 08e2f39027ec00ae0a7c5ae07b46fdd1cdbfae8f [file] [log] [blame]
Roland Stigge8b7c3b62012-04-29 16:47:04 +02001#
2# Physical Layer USB driver configuration
3#
Roger Quadros052a11d2013-06-14 12:51:41 +03004menu "USB Physical Layer drivers"
Kishon Vijay Abraham I657b3062012-09-06 20:27:06 +05305
Roger Quadros052a11d2013-06-14 12:51:41 +03006config USB_PHY
7 def_bool n
Roland Stigge8b7c3b62012-04-29 16:47:04 +02008
Felipe Balbia0e63122013-03-07 11:01:15 +02009#
10# USB Transceiver Drivers
11#
12config AB8500_USB
13 tristate "AB8500 USB Transceiver Driver"
14 depends on AB8500_CORE
Roger Quadros052a11d2013-06-14 12:51:41 +030015 select USB_PHY
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053016 help
Felipe Balbia0e63122013-03-07 11:01:15 +020017 Enable this to support the USB OTG transceiver in AB8500 chip.
18 This transceiver supports high and full speed devices plus,
19 in host mode, low speed.
20
21config FSL_USB2_OTG
22 bool "Freescale USB OTG Transceiver Driver"
Alan Stern98f541c2013-05-01 12:13:54 -040023 depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME
Felipe Balbia0e63122013-03-07 11:01:15 +020024 select USB_OTG
Roger Quadros052a11d2013-06-14 12:51:41 +030025 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020026 help
27 Enable this to support Freescale USB OTG transceiver.
28
29config ISP1301_OMAP
30 tristate "Philips ISP1301 with OMAP OTG"
31 depends on I2C && ARCH_OMAP_OTG
Roger Quadros052a11d2013-06-14 12:51:41 +030032 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020033 help
34 If you say yes here you get support for the Philips ISP1301
35 USB-On-The-Go transceiver working with the OMAP OTG controller.
36 The ISP1301 is a full speed USB transceiver which is used in
37 products including H2, H3, and H4 development boards for Texas
38 Instruments OMAP processors.
39
40 This driver can also be built as a module. If so, the module
41 will be called isp1301_omap.
42
43config MV_U3D_PHY
44 bool "Marvell USB 3.0 PHY controller Driver"
Felipe Balbi60630c22013-03-22 09:15:45 +020045 depends on CPU_MMP3
Roger Quadros052a11d2013-06-14 12:51:41 +030046 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020047 help
48 Enable this to support Marvell USB 3.0 phy controller for Marvell
49 SoC.
50
51config NOP_USB_XCEIV
52 tristate "NOP USB Transceiver Driver"
Roger Quadros052a11d2013-06-14 12:51:41 +030053 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020054 help
55 This driver is to be used by all the usb transceiver which are either
56 built-in with usb ip or which are autonomous and doesn't require any
57 phy programming such as ISP1x04 etc.
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053058
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +053059config OMAP_CONTROL_USB
60 tristate "OMAP CONTROL USB Driver"
Paul Gortmaker4e682bb2013-07-04 01:39:10 -040061 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +053062 help
63 Enable this to add support for the USB part present in the control
64 module. This driver has API to power on the USB2 PHY and to write to
65 the mailbox. The mailbox is present only in omap4 and the register to
66 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
67 additional register to power on USB3 PHY.
68
Roland Stigge8b7c3b62012-04-29 16:47:04 +020069config OMAP_USB3
70 tristate "OMAP USB3 PHY Driver"
Paul Gortmaker4e682bb2013-07-04 01:39:10 -040071 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Roland Stigge8b7c3b62012-04-29 16:47:04 +020072 select OMAP_CONTROL_USB
Roger Quadros052a11d2013-06-14 12:51:41 +030073 select USB_PHY
Roland Stigge8b7c3b62012-04-29 16:47:04 +020074 help
75 Enable this to support the USB3 PHY that is part of SOC. This
76 driver takes care of all the PHY functionality apart from comparator.
77 This driver interacts with the "OMAP Control USB Driver" to power
78 on/off the PHY.
79
Sebastian Andrzej Siewior3bb869c2013-07-30 21:43:45 +020080config AM335X_CONTROL_USB
81 tristate
82
83config AM335X_PHY_USB
84 tristate "AM335x USB PHY Driver"
Dave Jones7ba01272013-09-03 17:35:52 -040085 depends on ARM || COMPILE_TEST
Sebastian Andrzej Siewior3bb869c2013-07-30 21:43:45 +020086 select USB_PHY
87 select AM335X_CONTROL_USB
88 select NOP_USB_XCEIV
89 help
90 This driver provides PHY support for that phy which part for the
91 AM335x SoC.
92
Felipe Balbia0e63122013-03-07 11:01:15 +020093config SAMSUNG_USBPHY
Tomasz Figa62787032013-05-16 11:57:06 +020094 tristate
Roland Stigge8b7c3b62012-04-29 16:47:04 +020095 help
Vivek Gautamdc2377d2013-03-14 15:59:10 +053096 Enable this to support Samsung USB phy helper driver for Samsung SoCs.
97 This driver provides common interface to interact, for Samsung USB 2.0 PHY
98 driver and later for Samsung USB 3.0 PHY driver.
99
100config SAMSUNG_USB2PHY
101 tristate "Samsung USB 2.0 PHY controller Driver"
102 select SAMSUNG_USBPHY
Roger Quadros052a11d2013-06-14 12:51:41 +0300103 select USB_PHY
Vivek Gautamdc2377d2013-03-14 15:59:10 +0530104 help
105 Enable this to support Samsung USB 2.0 (High Speed) PHY controller
106 driver for Samsung SoCs.
Felipe Balbia0e63122013-03-07 11:01:15 +0200107
Vivek Gautamb5276752013-03-14 15:59:11 +0530108config SAMSUNG_USB3PHY
109 tristate "Samsung USB 3.0 PHY controller Driver"
110 select SAMSUNG_USBPHY
Roger Quadros052a11d2013-06-14 12:51:41 +0300111 select USB_PHY
Vivek Gautamb5276752013-03-14 15:59:11 +0530112 help
113 Enable this to support Samsung USB 3.0 (Super Speed) phy controller
114 for samsung SoCs.
115
Felipe Balbia0e63122013-03-07 11:01:15 +0200116config TWL6030_USB
117 tristate "TWL6030 USB Transceiver Driver"
118 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
Felipe Balbia0e63122013-03-07 11:01:15 +0200119 help
120 Enable this to support the USB OTG transceiver on TWL6030
121 family chips. This TWL6030 transceiver has the VBUS and ID GND
122 and OTG SRP events capabilities. For all other transceiver functionality
123 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
124 are hooked to this driver through platform_data structure.
125 The definition of internal PHY APIs are in the mach-omap2 layer.
126
127config USB_GPIO_VBUS
128 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
Linus Torvalds5647ac02013-05-09 09:59:16 -0700129 depends on GPIOLIB
Roger Quadros052a11d2013-06-14 12:51:41 +0300130 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +0200131 help
132 Provides simple GPIO VBUS sensing for controllers with an
133 internal transceiver via the usb_phy interface, and
134 optionally control of a D+ pullup GPIO as well as a VBUS
135 current limit regulator.
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200136
137config USB_ISP1301
Yu Xua67e76a2012-08-09 22:29:31 +0800138 tristate "NXP ISP1301 USB transceiver support"
139 depends on USB || USB_GADGET
140 depends on I2C
Roger Quadros052a11d2013-06-14 12:51:41 +0300141 select USB_PHY
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200142 help
143 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
144 This chip is typically used as USB transceiver for USB host, gadget
145 and OTG drivers (to be selected separately).
146
147 To compile this driver as a module, choose M here: the
148 module will be called isp1301.
Yu Xua67e76a2012-08-09 22:29:31 +0800149
Felipe Balbia0e63122013-03-07 11:01:15 +0200150config USB_MSM_OTG
151 tristate "OTG support for Qualcomm on-chip USB controller"
152 depends on (USB || USB_GADGET) && ARCH_MSM
Roger Quadros052a11d2013-06-14 12:51:41 +0300153 select USB_PHY
Yu Xua67e76a2012-08-09 22:29:31 +0800154 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200155 Enable this to support the USB OTG transceiver on MSM chips. It
156 handles PHY initialization, clock management, and workarounds
157 required after resetting the hardware and power management.
158 This driver is required even for peripheral only or host only
159 mode configurations.
160 This driver is not supported on boards like trout which
161 has an external PHY.
162
163config USB_MV_OTG
164 tristate "Marvell USB OTG support"
Alan Stern98f541c2013-05-01 12:13:54 -0400165 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
Felipe Balbia0e63122013-03-07 11:01:15 +0200166 select USB_OTG
Roger Quadros052a11d2013-06-14 12:51:41 +0300167 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +0200168 help
169 Say Y here if you want to build Marvell USB OTG transciever
170 driver in kernel (including PXA and MMP series). This driver
171 implements role switch between EHCI host driver and gadget driver.
172
173 To compile this driver as a module, choose M here.
174
175config USB_MXS_PHY
176 tristate "Freescale MXS USB PHY support"
177 depends on ARCH_MXC || ARCH_MXS
178 select STMP_DEVICE
Roger Quadros052a11d2013-06-14 12:51:41 +0300179 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +0200180 help
181 Enable this to support the Freescale MXS USB PHY.
182
183 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700184
185config USB_RCAR_PHY
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400186 tristate "Renesas R-Car USB PHY support"
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700187 depends on USB || USB_GADGET
Roger Quadros052a11d2013-06-14 12:51:41 +0300188 select USB_PHY
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700189 help
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400190 Say Y here to add support for the Renesas R-Car USB common PHY driver.
191 This chip is typically used as USB PHY for USB host, gadget.
192 This driver supports R8A7778 and R8A7779.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700193
194 To compile this driver as a module, choose M here: the
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400195 module will be called phy-rcar-usb.
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530196
Valentine Barshak5578b262013-10-10 20:35:17 +0400197config USB_RCAR_GEN2_PHY
198 tristate "Renesas R-Car Gen2 USB PHY support"
199 depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST
200 select USB_PHY
201 help
202 Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver.
203 It is typically used to control internal USB PHY for USBHS,
204 and to configure shared USB channels 0 and 2.
205 This driver supports R8A7790 and R8A7791.
206
207 To compile this driver as a module, choose M here: the
208 module will be called phy-rcar-gen2-usb.
209
Felipe Balbia0e63122013-03-07 11:01:15 +0200210config USB_ULPI
211 bool "Generic ULPI Transceiver Driver"
212 depends on ARM
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530213 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200214 Enable this to support ULPI connected USB OTG transceivers which
215 are likely found on embedded boards.
216
217config USB_ULPI_VIEWPORT
218 bool
219 depends on USB_ULPI
220 help
221 Provides read/write operations to the ULPI phy register set for
222 controllers with a viewport register (e.g. Chipidea/ARC controllers).
223
Roger Quadros052a11d2013-06-14 12:51:41 +0300224endmenu