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 KEYSTONE_USB_PHY
32 tristate "Keystone USB PHY Driver"
33 depends on ARCH_KEYSTONE || COMPILE_TEST
34 depends on NOP_USB_XCEIV
35 help
36 Enable this to support Keystone USB phy. This driver provides
37 interface to interact with USB 2.0 and USB 3.0 PHY that is part
38 of the Keystone SOC.
39
40config NOP_USB_XCEIV
41 tristate "NOP USB Transceiver Driver"
42 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
43 select USB_PHY
44 help
45 This driver is to be used by all the usb transceiver which are either
46 built-in with usb ip or which are autonomous and doesn't require any
47 phy programming such as ISP1x04 etc.
48
49config AM335X_CONTROL_USB
50 tristate
51
52config AM335X_PHY_USB
53 tristate "AM335x USB PHY Driver"
54 depends on ARM || COMPILE_TEST
55 depends on NOP_USB_XCEIV
56 select USB_PHY
57 select AM335X_CONTROL_USB
58 select USB_COMMON
59 help
60 This driver provides PHY support for that phy which part for the
61 AM335x SoC.
62
63config TWL6030_USB
64 tristate "TWL6030 USB Transceiver Driver"
65 depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
66 depends on OF
67 help
68 Enable this to support the USB OTG transceiver on TWL6030
69 family chips. This TWL6030 transceiver has the VBUS and ID GND
70 and OTG SRP events capabilities. For all other transceiver functionality
71 UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
72 are hooked to this driver through platform_data structure.
73 The definition of internal PHY APIs are in the mach-omap2 layer.
74
75config USB_GPIO_VBUS
76 tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
77 depends on GPIOLIB || COMPILE_TEST
78 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
79 depends on !USB_CONN_GPIO
80 select USB_PHY
81 help
82 Provides simple GPIO VBUS sensing for controllers with an
83 internal transceiver via the usb_phy interface, and
84 optionally control of a D+ pullup GPIO as well as a VBUS
85 current limit regulator. This driver is for devices that do
86 NOT support role switch. OTG devices that can do role switch
87 (master/peripheral) shall use the USB based connection
88 detection driver USB_CONN_GPIO.
89
90config OMAP_OTG
91 tristate "OMAP USB OTG controller driver"
92 depends on ARCH_OMAP_OTG && EXTCON
93 help
94 Enable this to support some transceivers on OMAP1 platforms. OTG
95 controller is needed to switch between host and peripheral modes.
96
97 This driver can also be built as a module. If so, the module
98 will be called phy-omap-otg.
99
100config TAHVO_USB
101 tristate "Tahvo USB transceiver driver"
102 depends on MFD_RETU
103 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
104 select USB_PHY
105 help
106 Enable this to support USB transceiver on Tahvo. This is used
107 at least on Nokia 770.
108
109config TAHVO_USB_HOST_BY_DEFAULT
110 depends on TAHVO_USB
111 bool "Device in USB host mode by default"
112 help
113 Say Y here, if you want the device to enter USB host mode
114 by default on bootup.
115
116config USB_ISP1301
117 tristate "NXP ISP1301 USB transceiver support"
118 depends on USB || USB_GADGET
119 depends on I2C
120 select USB_PHY
121 help
122 Say Y here to add support for the NXP ISP1301 USB transceiver driver.
123 This chip is typically used as USB transceiver for USB host, gadget
124 and OTG drivers (to be selected separately).
125
126 To compile this driver as a module, choose M here: the
127 module will be called phy-isp1301.
128
129config USB_MXS_PHY
130 tristate "Freescale MXS USB PHY support"
131 depends on ARCH_MXC || ARCH_MXS
132 select STMP_DEVICE
133 select USB_PHY
134 help
135 Enable this to support the Freescale MXS USB PHY.
136
137 MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
138
139config USB_TEGRA_PHY
140 tristate "NVIDIA Tegra USB PHY Driver"
141 depends on ARCH_TEGRA || COMPILE_TEST
142 select USB_COMMON
143 select USB_PHY
144 select USB_ULPI
145 help
146 This driver provides PHY support for the USB controllers found
147 on NVIDIA Tegra SoC's.
148
149config USB_ULPI
150 bool "Generic ULPI Transceiver Driver"
151 depends on ARM || ARM64 || COMPILE_TEST
152 select USB_ULPI_VIEWPORT
153 help
154 Enable this to support ULPI connected USB OTG transceivers which
155 are likely found on embedded boards.
156
157config USB_ULPI_VIEWPORT
158 bool
159 help
160 Provides read/write operations to the ULPI phy register set for
161 controllers with a viewport register (e.g. Chipidea/ARC controllers).
162
163endmenu