1#
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
9config USB_OTG_UTILS
10	bool
11	help
12	  Select this to make sure the build includes objects from
13	  the OTG infrastructure directory.
14
15if USB || USB_GADGET
16
17#
18# USB Transceiver Drivers
19#
20config USB_GPIO_VBUS
21	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
22	depends on GENERIC_GPIO
23	select USB_OTG_UTILS
24	help
25	  Provides simple GPIO VBUS sensing for controllers with an
26	  internal transceiver via the usb_phy interface, and
27	  optionally control of a D+ pullup GPIO as well as a VBUS
28	  current limit regulator.
29
30config ISP1301_OMAP
31	tristate "Philips ISP1301 with OMAP OTG"
32	depends on I2C && ARCH_OMAP_OTG
33	select USB_OTG_UTILS
34	help
35	  If you say yes here you get support for the Philips ISP1301
36	  USB-On-The-Go transceiver working with the OMAP OTG controller.
37	  The ISP1301 is a full speed USB  transceiver which is used in
38	  products including H2, H3, and H4 development boards for Texas
39	  Instruments OMAP processors.
40
41	  This driver can also be built as a module.  If so, the module
42	  will be called isp1301_omap.
43
44config USB_ULPI
45	bool "Generic ULPI Transceiver Driver"
46	depends on ARM
47	select USB_OTG_UTILS
48	help
49	  Enable this to support ULPI connected USB OTG transceivers which
50	  are likely found on embedded boards.
51
52config USB_ULPI_VIEWPORT
53	bool
54	depends on USB_ULPI
55	help
56	  Provides read/write operations to the ULPI phy register set for
57	  controllers with a viewport register (e.g. Chipidea/ARC controllers).
58
59config TWL4030_USB
60	tristate "TWL4030 USB Transceiver Driver"
61	depends on TWL4030_CORE && REGULATOR_TWL4030
62	select USB_OTG_UTILS
63	help
64	  Enable this to support the USB OTG transceiver on TWL4030
65	  family chips (including the TWL5030 and TPS659x0 devices).
66	  This transceiver supports high and full speed devices plus,
67	  in host mode, low speed.
68
69config TWL6030_USB
70	tristate "TWL6030 USB Transceiver Driver"
71	depends on TWL4030_CORE
72	select USB_OTG_UTILS
73	help
74	  Enable this to support the USB OTG transceiver on TWL6030
75	  family chips. This TWL6030 transceiver has the VBUS and ID GND
76	  and OTG SRP events capabilities. For all other transceiver functionality
77	  UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
78	  are hooked to this driver through platform_data structure.
79	  The definition of internal PHY APIs are in the mach-omap2 layer.
80
81config NOP_USB_XCEIV
82	tristate "NOP USB Transceiver Driver"
83	select USB_OTG_UTILS
84	help
85	  This driver is to be used by all the usb transceiver which are either
86	  built-in with usb ip or which are autonomous and doesn't require any
87	  phy programming such as ISP1x04 etc.
88
89config USB_MSM_OTG
90	tristate "OTG support for Qualcomm on-chip USB controller"
91	depends on (USB || USB_GADGET) && ARCH_MSM
92	select USB_OTG_UTILS
93	help
94	  Enable this to support the USB OTG transceiver on MSM chips. It
95	  handles PHY initialization, clock management, and workarounds
96	  required after resetting the hardware and power management.
97	  This driver is required even for peripheral only or host only
98	  mode configurations.
99	  This driver is not supported on boards like trout which
100	  has an external PHY.
101
102config AB8500_USB
103	tristate "AB8500 USB Transceiver Driver"
104	depends on AB8500_CORE
105	select USB_OTG_UTILS
106	help
107	  Enable this to support the USB OTG transceiver in AB8500 chip.
108	  This transceiver supports high and full speed devices plus,
109	  in host mode, low speed.
110
111config FSL_USB2_OTG
112	bool "Freescale USB OTG Transceiver Driver"
113	depends on USB_EHCI_FSL && USB_GADGET_FSL_USB2 && USB_SUSPEND
114	select USB_OTG
115	select USB_OTG_UTILS
116	help
117	  Enable this to support Freescale USB OTG transceiver.
118
119config USB_MV_OTG
120	tristate "Marvell USB OTG support"
121	depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND
122	select USB_OTG
123	select USB_OTG_UTILS
124	help
125	  Say Y here if you want to build Marvell USB OTG transciever
126	  driver in kernel (including PXA and MMP series). This driver
127	  implements role switch between EHCI host driver and gadget driver.
128
129	  To compile this driver as a module, choose M here.
130
131endif # USB || OTG
132