• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Physical Layer USB driver configuration
3#
4menu "USB Physical Layer drivers"
5
6config USB_PHY
7	def_bool n
8
9config USB_OTG_WAKELOCK
10	bool "Hold a wakelock when USB connected"
11	depends on PM_WAKELOCKS
12	select USB_OTG_UTILS
13	help
14	  Select this to automatically hold a wakelock when USB is
15	  connected, preventing suspend.
16
17#
18# USB Transceiver Drivers
19#
20config AB8500_USB
21	tristate "AB8500 USB Transceiver Driver"
22	depends on AB8500_CORE
23	select USB_PHY
24	help
25	  Enable this to support the USB OTG transceiver in AB8500 chip.
26	  This transceiver supports high and full speed devices plus,
27	  in host mode, low speed.
28
29config FSL_USB2_OTG
30	bool "Freescale USB OTG Transceiver Driver"
31	depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM
32	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
33	select USB_PHY
34	help
35	  Enable this to support Freescale USB OTG transceiver.
36
37config ISP1301_OMAP
38	tristate "Philips ISP1301 with OMAP OTG"
39	depends on I2C && ARCH_OMAP_OTG
40	depends on USB
41	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
42	select USB_PHY
43	help
44	  If you say yes here you get support for the Philips ISP1301
45	  USB-On-The-Go transceiver working with the OMAP OTG controller.
46	  The ISP1301 is a full speed USB  transceiver which is used in
47	  products including H2, H3, and H4 development boards for Texas
48	  Instruments OMAP processors.
49
50	  This driver can also be built as a module.  If so, the module
51	  will be called phy-isp1301-omap.
52
53config KEYSTONE_USB_PHY
54	tristate "Keystone USB PHY Driver"
55	depends on ARCH_KEYSTONE || COMPILE_TEST
56	depends on NOP_USB_XCEIV
57	help
58	  Enable this to support Keystone USB phy. This driver provides
59	  interface to interact with USB 2.0 and USB 3.0 PHY that is part
60	  of the Keystone SOC.
61
62config NOP_USB_XCEIV
63	tristate "NOP USB Transceiver Driver"
64	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
65	select USB_PHY
66	help
67	  This driver is to be used by all the usb transceiver which are either
68	  built-in with usb ip or which are autonomous and doesn't require any
69	  phy programming such as ISP1x04 etc.
70
71config AM335X_CONTROL_USB
72	tristate
73
74config AM335X_PHY_USB
75	tristate "AM335x USB PHY Driver"
76	depends on ARM || COMPILE_TEST
77	depends on NOP_USB_XCEIV
78	select USB_PHY
79	select AM335X_CONTROL_USB
80	select USB_COMMON
81	help
82	  This driver provides PHY support for that phy which part for the
83	  AM335x SoC.
84
85config SAMSUNG_USBPHY
86	tristate
87	help
88	  Enable this to support Samsung USB phy helper driver for Samsung SoCs.
89	  This driver provides common interface to interact, for Samsung USB 2.0 PHY
90	  driver and later for Samsung USB 3.0 PHY driver.
91
92config TWL6030_USB
93	tristate "TWL6030 USB Transceiver Driver"
94	depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
95	help
96	  Enable this to support the USB OTG transceiver on TWL6030
97	  family chips. This TWL6030 transceiver has the VBUS and ID GND
98	  and OTG SRP events capabilities. For all other transceiver functionality
99	  UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
100	  are hooked to this driver through platform_data structure.
101	  The definition of internal PHY APIs are in the mach-omap2 layer.
102
103config USB_GPIO_VBUS
104	tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
105	depends on GPIOLIB || COMPILE_TEST
106	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
107	select USB_PHY
108	help
109	  Provides simple GPIO VBUS sensing for controllers with an
110	  internal transceiver via the usb_phy interface, and
111	  optionally control of a D+ pullup GPIO as well as a VBUS
112	  current limit regulator.
113
114config OMAP_OTG
115	tristate "OMAP USB OTG controller driver"
116	depends on ARCH_OMAP_OTG && EXTCON
117	help
118	  Enable this to support some transceivers on OMAP1 platforms. OTG
119	  controller is needed to switch between host and peripheral modes.
120
121	  This driver can also be built as a module. If so, the module
122	  will be called phy-omap-otg.
123
124config TAHVO_USB
125	tristate "Tahvo USB transceiver driver"
126	depends on MFD_RETU && EXTCON
127	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
128	select USB_PHY
129	help
130	  Enable this to support USB transceiver on Tahvo. This is used
131	  at least on Nokia 770.
132
133config TAHVO_USB_HOST_BY_DEFAULT
134	depends on TAHVO_USB
135	bool "Device in USB host mode by default"
136	help
137	  Say Y here, if you want the device to enter USB host mode
138	  by default on bootup.
139
140config USB_ISP1301
141	tristate "NXP ISP1301 USB transceiver support"
142	depends on USB || USB_GADGET
143	depends on I2C
144	select USB_PHY
145	help
146	  Say Y here to add support for the NXP ISP1301 USB transceiver driver.
147	  This chip is typically used as USB transceiver for USB host, gadget
148	  and OTG drivers (to be selected separately).
149
150	  To compile this driver as a module, choose M here: the
151	  module will be called phy-isp1301.
152
153config USB_MSM_OTG
154	tristate "Qualcomm on-chip USB OTG controller support"
155	depends on (USB || USB_GADGET) && (ARCH_QCOM || COMPILE_TEST)
156	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
157	depends on RESET_CONTROLLER
158	depends on REGULATOR
159	depends on EXTCON
160	select USB_PHY
161	help
162	  Enable this to support the USB OTG transceiver on Qualcomm 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_QCOM_8X16_PHY
171	tristate "Qualcomm APQ8016/MSM8916 on-chip USB PHY controller support"
172	depends on ARCH_QCOM || COMPILE_TEST
173	depends on RESET_CONTROLLER && EXTCON
174	select USB_PHY
175	select USB_ULPI_VIEWPORT
176	help
177	  Enable this to support the USB transceiver on Qualcomm 8x16 chipsets.
178	  It handles PHY initialization, clock management, power management,
179	  and workarounds required after resetting the hardware.
180
181	  To compile this driver as a module, choose M here: the
182	  module will be called phy-qcom-8x16-usb.
183
184config USB_MV_OTG
185	tristate "Marvell USB OTG support"
186	depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
187	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
188	select USB_PHY
189	help
190	  Say Y here if you want to build Marvell USB OTG transciever
191	  driver in kernel (including PXA and MMP series). This driver
192	  implements role switch between EHCI host driver and gadget driver.
193
194	  To compile this driver as a module, choose M here.
195
196config USB_MXS_PHY
197	tristate "Freescale MXS USB PHY support"
198	depends on ARCH_MXC || ARCH_MXS
199	select STMP_DEVICE
200	select USB_PHY
201	help
202	  Enable this to support the Freescale MXS USB PHY.
203
204	  MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
205
206config USB_ULPI
207	bool "Generic ULPI Transceiver Driver"
208	depends on ARM || ARM64
209	select USB_ULPI_VIEWPORT
210	help
211	  Enable this to support ULPI connected USB OTG transceivers which
212	  are likely found on embedded boards.
213
214config USB_ULPI_VIEWPORT
215	bool
216	help
217	  Provides read/write operations to the ULPI phy register set for
218	  controllers with a viewport register (e.g. Chipidea/ARC controllers).
219
220config DUAL_ROLE_USB_INTF
221	bool "Generic DUAL ROLE sysfs interface"
222	depends on SYSFS && USB_PHY
223	help
224	  A generic sysfs interface to track and change the state of
225	  dual role usb phys. The usb phy drivers can register to
226	  this interface to expose it capabilities to the userspace
227	  and thereby allowing userspace to change the port mode.
228
229endmenu
230