blob: e6c823d5a27bf4635e49f60d7bc3ea2fb13c1615 [file] [log] [blame]
David Brownellb8da8672008-11-24 11:53:35 -08001#
2# USB OTG infrastructure may be needed for peripheral-only, host-only,
3# or OTG-capable configurations when OTG transceivers or controllers
4# are used.
5#
6
7comment "OTG and related infrastructure"
8
David Brownellb8da8672008-11-24 11:53:35 -08009config USB_OTG_UTILS
10 bool
11 help
12 Select this to make sure the build includes objects from
13 the OTG infrastructure directory.
14
Todd Poynor47272162011-07-01 17:19:56 -070015config USB_OTG_WAKELOCK
16 bool "Hold a wakelock when USB connected"
17 depends on WAKELOCK
18 select USB_OTG_UTILS
19 help
20 Select this to automatically hold a wakelock when USB is
21 connected, preventing suspend.
22
David Brownell2bf5fa12009-01-24 17:55:57 -080023if USB || USB_GADGET
24
Philipp Zabel6084f1b2008-11-24 12:00:01 -080025#
26# USB Transceiver Drivers
27#
28config USB_GPIO_VBUS
29 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
30 depends on GENERIC_GPIO
31 select USB_OTG_UTILS
32 help
33 Provides simple GPIO VBUS sensing for controllers with an
Heikki Krogerus86753812012-02-13 13:24:02 +020034 internal transceiver via the usb_phy interface, and
Philipp Zabel6084f1b2008-11-24 12:00:01 -080035 optionally control of a D+ pullup GPIO as well as a VBUS
36 current limit regulator.
37
David Brownellb8da8672008-11-24 11:53:35 -080038config ISP1301_OMAP
39 tristate "Philips ISP1301 with OMAP OTG"
40 depends on I2C && ARCH_OMAP_OTG
41 select USB_OTG_UTILS
42 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
Daniel Mack2d57a952009-10-15 17:09:35 +030052config USB_ULPI
53 bool "Generic ULPI Transceiver Driver"
54 depends on ARM
Valentin Longchampdd091c72010-01-20 20:06:31 +010055 select USB_OTG_UTILS
Daniel Mack2d57a952009-10-15 17:09:35 +030056 help
57 Enable this to support ULPI connected USB OTG transceivers which
58 are likely found on embedded boards.
59
Benoit Gobyee398ba2011-03-09 16:28:54 -080060config USB_ULPI_VIEWPORT
61 bool
62 depends on USB_ULPI
63 help
64 Provides read/write operations to the ULPI phy register set for
65 controllers with a viewport register (e.g. Chipidea/ARC controllers).
66
David Brownell9ebd9612008-12-18 12:25:44 -080067config TWL4030_USB
68 tristate "TWL4030 USB Transceiver Driver"
Jouni Hogander66760162009-02-20 14:02:31 +020069 depends on TWL4030_CORE && REGULATOR_TWL4030
David Brownell9ebd9612008-12-18 12:25:44 -080070 select USB_OTG_UTILS
71 help
72 Enable this to support the USB OTG transceiver on TWL4030
73 family chips (including the TWL5030 and TPS659x0 devices).
74 This transceiver supports high and full speed devices plus,
75 in host mode, low speed.
76
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070077config USB_MSM_OTG_72K
78 bool "OTG support for Legcay Qualcomm on-chip USB controller"
79 depends on ARCH_MSM
80 select USB_OTG_UTILS
81 default USB_MSM_72K
82 help
83 Enable this to support the USB OTG transceiver on MSM chips. It
84 handles PHY initialization, clock management, low power mode and
85 workarounds required after resetting the hardware. This driver is
86 required for even peripheral only or host only mode configuration.
87 Supports SRP and HNP when both gadget and Host are selected.
88
89config MSM_OTG_ENABLE_A_WAIT_BCON_TIMEOUT
90 bool "Enable A-device timeout for B-device connection"
91 depends on USB_MSM_OTG_72K
92 default n
93 help
94 OTG specification allows A-device to turn off VBUS if B-device
95 fails to signal connect event before TA_WAIT_BCON (1.1 - 30 sec).
96 SRP detection is enabled and hardware is put into low power mode
97 upon this timeout.
98
99 If you say yes, VBUS will be turned off if B-device does not signal
100 connect in 30 sec. Otherwise VBUS is not turned off when Micro-A
101 cable is connected. But hardware is put into LPM. Say no if leakage
102 currents in your system are minimum.
103
104
Hema HK6b296122010-12-10 18:08:48 +0530105config TWL6030_USB
106 tristate "TWL6030 USB Transceiver Driver"
107 depends on TWL4030_CORE
108 select USB_OTG_UTILS
109 help
110 Enable this to support the USB OTG transceiver on TWL6030
111 family chips. This TWL6030 transceiver has the VBUS and ID GND
112 and OTG SRP events capabilities. For all other transceiver functionality
113 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
114 are hooked to this driver through platform_data structure.
115 The definition of internal PHY APIs are in the mach-omap2 layer.
116
Ajay Kumar Guptaf6d92a02009-02-06 17:32:35 +0530117config NOP_USB_XCEIV
118 tristate "NOP USB Transceiver Driver"
119 select USB_OTG_UTILS
120 help
Felipe Contreras00471f62011-12-20 02:42:26 +0200121 This driver is to be used by all the usb transceiver which are either
122 built-in with usb ip or which are autonomous and doesn't require any
123 phy programming such as ISP1x04 etc.
Ajay Kumar Guptaf6d92a02009-02-06 17:32:35 +0530124
Pavankumar Kondetidfb21302011-03-04 22:45:02 +0530125config USB_MSM_OTG
Pavankumar Kondetie0c201f2010-12-07 17:53:55 +0530126 tristate "OTG support for Qualcomm on-chip USB controller"
127 depends on (USB || USB_GADGET) && ARCH_MSM
128 select USB_OTG_UTILS
129 help
130 Enable this to support the USB OTG transceiver on MSM chips. It
131 handles PHY initialization, clock management, and workarounds
Pavankumar Kondeti87c01042010-12-07 17:53:58 +0530132 required after resetting the hardware and power management.
133 This driver is required even for peripheral only or host only
134 mode configurations.
Pavankumar Kondeti8cf28f12011-02-04 10:08:18 +0530135 This driver is not supported on boards like trout which
136 has an external PHY.
Pavankumar Kondetie0c201f2010-12-07 17:53:55 +0530137
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700138config USB_MSM_ACA
139 bool "Support for Accessory Charger Adapter (ACA)"
140 depends on (USB_MSM_OTG || USB_MSM_OTG_72K) && ARCH_MSM
141 default n
142 help
143 Accesory Charger Adapter is a charger specified in USB Battery
144 Charging Specification(1.1). It enables OTG devices to charge
145 while operating as a host or peripheral at the same time.
146
Pavankumar Kondeti9e49ea92011-07-13 17:51:40 +0530147config USB_MSM_STANDARD_ACA
148 bool "Support for Standard ACA"
149 depends on USB_MSM_ACA
Pavankumar Kondetiaa449e12011-11-04 11:09:26 +0530150 default USB_MSM_OTG_72K
Pavankumar Kondeti9e49ea92011-07-13 17:51:40 +0530151 help
152 A Standard ACA has a Standard-A receptacle on the Accessory Port,
153 and can only be attached to a B-device. RID_A and RID_GND states
154 are only possible with Standard ACA. Select this feature if the
155 board is intended to support only Standard ACA.
156
Mian Yousaf Kaukab96915232010-12-07 15:00:09 +0100157config AB8500_USB
Felipe Contreras00471f62011-12-20 02:42:26 +0200158 tristate "AB8500 USB Transceiver Driver"
159 depends on AB8500_CORE
160 select USB_OTG_UTILS
161 help
162 Enable this to support the USB OTG transceiver in AB8500 chip.
163 This transceiver supports high and full speed devices plus,
164 in host mode, low speed.
Mian Yousaf Kaukab96915232010-12-07 15:00:09 +0100165
Li Yang0807c502011-04-18 22:01:59 +0200166config FSL_USB2_OTG
167 bool "Freescale USB OTG Transceiver Driver"
Fabio Estevama37670b2012-01-13 15:19:06 -0200168 depends on USB_EHCI_FSL && USB_GADGET_FSL_USB2 && USB_SUSPEND
Li Yang0807c502011-04-18 22:01:59 +0200169 select USB_OTG
170 select USB_OTG_UTILS
171 help
172 Enable this to support Freescale USB OTG transceiver.
173
Neil Zhang277164f2011-12-20 13:20:22 +0800174config USB_MV_OTG
175 tristate "Marvell USB OTG support"
Neil Zhanged2833a2012-01-30 11:44:23 +0800176 depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND
Neil Zhang277164f2011-12-20 13:20:22 +0800177 select USB_OTG
178 select USB_OTG_UTILS
179 help
180 Say Y here if you want to build Marvell USB OTG transciever
181 driver in kernel (including PXA and MMP series). This driver
182 implements role switch between EHCI host driver and gadget driver.
183
184 To compile this driver as a module, choose M here.
185
David Brownellb8da8672008-11-24 11:53:35 -0800186endif # USB || OTG