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