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 otg_transceiver 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_LANGWELL_OTG
90	tristate "Intel Langwell USB OTG dual-role support"
91	depends on USB && PCI && INTEL_SCU_IPC
92	select USB_OTG
93	select USB_OTG_UTILS
94	help
95	  Say Y here if you want to build Intel Langwell USB OTG
96	  transciever driver in kernel. This driver implements role
97	  switch between EHCI host driver and Langwell USB OTG
98	  client driver.
99
100	  To compile this driver as a module, choose M here: the
101	  module will be called langwell_otg.
102
103config USB_MSM_OTG
104	tristate "OTG support for Qualcomm on-chip USB controller"
105	depends on (USB || USB_GADGET) && ARCH_MSM
106	select USB_OTG_UTILS
107	help
108	  Enable this to support the USB OTG transceiver on MSM chips. It
109	  handles PHY initialization, clock management, and workarounds
110	  required after resetting the hardware and power management.
111	  This driver is required even for peripheral only or host only
112	  mode configurations.
113	  This driver is not supported on boards like trout which
114	  has an external PHY.
115
116config AB8500_USB
117        tristate "AB8500 USB Transceiver Driver"
118        depends on AB8500_CORE
119        select USB_OTG_UTILS
120        help
121          Enable this to support the USB OTG transceiver in AB8500 chip.
122          This transceiver supports high and full speed devices plus,
123          in host mode, low speed.
124
125endif # USB || OTG
126