usb: gadget: move gadget API functions to udc-core
[cascardo/linux.git] / drivers / phy / Kconfig
1 #
2 # PHY
3 #
4
5 menu "PHY Subsystem"
6
7 config GENERIC_PHY
8         bool "PHY Core"
9         help
10           Generic PHY support.
11
12           This framework is designed to provide a generic interface for PHY
13           devices present in the kernel. This layer will have the generic
14           API by which phy drivers can create PHY using the phy framework and
15           phy users can obtain reference to the PHY. All the users of this
16           framework should select this config.
17
18 config PHY_BCM_NS_USB2
19         tristate "Broadcom Northstar USB 2.0 PHY Driver"
20         depends on ARCH_BCM_IPROC || COMPILE_TEST
21         depends on HAS_IOMEM && OF
22         select GENERIC_PHY
23         help
24           Enable this to support Broadcom USB 2.0 PHY connected to the USB
25           controller on Northstar family.
26
27 config PHY_BERLIN_USB
28         tristate "Marvell Berlin USB PHY Driver"
29         depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
30         select GENERIC_PHY
31         help
32           Enable this to support the USB PHY on Marvell Berlin SoCs.
33
34 config PHY_BERLIN_SATA
35         tristate "Marvell Berlin SATA PHY driver"
36         depends on ARCH_BERLIN && HAS_IOMEM && OF
37         select GENERIC_PHY
38         help
39           Enable this to support the SATA PHY on Marvell Berlin SoCs.
40
41 config ARMADA375_USBCLUSTER_PHY
42         def_bool y
43         depends on MACH_ARMADA_375 || COMPILE_TEST
44         depends on OF && HAS_IOMEM
45         select GENERIC_PHY
46
47 config PHY_DM816X_USB
48         tristate "TI dm816x USB PHY driver"
49         depends on ARCH_OMAP2PLUS
50         depends on USB_SUPPORT
51         select GENERIC_PHY
52         select USB_PHY
53         help
54           Enable this for dm816x USB to work.
55
56 config PHY_EXYNOS_MIPI_VIDEO
57         tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
58         depends on HAS_IOMEM
59         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
60         select GENERIC_PHY
61         default y if ARCH_S5PV210 || ARCH_EXYNOS
62         help
63           Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
64           and EXYNOS SoCs.
65
66 config PHY_LPC18XX_USB_OTG
67         tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
68         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
69         depends on MFD_SYSCON
70         select GENERIC_PHY
71         help
72           Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.
73
74           This driver is need for USB0 support on LPC18xx/43xx and takes
75           care of enabling and clock setup.
76
77 config PHY_PXA_28NM_HSIC
78         tristate "Marvell USB HSIC 28nm PHY Driver"
79         depends on HAS_IOMEM
80         select GENERIC_PHY
81         help
82           Enable this to support Marvell USB HSIC PHY driver for Marvell
83           SoC. This driver will do the PHY initialization and shutdown.
84           The PHY driver will be used by Marvell ehci driver.
85
86           To compile this driver as a module, choose M here.
87
88 config PHY_PXA_28NM_USB2
89         tristate "Marvell USB 2.0 28nm PHY Driver"
90         depends on HAS_IOMEM
91         select GENERIC_PHY
92         help
93           Enable this to support Marvell USB 2.0 PHY driver for Marvell
94           SoC. This driver will do the PHY initialization and shutdown.
95           The PHY driver will be used by Marvell udc/ehci/otg driver.
96
97           To compile this driver as a module, choose M here.
98
99 config PHY_MVEBU_SATA
100         def_bool y
101         depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
102         depends on OF
103         select GENERIC_PHY
104
105 config PHY_MIPHY28LP
106         tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
107         depends on ARCH_STI
108         select GENERIC_PHY
109         help
110           Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
111           that is part of STMicroelectronics STiH407 SoC.
112
113 config PHY_MIPHY365X
114         tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
115         depends on ARCH_STI
116         depends on HAS_IOMEM
117         depends on OF
118         select GENERIC_PHY
119         help
120           Enable this to support the miphy transceiver (for SATA/PCIE)
121           that is part of STMicroelectronics STiH41x SoC series.
122
123 config PHY_RCAR_GEN2
124         tristate "Renesas R-Car generation 2 USB PHY driver"
125         depends on ARCH_RENESAS
126         depends on GENERIC_PHY
127         help
128           Support for USB PHY found on Renesas R-Car generation 2 SoCs.
129
130 config PHY_RCAR_GEN3_USB2
131         tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
132         depends on ARCH_RENESAS
133         depends on EXTCON
134         select GENERIC_PHY
135         help
136           Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
137
138 config OMAP_CONTROL_PHY
139         tristate "OMAP CONTROL PHY Driver"
140         depends on ARCH_OMAP2PLUS || COMPILE_TEST
141         help
142           Enable this to add support for the PHY part present in the control
143           module. This driver has API to power on the USB2 PHY and to write to
144           the mailbox. The mailbox is present only in omap4 and the register to
145           power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
146           additional register to power on USB3 PHY/SATA PHY/PCIE PHY
147           (PIPE3 PHY).
148
149 config OMAP_USB2
150         tristate "OMAP USB2 PHY Driver"
151         depends on ARCH_OMAP2PLUS
152         depends on USB_SUPPORT
153         select GENERIC_PHY
154         select USB_PHY
155         select OMAP_CONTROL_PHY
156         depends on OMAP_OCP2SCP
157         help
158           Enable this to support the transceiver that is part of SOC. This
159           driver takes care of all the PHY functionality apart from comparator.
160           The USB OTG controller communicates with the comparator using this
161           driver.
162
163 config TI_PIPE3
164         tristate "TI PIPE3 PHY Driver"
165         depends on ARCH_OMAP2PLUS || COMPILE_TEST
166         select GENERIC_PHY
167         select OMAP_CONTROL_PHY
168         depends on OMAP_OCP2SCP
169         help
170           Enable this to support the PIPE3 PHY that is part of TI SOCs. This
171           driver takes care of all the PHY functionality apart from comparator.
172           This driver interacts with the "OMAP Control PHY Driver" to power
173           on/off the PHY.
174
175 config TWL4030_USB
176         tristate "TWL4030 USB Transceiver Driver"
177         depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
178         depends on USB_SUPPORT
179         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y'
180         select GENERIC_PHY
181         select USB_PHY
182         help
183           Enable this to support the USB OTG transceiver on TWL4030
184           family chips (including the TWL5030 and TPS659x0 devices).
185           This transceiver supports high and full speed devices plus,
186           in host mode, low speed.
187
188 config PHY_EXYNOS_DP_VIDEO
189         tristate "EXYNOS SoC series Display Port PHY driver"
190         depends on OF
191         depends on ARCH_EXYNOS || COMPILE_TEST
192         default ARCH_EXYNOS
193         select GENERIC_PHY
194         help
195           Support for Display Port PHY found on Samsung EXYNOS SoCs.
196
197 config BCM_KONA_USB2_PHY
198         tristate "Broadcom Kona USB2 PHY Driver"
199         depends on HAS_IOMEM
200         select GENERIC_PHY
201         help
202           Enable this to support the Broadcom Kona USB 2.0 PHY.
203
204 config PHY_EXYNOS5250_SATA
205         tristate "Exynos5250 Sata SerDes/PHY driver"
206         depends on SOC_EXYNOS5250
207         depends on HAS_IOMEM
208         depends on OF
209         select GENERIC_PHY
210         select I2C
211         select I2C_S3C2410
212         select MFD_SYSCON
213         help
214           Enable this to support SATA SerDes/Phy found on Samsung's
215           Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
216           SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
217           port to accept one SATA device.
218
219 config PHY_HIX5HD2_SATA
220         tristate "HIX5HD2 SATA PHY Driver"
221         depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
222         select GENERIC_PHY
223         select MFD_SYSCON
224         help
225           Support for SATA PHY on Hisilicon hix5hd2 Soc.
226
227 config PHY_MT65XX_USB3
228         tristate "Mediatek USB3.0 PHY Driver"
229         depends on ARCH_MEDIATEK && OF
230         select GENERIC_PHY
231         help
232           Say 'Y' here to add support for Mediatek USB3.0 PHY driver,
233           it supports multiple usb2.0 and usb3.0 ports.
234
235 config PHY_HI6220_USB
236         tristate "hi6220 USB PHY support"
237         depends on (ARCH_HISI && ARM64) || COMPILE_TEST
238         select GENERIC_PHY
239         select MFD_SYSCON
240         help
241           Enable this to support the HISILICON HI6220 USB PHY.
242
243           To compile this driver as a module, choose M here.
244
245 config PHY_SUN4I_USB
246         tristate "Allwinner sunxi SoC USB PHY driver"
247         depends on ARCH_SUNXI && HAS_IOMEM && OF
248         depends on RESET_CONTROLLER
249         depends on EXTCON
250         depends on POWER_SUPPLY
251         select GENERIC_PHY
252         help
253           Enable this to support the transceiver that is part of Allwinner
254           sunxi SoCs.
255
256           This driver controls the entire USB PHY block, both the USB OTG
257           parts, as well as the 2 regular USB 2 host PHYs.
258
259 config PHY_SUN9I_USB
260         tristate "Allwinner sun9i SoC USB PHY driver"
261         depends on ARCH_SUNXI && HAS_IOMEM && OF
262         depends on RESET_CONTROLLER
263         depends on USB_SUPPORT
264         select USB_COMMON
265         select GENERIC_PHY
266         help
267           Enable this to support the transceiver that is part of Allwinner
268           sun9i SoCs.
269
270           This driver controls each individual USB 2 host PHY.
271
272 config PHY_SAMSUNG_USB2
273         tristate "Samsung USB 2.0 PHY driver"
274         depends on HAS_IOMEM
275         depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
276         select GENERIC_PHY
277         select MFD_SYSCON
278         default ARCH_EXYNOS
279         help
280           Enable this to support the Samsung USB 2.0 PHY driver for Samsung
281           SoCs. This driver provides the interface for USB 2.0 PHY. Support
282           for particular PHYs will be enabled based on the SoC type in addition
283           to this driver.
284
285 config PHY_S5PV210_USB2
286         bool "Support for S5PV210"
287         depends on PHY_SAMSUNG_USB2
288         depends on ARCH_S5PV210
289         help
290           Enable USB PHY support for S5PV210. This option requires that Samsung
291           USB 2.0 PHY driver is enabled and means that support for this
292           particular SoC is compiled in the driver. In case of S5PV210 two phys
293           are available - device and host.
294
295 config PHY_EXYNOS4210_USB2
296         bool
297         depends on PHY_SAMSUNG_USB2
298         default CPU_EXYNOS4210
299
300 config PHY_EXYNOS4X12_USB2
301         bool
302         depends on PHY_SAMSUNG_USB2
303         default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
304
305 config PHY_EXYNOS5250_USB2
306         bool
307         depends on PHY_SAMSUNG_USB2
308         default SOC_EXYNOS5250 || SOC_EXYNOS5420
309
310 config PHY_EXYNOS5_USBDRD
311         tristate "Exynos5 SoC series USB DRD PHY driver"
312         depends on ARCH_EXYNOS && OF
313         depends on HAS_IOMEM
314         depends on USB_DWC3_EXYNOS
315         select GENERIC_PHY
316         select MFD_SYSCON
317         default y
318         help
319           Enable USB DRD PHY support for Exynos 5 SoC series.
320           This driver provides PHY interface for USB 3.0 DRD controller
321           present on Exynos5 SoC series.
322
323 config PHY_PISTACHIO_USB
324         tristate "IMG Pistachio USB2.0 PHY driver"
325         depends on MACH_PISTACHIO
326         select GENERIC_PHY
327         help
328           Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
329
330 config PHY_QCOM_APQ8064_SATA
331         tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
332         depends on ARCH_QCOM
333         depends on HAS_IOMEM
334         depends on OF
335         select GENERIC_PHY
336
337 config PHY_QCOM_IPQ806X_SATA
338         tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
339         depends on ARCH_QCOM
340         depends on HAS_IOMEM
341         depends on OF
342         select GENERIC_PHY
343
344 config PHY_ROCKCHIP_USB
345         tristate "Rockchip USB2 PHY Driver"
346         depends on ARCH_ROCKCHIP && OF
347         select GENERIC_PHY
348         help
349           Enable this to support the Rockchip USB 2.0 PHY.
350
351 config PHY_ROCKCHIP_EMMC
352         tristate "Rockchip EMMC PHY Driver"
353         depends on ARCH_ROCKCHIP && OF
354         select GENERIC_PHY
355         help
356           Enable this to support the Rockchip EMMC PHY.
357
358 config PHY_ROCKCHIP_DP
359         tristate "Rockchip Display Port PHY Driver"
360         depends on ARCH_ROCKCHIP && OF
361         select GENERIC_PHY
362         help
363           Enable this to support the Rockchip Display Port PHY.
364
365 config PHY_ST_SPEAR1310_MIPHY
366         tristate "ST SPEAR1310-MIPHY driver"
367         select GENERIC_PHY
368         depends on MACH_SPEAR1310 || COMPILE_TEST
369         help
370           Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
371
372 config PHY_ST_SPEAR1340_MIPHY
373         tristate "ST SPEAR1340-MIPHY driver"
374         select GENERIC_PHY
375         depends on MACH_SPEAR1340 || COMPILE_TEST
376         help
377           Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
378
379 config PHY_XGENE
380         tristate "APM X-Gene 15Gbps PHY support"
381         depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
382         select GENERIC_PHY
383         help
384           This option enables support for APM X-Gene SoC multi-purpose PHY.
385
386 config PHY_STIH407_USB
387         tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
388         depends on RESET_CONTROLLER
389         depends on ARCH_STI || COMPILE_TEST
390         select GENERIC_PHY
391         help
392           Enable this support to enable the picoPHY device used by USB2
393           and USB3 controllers on STMicroelectronics STiH407 SoC families.
394
395 config PHY_STIH41X_USB
396         tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
397         depends on ARCH_STI
398         select GENERIC_PHY
399         help
400           Enable this to support the USB transceiver that is part of
401           STMicroelectronics STiH41x SoC series.
402
403 config PHY_QCOM_UFS
404         tristate "Qualcomm UFS PHY driver"
405         depends on OF && ARCH_QCOM
406         select GENERIC_PHY
407         help
408           Support for UFS PHY on QCOM chipsets.
409
410 config PHY_TUSB1210
411         tristate "TI TUSB1210 ULPI PHY module"
412         depends on USB_ULPI_BUS
413         select GENERIC_PHY
414         help
415           Support for TI TUSB1210 USB ULPI PHY.
416
417 config PHY_BRCM_SATA
418         tristate "Broadcom SATA PHY driver"
419         depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || COMPILE_TEST
420         depends on OF
421         select GENERIC_PHY
422         default ARCH_BCM_IPROC
423         help
424           Enable this to support the Broadcom SATA PHY.
425           If unsure, say N.
426
427 config PHY_CYGNUS_PCIE
428         tristate "Broadcom Cygnus PCIe PHY driver"
429         depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
430         select GENERIC_PHY
431         default ARCH_BCM_CYGNUS
432         help
433           Enable this to support the Broadcom Cygnus PCIe PHY.
434           If unsure, say N.
435
436 source "drivers/phy/tegra/Kconfig"
437
438 endmenu