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