blob: b57514ba486a43d5e11df0cd487d57b9fad0ba2f [file] [log] [blame]
Roland Stigge8b7c3b62012-04-29 16:47:04 +02001#
2# Physical Layer USB driver configuration
3#
Felipe Balbiedc7cb22013-03-07 11:13:43 +02004menuconfig USB_PHY
Arnd Bergmann46232452013-04-23 17:54:32 +02005 bool "USB Physical Layer drivers"
Kishon Vijay Abraham I657b3062012-09-06 20:27:06 +05306 help
George Spelvin035978b2013-06-17 01:45:50 -04007 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.
Kishon Vijay Abraham I657b3062012-09-06 20:27:06 +053011
George Spelvin035978b2013-06-17 01:45:50 -040012 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.
15
16 If you're not sure if this applies to you, it probably doesn't;
17 say N here.
Felipe Balbiedc7cb22013-03-07 11:13:43 +020018
19if USB_PHY
Roland Stigge8b7c3b62012-04-29 16:47:04 +020020
Felipe Balbia0e63122013-03-07 11:01:15 +020021#
22# USB Transceiver Drivers
23#
24config AB8500_USB
25 tristate "AB8500 USB Transceiver Driver"
26 depends on AB8500_CORE
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053027 help
Felipe Balbia0e63122013-03-07 11:01:15 +020028 Enable this to support the USB OTG transceiver in AB8500 chip.
29 This transceiver supports high and full speed devices plus,
30 in host mode, low speed.
31
32config FSL_USB2_OTG
33 bool "Freescale USB OTG Transceiver Driver"
Alan Stern98f541c2013-05-01 12:13:54 -040034 depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME
Felipe Balbia0e63122013-03-07 11:01:15 +020035 select USB_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +020036 help
37 Enable this to support Freescale USB OTG transceiver.
38
39config ISP1301_OMAP
40 tristate "Philips ISP1301 with OMAP OTG"
41 depends on I2C && ARCH_OMAP_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +020042 help
43 If you say yes here you get support for the Philips ISP1301
44 USB-On-The-Go transceiver working with the OMAP OTG controller.
45 The ISP1301 is a full speed USB transceiver which is used in
46 products including H2, H3, and H4 development boards for Texas
47 Instruments OMAP processors.
48
49 This driver can also be built as a module. If so, the module
50 will be called isp1301_omap.
51
52config MV_U3D_PHY
53 bool "Marvell USB 3.0 PHY controller Driver"
Felipe Balbi60630c22013-03-22 09:15:45 +020054 depends on CPU_MMP3
Felipe Balbia0e63122013-03-07 11:01:15 +020055 help
56 Enable this to support Marvell USB 3.0 phy controller for Marvell
57 SoC.
58
59config NOP_USB_XCEIV
60 tristate "NOP USB Transceiver Driver"
Felipe Balbia0e63122013-03-07 11:01:15 +020061 help
62 This driver is to be used by all the usb transceiver which are either
63 built-in with usb ip or which are autonomous and doesn't require any
64 phy programming such as ISP1x04 etc.
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053065
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +053066config OMAP_CONTROL_USB
67 tristate "OMAP CONTROL USB Driver"
Paul Gortmaker4e682bb2013-07-04 01:39:10 -040068 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +053069 help
70 Enable this to add support for the USB part present in the control
71 module. This driver has API to power on the USB2 PHY and to write to
72 the mailbox. The mailbox is present only in omap4 and the register to
73 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
74 additional register to power on USB3 PHY.
75
Roland Stigge8b7c3b62012-04-29 16:47:04 +020076config OMAP_USB2
77 tristate "OMAP USB2 PHY Driver"
Alexandre Pereira da Silvac6156322012-06-26 11:56:48 -030078 depends on ARCH_OMAP2PLUS
Roland Stigge8b7c3b62012-04-29 16:47:04 +020079 select OMAP_CONTROL_USB
80 help
81 Enable this to support the transceiver that is part of SOC. This
82 driver takes care of all the PHY functionality apart from comparator.
83 The USB OTG controller communicates with the comparator using this
84 driver.
85
86config OMAP_USB3
Yu Xua67e76a2012-08-09 22:29:31 +080087 tristate "OMAP USB3 PHY Driver"
Paul Gortmaker4e682bb2013-07-04 01:39:10 -040088 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Roland Stigge8b7c3b62012-04-29 16:47:04 +020089 select OMAP_CONTROL_USB
90 help
91 Enable this to support the USB3 PHY that is part of SOC. This
92 driver takes care of all the PHY functionality apart from comparator.
93 This driver interacts with the "OMAP Control USB Driver" to power
94 on/off the PHY.
95
Felipe Balbia0e63122013-03-07 11:01:15 +020096config SAMSUNG_USBPHY
Tomasz Figa62787032013-05-16 11:57:06 +020097 tristate
Roland Stigge8b7c3b62012-04-29 16:47:04 +020098 help
Vivek Gautamdc2377d2013-03-14 15:59:10 +053099 Enable this to support Samsung USB phy helper driver for Samsung SoCs.
100 This driver provides common interface to interact, for Samsung USB 2.0 PHY
101 driver and later for Samsung USB 3.0 PHY driver.
102
103config SAMSUNG_USB2PHY
104 tristate "Samsung USB 2.0 PHY controller Driver"
105 select SAMSUNG_USBPHY
106 help
107 Enable this to support Samsung USB 2.0 (High Speed) PHY controller
108 driver for Samsung SoCs.
Felipe Balbia0e63122013-03-07 11:01:15 +0200109
Vivek Gautamb5276752013-03-14 15:59:11 +0530110config SAMSUNG_USB3PHY
111 tristate "Samsung USB 3.0 PHY controller Driver"
112 select SAMSUNG_USBPHY
113 help
114 Enable this to support Samsung USB 3.0 (Super Speed) phy controller
115 for samsung SoCs.
116
Felipe Balbia0e63122013-03-07 11:01:15 +0200117config TWL4030_USB
118 tristate "TWL4030 USB Transceiver Driver"
119 depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
Felipe Balbia0e63122013-03-07 11:01:15 +0200120 help
121 Enable this to support the USB OTG transceiver on TWL4030
122 family chips (including the TWL5030 and TPS659x0 devices).
123 This transceiver supports high and full speed devices plus,
124 in host mode, low speed.
125
126config TWL6030_USB
127 tristate "TWL6030 USB Transceiver Driver"
128 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
Felipe Balbia0e63122013-03-07 11:01:15 +0200129 help
130 Enable this to support the USB OTG transceiver on TWL6030
131 family chips. This TWL6030 transceiver has the VBUS and ID GND
132 and OTG SRP events capabilities. For all other transceiver functionality
133 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
134 are hooked to this driver through platform_data structure.
135 The definition of internal PHY APIs are in the mach-omap2 layer.
136
137config USB_GPIO_VBUS
138 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
Linus Torvalds5647ac02013-05-09 09:59:16 -0700139 depends on GPIOLIB
Felipe Balbia0e63122013-03-07 11:01:15 +0200140 help
141 Provides simple GPIO VBUS sensing for controllers with an
142 internal transceiver via the usb_phy interface, and
143 optionally control of a D+ pullup GPIO as well as a VBUS
144 current limit regulator.
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200145
146config USB_ISP1301
Yu Xua67e76a2012-08-09 22:29:31 +0800147 tristate "NXP ISP1301 USB transceiver support"
148 depends on USB || USB_GADGET
149 depends on I2C
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200150 help
151 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
152 This chip is typically used as USB transceiver for USB host, gadget
153 and OTG drivers (to be selected separately).
154
155 To compile this driver as a module, choose M here: the
156 module will be called isp1301.
Yu Xua67e76a2012-08-09 22:29:31 +0800157
Felipe Balbia0e63122013-03-07 11:01:15 +0200158config USB_MSM_OTG
159 tristate "OTG support for Qualcomm on-chip USB controller"
160 depends on (USB || USB_GADGET) && ARCH_MSM
Yu Xua67e76a2012-08-09 22:29:31 +0800161 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200162 Enable this to support the USB OTG transceiver on MSM 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_MV_OTG
171 tristate "Marvell USB OTG support"
Alan Stern98f541c2013-05-01 12:13:54 -0400172 depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME
Felipe Balbia0e63122013-03-07 11:01:15 +0200173 select USB_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +0200174 help
175 Say Y here if you want to build Marvell USB OTG transciever
176 driver in kernel (including PXA and MMP series). This driver
177 implements role switch between EHCI host driver and gadget driver.
178
179 To compile this driver as a module, choose M here.
180
181config USB_MXS_PHY
182 tristate "Freescale MXS USB PHY support"
183 depends on ARCH_MXC || ARCH_MXS
184 select STMP_DEVICE
Felipe Balbia0e63122013-03-07 11:01:15 +0200185 help
186 Enable this to support the Freescale MXS USB PHY.
187
188 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700189
190config USB_RCAR_PHY
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400191 tristate "Renesas R-Car USB PHY support"
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700192 depends on USB || USB_GADGET
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700193 help
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400194 Say Y here to add support for the Renesas R-Car USB common PHY driver.
195 This chip is typically used as USB PHY for USB host, gadget.
196 This driver supports R8A7778 and R8A7779.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700197
198 To compile this driver as a module, choose M here: the
Sergei Shtylyov54407f12013-06-09 00:34:36 +0400199 module will be called phy-rcar-usb.
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530200
Felipe Balbia0e63122013-03-07 11:01:15 +0200201config USB_ULPI
202 bool "Generic ULPI Transceiver Driver"
203 depends on ARM
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530204 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200205 Enable this to support ULPI connected USB OTG transceivers which
206 are likely found on embedded boards.
207
208config USB_ULPI_VIEWPORT
209 bool
210 depends on USB_ULPI
211 help
212 Provides read/write operations to the ULPI phy register set for
213 controllers with a viewport register (e.g. Chipidea/ARC controllers).
214
Felipe Balbiedc7cb22013-03-07 11:13:43 +0200215endif # USB_PHY