blob: 52eebcb88c1fda4863063341a7027cb9842c076b [file] [log] [blame]
Greg Kroah-Hartmancae8dc32019-01-17 09:23:50 +01001# SPDX-License-Identifier: GPL-2.0
Roland Stigge8b7c3b62012-04-29 16:47:04 +02002#
3# Physical Layer USB driver configuration
4#
Roger Quadros052a11d2013-06-14 12:51:41 +03005menu "USB Physical Layer drivers"
Kishon Vijay Abraham I657b3062012-09-06 20:27:06 +05306
Roger Quadros052a11d2013-06-14 12:51:41 +03007config USB_PHY
Baolin Wang7d21114d2017-05-05 14:12:24 +08008 select EXTCON
Roger Quadros052a11d2013-06-14 12:51:41 +03009 def_bool n
Roland Stigge8b7c3b62012-04-29 16:47:04 +020010
Felipe Balbia0e63122013-03-07 11:01:15 +020011#
12# USB Transceiver Drivers
13#
14config AB8500_USB
15 tristate "AB8500 USB Transceiver Driver"
16 depends on AB8500_CORE
Roger Quadros052a11d2013-06-14 12:51:41 +030017 select USB_PHY
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053018 help
Felipe Balbia0e63122013-03-07 11:01:15 +020019 Enable this to support the USB OTG transceiver in AB8500 chip.
20 This transceiver supports high and full speed devices plus,
21 in host mode, low speed.
22
23config FSL_USB2_OTG
Arnd Bergmann2100e3c2019-04-16 14:25:32 +020024 tristate "Freescale USB OTG Transceiver Driver"
Anders Roxellf2105d42019-01-22 11:36:02 +010025 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
Felipe Balbi5a8d6512016-05-31 13:07:47 +030026 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
Roger Quadros052a11d2013-06-14 12:51:41 +030027 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020028 help
29 Enable this to support Freescale USB OTG transceiver.
30
31config ISP1301_OMAP
32 tristate "Philips ISP1301 with OMAP OTG"
33 depends on I2C && ARCH_OMAP_OTG
Felipe Balbi7cd0c292013-12-10 17:00:06 -060034 depends on USB
Felipe Balbi5a8d6512016-05-31 13:07:47 +030035 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
Roger Quadros052a11d2013-06-14 12:51:41 +030036 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020037 help
38 If you say yes here you get support for the Philips ISP1301
39 USB-On-The-Go transceiver working with the OMAP OTG controller.
40 The ISP1301 is a full speed USB transceiver which is used in
41 products including H2, H3, and H4 development boards for Texas
42 Instruments OMAP processors.
43
44 This driver can also be built as a module. If so, the module
Aaro Koskinen12c8d642013-12-21 20:37:38 +020045 will be called phy-isp1301-omap.
Felipe Balbia0e63122013-03-07 11:01:15 +020046
WingMan Kwok25acdd02013-12-12 12:25:30 -050047config KEYSTONE_USB_PHY
48 tristate "Keystone USB PHY Driver"
49 depends on ARCH_KEYSTONE || COMPILE_TEST
Felipe Balbi5a8d6512016-05-31 13:07:47 +030050 depends on NOP_USB_XCEIV
WingMan Kwok25acdd02013-12-12 12:25:30 -050051 help
52 Enable this to support Keystone USB phy. This driver provides
53 interface to interact with USB 2.0 and USB 3.0 PHY that is part
54 of the Keystone SOC.
55
Felipe Balbia0e63122013-03-07 11:01:15 +020056config NOP_USB_XCEIV
57 tristate "NOP USB Transceiver Driver"
Felipe Balbi5a8d6512016-05-31 13:07:47 +030058 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
Roger Quadros052a11d2013-06-14 12:51:41 +030059 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020060 help
61 This driver is to be used by all the usb transceiver which are either
62 built-in with usb ip or which are autonomous and doesn't require any
63 phy programming such as ISP1x04 etc.
Kishon Vijay Abraham I57f6ce02013-01-25 08:21:48 +053064
Sebastian Andrzej Siewior3bb869c2013-07-30 21:43:45 +020065config AM335X_CONTROL_USB
66 tristate
67
68config AM335X_PHY_USB
69 tristate "AM335x USB PHY Driver"
Dave Jones7ba01272013-09-03 17:35:52 -040070 depends on ARM || COMPILE_TEST
Felipe Balbi5a8d6512016-05-31 13:07:47 +030071 depends on NOP_USB_XCEIV
Sebastian Andrzej Siewior3bb869c2013-07-30 21:43:45 +020072 select USB_PHY
73 select AM335X_CONTROL_USB
Bin Liu59f042f2015-12-08 10:31:50 -060074 select USB_COMMON
Sebastian Andrzej Siewior3bb869c2013-07-30 21:43:45 +020075 help
76 This driver provides PHY support for that phy which part for the
77 AM335x SoC.
78
Felipe Balbia0e63122013-03-07 11:01:15 +020079config TWL6030_USB
80 tristate "TWL6030 USB Transceiver Driver"
81 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
Nicolae Rosia1ad528d2016-11-12 12:47:43 +020082 depends on OF
Felipe Balbia0e63122013-03-07 11:01:15 +020083 help
84 Enable this to support the USB OTG transceiver on TWL6030
85 family chips. This TWL6030 transceiver has the VBUS and ID GND
86 and OTG SRP events capabilities. For all other transceiver functionality
87 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
88 are hooked to this driver through platform_data structure.
89 The definition of internal PHY APIs are in the mach-omap2 layer.
90
91config USB_GPIO_VBUS
92 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
Geert Uytterhoevendb978e282015-05-05 18:32:38 +020093 depends on GPIOLIB || COMPILE_TEST
Felipe Balbi5a8d6512016-05-31 13:07:47 +030094 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
Roger Quadros052a11d2013-06-14 12:51:41 +030095 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +020096 help
97 Provides simple GPIO VBUS sensing for controllers with an
98 internal transceiver via the usb_phy interface, and
99 optionally control of a D+ pullup GPIO as well as a VBUS
100 current limit regulator.
Kishon Vijay Abraham I01658f02013-01-25 15:53:57 +0530101
Aaro Koskinen449d2ba2013-12-06 16:13:06 +0200102config OMAP_OTG
103 tristate "OMAP USB OTG controller driver"
104 depends on ARCH_OMAP_OTG && EXTCON
105 help
106 Enable this to support some transceivers on OMAP1 platforms. OTG
107 controller is needed to switch between host and peripheral modes.
108
109 This driver can also be built as a module. If so, the module
Aaro Koskinen12c8d642013-12-21 20:37:38 +0200110 will be called phy-omap-otg.
Aaro Koskinen449d2ba2013-12-06 16:13:06 +0200111
Aaro Koskinen9ba96ae2013-12-06 16:13:07 +0200112config TAHVO_USB
113 tristate "Tahvo USB transceiver driver"
Baolin Wang7d21114d2017-05-05 14:12:24 +0800114 depends on MFD_RETU
Felipe Balbi5a8d6512016-05-31 13:07:47 +0300115 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
Aaro Koskinen9ba96ae2013-12-06 16:13:07 +0200116 select USB_PHY
117 help
118 Enable this to support USB transceiver on Tahvo. This is used
119 at least on Nokia 770.
120
121config TAHVO_USB_HOST_BY_DEFAULT
122 depends on TAHVO_USB
Christoph Jaeger6341e622014-12-20 15:41:11 -0500123 bool "Device in USB host mode by default"
Aaro Koskinen9ba96ae2013-12-06 16:13:07 +0200124 help
125 Say Y here, if you want the device to enter USB host mode
126 by default on bootup.
127
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200128config USB_ISP1301
129 tristate "NXP ISP1301 USB transceiver support"
Alexandre Pereira da Silvac6156322012-06-26 11:56:48 -0300130 depends on USB || USB_GADGET
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200131 depends on I2C
Roger Quadros052a11d2013-06-14 12:51:41 +0300132 select USB_PHY
Roland Stigge8b7c3b62012-04-29 16:47:04 +0200133 help
134 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
135 This chip is typically used as USB transceiver for USB host, gadget
136 and OTG drivers (to be selected separately).
137
138 To compile this driver as a module, choose M here: the
Aaro Koskinen12c8d642013-12-21 20:37:38 +0200139 module will be called phy-isp1301.
Yu Xua67e76a2012-08-09 22:29:31 +0800140
Felipe Balbia0e63122013-03-07 11:01:15 +0200141config USB_MV_OTG
142 tristate "Marvell USB OTG support"
Peter Chenc4f16132015-11-19 11:47:47 +0800143 depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
Felipe Balbi5a8d6512016-05-31 13:07:47 +0300144 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
Roger Quadros052a11d2013-06-14 12:51:41 +0300145 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +0200146 help
Colin Ian King44ef9b22020-11-26 22:37:04 +0000147 Say Y here if you want to build Marvell USB OTG transceiver
Felipe Balbia0e63122013-03-07 11:01:15 +0200148 driver in kernel (including PXA and MMP series). This driver
149 implements role switch between EHCI host driver and gadget driver.
150
151 To compile this driver as a module, choose M here.
152
153config USB_MXS_PHY
154 tristate "Freescale MXS USB PHY support"
155 depends on ARCH_MXC || ARCH_MXS
156 select STMP_DEVICE
Roger Quadros052a11d2013-06-14 12:51:41 +0300157 select USB_PHY
Felipe Balbia0e63122013-03-07 11:01:15 +0200158 help
159 Enable this to support the Freescale MXS USB PHY.
160
161 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
Kuninori Morimoto1789e522012-10-31 19:03:11 -0700162
Dmitry Osipenkoee30ec02018-04-10 01:02:59 +0300163config USB_TEGRA_PHY
164 tristate "NVIDIA Tegra USB PHY Driver"
Krzysztof Kozlowski91687c192019-12-30 18:22:15 +0100165 depends on ARCH_TEGRA || COMPILE_TEST
Arnd Bergmann822852f2018-05-30 23:33:50 +0200166 select USB_COMMON
Dmitry Osipenkoee30ec02018-04-10 01:02:59 +0300167 select USB_PHY
168 select USB_ULPI
169 help
170 This driver provides PHY support for the USB controllers found
171 on NVIDIA Tegra SoC's.
172
Felipe Balbia0e63122013-03-07 11:01:15 +0200173config USB_ULPI
174 bool "Generic ULPI Transceiver Driver"
Krzysztof Kozlowski91687c192019-12-30 18:22:15 +0100175 depends on ARM || ARM64 || COMPILE_TEST
Ivan T. Ivanov1ea276c2015-03-21 15:25:52 +0200176 select USB_ULPI_VIEWPORT
Praveen Paneri337dc3a2012-11-23 16:03:06 +0530177 help
Felipe Balbia0e63122013-03-07 11:01:15 +0200178 Enable this to support ULPI connected USB OTG transceivers which
179 are likely found on embedded boards.
180
181config USB_ULPI_VIEWPORT
182 bool
Felipe Balbia0e63122013-03-07 11:01:15 +0200183 help
184 Provides read/write operations to the ULPI phy register set for
185 controllers with a viewport register (e.g. Chipidea/ARC controllers).
186
Paul Cercueil541368b2020-02-29 13:18:20 -0300187config JZ4770_PHY
周琰杰 (Zhou Yanjie)2a6c0b82020-07-23 14:13:00 +0800188 tristate "Ingenic SoCs Transceiver Driver"
Paul Cercueil541368b2020-02-29 13:18:20 -0300189 depends on MIPS || COMPILE_TEST
190 select USB_PHY
191 help
192 This driver provides PHY support for the USB controller found
周琰杰 (Zhou Yanjie)2a6c0b82020-07-23 14:13:00 +0800193 on the JZ-series and X-series SoCs from Ingenic.
Paul Cercueil541368b2020-02-29 13:18:20 -0300194
Roger Quadros052a11d2013-06-14 12:51:41 +0300195endmenu