xref: /linux/drivers/usb/phy/Kconfig (revision 6eb2fb3170549737207974c2c6ad34bcc2f3025e)
1#
2# Physical Layer USB driver configuration
3#
4menuconfig USB_PHY
5	bool "USB Physical Layer drivers"
6	help
7	  USB controllers (those which are host, device or DRD) need a
8	  device to handle the physical layer signalling, commonly called
9	  a PHY.
10
11	  The following drivers add support for such PHY devices.
12
13if USB_PHY
14
15#
16# USB Transceiver Drivers
17#
18config AB8500_USB
19	tristate "AB8500 USB Transceiver Driver"
20	depends on AB8500_CORE
21	help
22	  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
30	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
36	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"
48	depends on CPU_MMP3
49	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"
55	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.
59
60config OMAP_CONTROL_USB
61	tristate "OMAP CONTROL USB Driver"
62	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
69config OMAP_USB2
70	tristate "OMAP USB2 PHY Driver"
71	depends on ARCH_OMAP2PLUS
72	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
80	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
88config SAMSUNG_USBPHY
89	tristate "Samsung USB PHY Driver"
90	help
91	  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.
101
102config 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
109config TWL4030_USB
110	tristate "TWL4030 USB Transceiver Driver"
111	depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
112	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
121	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'"
131	depends on GPIOLIB
132	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.
137
138config USB_ISP1301
139	tristate "NXP ISP1301 USB transceiver support"
140	depends on USB || USB_GADGET
141	depends on I2C
142	select USB_OTG_UTILS
143	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
151config USB_MSM_OTG
152	tristate "OTG support for Qualcomm on-chip USB controller"
153	depends on (USB || USB_GADGET) && ARCH_MSM
154	help
155	  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
167	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
178	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.
182
183config USB_RCAR_PHY
184	tristate "Renesas R-Car USB phy support"
185	depends on USB || USB_GADGET
186	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.
193
194config USB_ULPI
195	bool "Generic ULPI Transceiver Driver"
196	depends on ARM
197	help
198	  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
208endif # USB_PHY
209