Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2#
3# Physical Layer USB driver configuration
4#
5menu "USB Physical Layer drivers"
6
7config USB_PHY
8 select EXTCON
9 def_bool n
10
11#
12# USB Transceiver Drivers
13#
14config AB8500_USB
15 tristate "AB8500 USB Transceiver Driver"
16 depends on AB8500_CORE
17 select USB_PHY
18 help
19 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
24 tristate "Freescale USB OTG Transceiver Driver"
25 depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
26 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
27 select USB_PHY
28 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
34 depends on ARCH_OMAP_OTG || (ARM && COMPILE_TEST)
35 depends on USB
36 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
37 select USB_PHY
38 help
39 If you say yes here you get support for the Philips ISP1301
40 USB-On-The-Go transceiver working with the OMAP OTG controller.
41 The ISP1301 is a full speed USB transceiver which is used in
42 products including H2, H3, and H4 development boards for Texas
43 Instruments OMAP processors.
44
45 This driver can also be built as a module. If so, the module
46 will be called phy-isp1301-omap.
47
48config KEYSTONE_USB_PHY
49 tristate "Keystone USB PHY Driver"
50 depends on ARCH_KEYSTONE || COMPILE_TEST
51 depends on NOP_USB_XCEIV
52 help
53 Enable this to support Keystone USB phy. This driver provides
54 interface to interact with USB 2.0 and USB 3.0 PHY that is part
55 of the Keystone SOC.
56
57config NOP_USB_XCEIV
58 tristate "NOP USB Transceiver Driver"
59 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
60 select USB_PHY
61 help
62 This driver is to be used by all the usb transceiver which are either
63 built-in with usb ip or which are autonomous and doesn't require any
64 phy programming such as ISP1x04 etc.
65
66config AM335X_CONTROL_USB
67 tristate
68
69config AM335X_PHY_USB
70 tristate "AM335x USB PHY Driver"
71 depends on ARM || COMPILE_TEST
72 depends on NOP_USB_XCEIV
73 select USB_PHY
74 select AM335X_CONTROL_USB
75 select USB_COMMON
76 help
77 This driver provides PHY support for that phy which part for the
78 AM335x SoC.
79
80config TWL6030_USB
81 tristate "TWL6030 USB Transceiver Driver"
82 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
83 depends on OF
84 help
85 Enable this to support the USB OTG transceiver on TWL6030
86 family chips. This TWL6030 transceiver has the VBUS and ID GND
87 and OTG SRP events capabilities. For all other transceiver functionality
88 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
89 are hooked to this driver through platform_data structure.
90 The definition of internal PHY APIs are in the mach-omap2 layer.
91
92config USB_GPIO_VBUS
93 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
94 depends on GPIOLIB || COMPILE_TEST
95 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
96 select USB_PHY
97 help
98 Provides simple GPIO VBUS sensing for controllers with an
99 internal transceiver via the usb_phy interface, and
100 optionally control of a D+ pullup GPIO as well as a VBUS
101 current limit regulator.
102
103config OMAP_OTG
104 tristate "OMAP USB OTG controller driver"
105 depends on ARCH_OMAP_OTG && EXTCON
106 help
107 Enable this to support some transceivers on OMAP1 platforms. OTG
108 controller is needed to switch between host and peripheral modes.
109
110 This driver can also be built as a module. If so, the module
111 will be called phy-omap-otg.
112
113config TAHVO_USB
114 tristate "Tahvo USB transceiver driver"
115 depends on MFD_RETU
116 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
117 select USB_PHY
118 help
119 Enable this to support USB transceiver on Tahvo. This is used
120 at least on Nokia 770.
121
122config TAHVO_USB_HOST_BY_DEFAULT
123 depends on TAHVO_USB
124 bool "Device in USB host mode by default"
125 help
126 Say Y here, if you want the device to enter USB host mode
127 by default on bootup.
128
129config USB_ISP1301
130 tristate "NXP ISP1301 USB transceiver support"
131 depends on USB || USB_GADGET
132 depends on I2C
133 select USB_PHY
134 help
135 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
136 This chip is typically used as USB transceiver for USB host, gadget
137 and OTG drivers (to be selected separately).
138
139 To compile this driver as a module, choose M here: the
140 module will be called phy-isp1301.
141
142config USB_MV_OTG
143 tristate "Marvell USB OTG support"
144 depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
145 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
146 select USB_PHY
147 help
148 Say Y here if you want to build Marvell USB OTG transceiver
149 driver in kernel (including PXA and MMP series). This driver
150 implements role switch between EHCI host driver and gadget driver.
151
152 To compile this driver as a module, choose M here.
153
154config USB_MXS_PHY
155 tristate "Freescale MXS USB PHY support"
156 depends on ARCH_MXC || ARCH_MXS
157 select STMP_DEVICE
158 select USB_PHY
159 help
160 Enable this to support the Freescale MXS USB PHY.
161
162 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
163
164config USB_TEGRA_PHY
165 tristate "NVIDIA Tegra USB PHY Driver"
166 depends on ARCH_TEGRA || COMPILE_TEST
167 select USB_COMMON
168 select USB_PHY
169 select USB_ULPI
170 help
171 This driver provides PHY support for the USB controllers found
172 on NVIDIA Tegra SoC's.
173
174config USB_ULPI
175 bool "Generic ULPI Transceiver Driver"
176 depends on ARM || ARM64 || COMPILE_TEST
177 select USB_ULPI_VIEWPORT
178 help
179 Enable this to support ULPI connected USB OTG transceivers which
180 are likely found on embedded boards.
181
182config USB_ULPI_VIEWPORT
183 bool
184 help
185 Provides read/write operations to the ULPI phy register set for
186 controllers with a viewport register (e.g. Chipidea/ARC controllers).
187
188config JZ4770_PHY
189 tristate "Ingenic SoCs Transceiver Driver"
190 depends on MIPS || COMPILE_TEST
191 select USB_PHY
192 help
193 This driver provides PHY support for the USB controller found
194 on the JZ-series and X-series SoCs from Ingenic.
195
196endmenu