blob: 371d0e74e9094132eb378366858dedd7e654d89f [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
Felipe Balbiedc7cb22013-03-07 11:13:43 +02007 USB controllers (those which are host, device or DRD) need a
8 device to handle the physical layer signalling, commonly called
9 a PHY.
Kishon Vijay Abraham I657b3062012-09-06 20:27:06 +053010
Felipe Balbiedc7cb22013-03-07 11:13:43 +020011 The following drivers add support for such PHY devices.
12
13if USB_PHY
Roland Stigge8b7c3b62012-04-29 16:47:04 +020014
Felipe Balbia0e63122013-03-07 11:01:15 +020015#
16# USB Transceiver Drivers
17#
18config AB8500_USB
19 tristate "AB8500 USB Transceiver Driver"
20 depends on AB8500_CORE
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053021 help
Felipe Balbia0e63122013-03-07 11:01:15 +020022 Enable this to support the USB OTG transceiver in AB8500 chip.
23 This transceiver supports high and full speed devices plus,
24 in host mode, low speed.
25
26config FSL_USB2_OTG
27 bool "Freescale USB OTG Transceiver Driver"
28 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_SUSPEND
29 select USB_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +020030 help
31 Enable this to support Freescale USB OTG transceiver.
32
33config ISP1301_OMAP
34 tristate "Philips ISP1301 with OMAP OTG"
35 depends on I2C && ARCH_OMAP_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +020036 help
37 If you say yes here you get support for the Philips ISP1301
38 USB-On-The-Go transceiver working with the OMAP OTG controller.
39 The ISP1301 is a full speed USB transceiver which is used in
40 products including H2, H3, and H4 development boards for Texas
41 Instruments OMAP processors.
42
43 This driver can also be built as a module. If so, the module
44 will be called isp1301_omap.
45
46config MV_U3D_PHY
47 bool "Marvell USB 3.0 PHY controller Driver"
Felipe Balbi60630c22013-03-22 09:15:45 +020048 depends on CPU_MMP3
Felipe Balbia0e63122013-03-07 11:01:15 +020049 help
50 Enable this to support Marvell USB 3.0 phy controller for Marvell
51 SoC.
52
53config NOP_USB_XCEIV
54 tristate "NOP USB Transceiver Driver"
Felipe Balbia0e63122013-03-07 11:01:15 +020055 help
56 This driver is to be used by all the usb transceiver which are either
57 built-in with usb ip or which are autonomous and doesn't require any
58 phy programming such as ISP1x04 etc.
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053059
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +053060config OMAP_CONTROL_USB
61 tristate "OMAP CONTROL USB Driver"
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_USB2
70 tristate "OMAP USB2 PHY Driver"
Alexandre Pereira da Silvac6156322012-06-26 11:56:48 -030071 depends on ARCH_OMAP2PLUS
Roland Stigge8b7c3b62012-04-29 16:47:04 +020072 select OMAP_CONTROL_USB
73 help
74 Enable this to support the transceiver that is part of SOC. This
75 driver takes care of all the PHY functionality apart from comparator.
76 The USB OTG controller communicates with the comparator using this
77 driver.
78
79config OMAP_USB3
Yu Xua67e76a2012-08-09 22:29:31 +080080 tristate "OMAP USB3 PHY Driver"
81 select OMAP_CONTROL_USB
82 help
83 Enable this to support the USB3 PHY that is part of SOC. This
84 driver takes care of all the PHY functionality apart from comparator.
85 This driver interacts with the "OMAP Control USB Driver" to power
86 on/off the PHY.
87
Felipe Balbia0e63122013-03-07 11:01:15 +020088config SAMSUNG_USBPHY
Vivek Gautamdc2377d2013-03-14 15:59:10 +053089 tristate "Samsung USB PHY Driver"
Roland Stigge8b7c3b62012-04-29 16:47:04 +020090 help
Vivek Gautamdc2377d2013-03-14 15:59:10 +053091 Enable this to support Samsung USB phy helper driver for Samsung SoCs.
92 This driver provides common interface to interact, for Samsung USB 2.0 PHY
93 driver and later for Samsung USB 3.0 PHY driver.
94
95config SAMSUNG_USB2PHY
96 tristate "Samsung USB 2.0 PHY controller Driver"
97 select SAMSUNG_USBPHY
98 help
99 Enable this to support Samsung USB 2.0 (High Speed) PHY controller
100 driver for Samsung SoCs.
Felipe Balbia0e63122013-03-07 11:01:15 +0200101
Vivek Gautamb5276752013-03-14 15:59:11 +0530102config SAMSUNG_USB3PHY
103 tristate "Samsung USB 3.0 PHY controller Driver"
104 select SAMSUNG_USBPHY
105 help
106 Enable this to support Samsung USB 3.0 (Super Speed) phy controller
107 for samsung SoCs.
108
Felipe Balbia0e63122013-03-07 11:01:15 +0200109config TWL4030_USB
110 tristate "TWL4030 USB Transceiver Driver"
111 depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
Felipe Balbia0e63122013-03-07 11:01:15 +0200112 help
113 Enable this to support the USB OTG transceiver on TWL4030
114 family chips (including the TWL5030 and TPS659x0 devices).
115 This transceiver supports high and full speed devices plus,
116 in host mode, low speed.
117
118config TWL6030_USB
119 tristate "TWL6030 USB Transceiver Driver"
120 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
Felipe Balbia0e63122013-03-07 11:01:15 +0200121 help
122 Enable this to support the USB OTG transceiver on TWL6030
123 family chips. This TWL6030 transceiver has the VBUS and ID GND
124 and OTG SRP events capabilities. For all other transceiver functionality
125 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
126 are hooked to this driver through platform_data structure.
127 The definition of internal PHY APIs are in the mach-omap2 layer.
128
129config USB_GPIO_VBUS
130 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
Linus Torvalds5647ac02013-05-09 09:59:16 -0700131 depends on GPIOLIB
Felipe Balbia0e63122013-03-07 11:01:15 +0200132 help
133 Provides simple GPIO VBUS sensing for controllers with an
134 internal transceiver via the usb_phy interface, and
135 optionally control of a D+ pullup GPIO as well as a VBUS
136 current limit regulator.
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200137
138config USB_ISP1301
139 tristate "NXP ISP1301 USB transceiver support"
140 depends on USB || USB_GADGET
141 depends on I2C
Roland Stiggec8fa48d2013-03-26 18:36:01 +0100142 select USB_OTG_UTILS
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200143 help
144 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
145 This chip is typically used as USB transceiver for USB host, gadget
146 and OTG drivers (to be selected separately).
147
148 To compile this driver as a module, choose M here: the
149 module will be called isp1301.
150
Felipe Balbia0e63122013-03-07 11:01:15 +0200151config USB_MSM_OTG
152 tristate "OTG support for Qualcomm on-chip USB controller"
153 depends on (USB || USB_GADGET) && ARCH_MSM
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200154 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"
165 depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND
166 select USB_OTG
Felipe Balbia0e63122013-03-07 11:01:15 +0200167 help
168 Say Y here if you want to build Marvell USB OTG transciever
169 driver in kernel (including PXA and MMP series). This driver
170 implements role switch between EHCI host driver and gadget driver.
171
172 To compile this driver as a module, choose M here.
173
174config USB_MXS_PHY
175 tristate "Freescale MXS USB PHY support"
176 depends on ARCH_MXC || ARCH_MXS
177 select STMP_DEVICE
Felipe Balbia0e63122013-03-07 11:01:15 +0200178 help
179 Enable this to support the Freescale MXS USB PHY.
180
181 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700182
183config USB_RCAR_PHY
184 tristate "Renesas R-Car USB phy support"
185 depends on USB || USB_GADGET
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700186 help
187 Say Y here to add support for the Renesas R-Car USB phy driver.
188 This chip is typically used as USB phy for USB host, gadget.
189 This driver supports: R8A7779
190
191 To compile this driver as a module, choose M here: the
192 module will be called rcar-phy.
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530193
Felipe Balbia0e63122013-03-07 11:01:15 +0200194config USB_ULPI
195 bool "Generic ULPI Transceiver Driver"
196 depends on ARM
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530197 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200198 Enable this to support ULPI connected USB OTG transceivers which
199 are likely found on embedded boards.
200
201config USB_ULPI_VIEWPORT
202 bool
203 depends on USB_ULPI
204 help
205 Provides read/write operations to the ULPI phy register set for
206 controllers with a viewport register (e.g. Chipidea/ARC controllers).
207
Felipe Balbiedc7cb22013-03-07 11:13:43 +0200208endif # USB_PHY