x86/smpboot: Init apic mapping before usage
[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_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_MIPHY365X
133         tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
134         depends on ARCH_STI
135         depends on HAS_IOMEM
136         depends on OF
137         select GENERIC_PHY
138         help
139           Enable this to support the miphy transceiver (for SATA/PCIE)
140           that is part of STMicroelectronics STiH41x SoC series.
141
142 config PHY_RCAR_GEN2
143         tristate "Renesas R-Car generation 2 USB PHY driver"
144         depends on ARCH_RENESAS
145         depends on GENERIC_PHY
146         help
147           Support for USB PHY found on Renesas R-Car generation 2 SoCs.
148
149 config PHY_RCAR_GEN3_USB2
150         tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
151         depends on ARCH_RENESAS
152         depends on EXTCON
153         select GENERIC_PHY
154         help
155           Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
156
157 config OMAP_CONTROL_PHY
158         tristate "OMAP CONTROL PHY Driver"
159         depends on ARCH_OMAP2PLUS || COMPILE_TEST
160         help
161           Enable this to add support for the PHY part present in the control
162           module. This driver has API to power on the USB2 PHY and to write to
163           the mailbox. The mailbox is present only in omap4 and the register to
164           power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
165           additional register to power on USB3 PHY/SATA PHY/PCIE PHY
166           (PIPE3 PHY).
167
168 config OMAP_USB2
169         tristate "OMAP USB2 PHY Driver"
170         depends on ARCH_OMAP2PLUS
171         depends on USB_SUPPORT
172         select GENERIC_PHY
173         select USB_PHY
174         select OMAP_CONTROL_PHY
175         depends on OMAP_OCP2SCP
176         help
177           Enable this to support the transceiver that is part of SOC. This
178           driver takes care of all the PHY functionality apart from comparator.
179           The USB OTG controller communicates with the comparator using this
180           driver.
181
182 config TI_PIPE3
183         tristate "TI PIPE3 PHY Driver"
184         depends on ARCH_OMAP2PLUS || COMPILE_TEST
185         select GENERIC_PHY
186         select OMAP_CONTROL_PHY
187         depends on OMAP_OCP2SCP
188         help
189           Enable this to support the PIPE3 PHY that is part of TI SOCs. This
190           driver takes care of all the PHY functionality apart from comparator.
191           This driver interacts with the "OMAP Control PHY Driver" to power
192           on/off the PHY.
193
194 config TWL4030_USB
195         tristate "TWL4030 USB Transceiver Driver"
196         depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
197         depends on USB_SUPPORT
198         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y'
199         select GENERIC_PHY
200         select USB_PHY
201         help
202           Enable this to support the USB OTG transceiver on TWL4030
203           family chips (including the TWL5030 and TPS659x0 devices).
204           This transceiver supports high and full speed devices plus,
205           in host mode, low speed.
206
207 config PHY_EXYNOS_DP_VIDEO
208         tristate "EXYNOS SoC series Display Port PHY driver"
209         depends on OF
210         depends on ARCH_EXYNOS || COMPILE_TEST
211         default ARCH_EXYNOS
212         select GENERIC_PHY
213         help
214           Support for Display Port PHY found on Samsung EXYNOS SoCs.
215
216 config BCM_KONA_USB2_PHY
217         tristate "Broadcom Kona USB2 PHY Driver"
218         depends on HAS_IOMEM
219         select GENERIC_PHY
220         help
221           Enable this to support the Broadcom Kona USB 2.0 PHY.
222
223 config PHY_EXYNOS5250_SATA
224         tristate "Exynos5250 Sata SerDes/PHY driver"
225         depends on SOC_EXYNOS5250
226         depends on HAS_IOMEM
227         depends on OF
228         select GENERIC_PHY
229         select I2C
230         select I2C_S3C2410
231         select MFD_SYSCON
232         help
233           Enable this to support SATA SerDes/Phy found on Samsung's
234           Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
235           SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
236           port to accept one SATA device.
237
238 config PHY_HIX5HD2_SATA
239         tristate "HIX5HD2 SATA PHY Driver"
240         depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
241         select GENERIC_PHY
242         select MFD_SYSCON
243         help
244           Support for SATA PHY on Hisilicon hix5hd2 Soc.
245
246 config PHY_MT65XX_USB3
247         tristate "Mediatek USB3.0 PHY Driver"
248         depends on ARCH_MEDIATEK && OF
249         select GENERIC_PHY
250         help
251           Say 'Y' here to add support for Mediatek USB3.0 PHY driver,
252           it supports multiple usb2.0 and usb3.0 ports.
253
254 config PHY_HI6220_USB
255         tristate "hi6220 USB PHY support"
256         depends on (ARCH_HISI && ARM64) || COMPILE_TEST
257         select GENERIC_PHY
258         select MFD_SYSCON
259         help
260           Enable this to support the HISILICON HI6220 USB PHY.
261
262           To compile this driver as a module, choose M here.
263
264 config PHY_SUN4I_USB
265         tristate "Allwinner sunxi SoC USB PHY driver"
266         depends on ARCH_SUNXI && HAS_IOMEM && OF
267         depends on RESET_CONTROLLER
268         depends on EXTCON
269         depends on POWER_SUPPLY
270         depends on USB_SUPPORT
271         select GENERIC_PHY
272         select USB_COMMON
273         help
274           Enable this to support the transceiver that is part of Allwinner
275           sunxi SoCs.
276
277           This driver controls the entire USB PHY block, both the USB OTG
278           parts, as well as the 2 regular USB 2 host PHYs.
279
280 config PHY_SUN9I_USB
281         tristate "Allwinner sun9i SoC USB PHY driver"
282         depends on ARCH_SUNXI && HAS_IOMEM && OF
283         depends on RESET_CONTROLLER
284         depends on USB_SUPPORT
285         select USB_COMMON
286         select GENERIC_PHY
287         help
288           Enable this to support the transceiver that is part of Allwinner
289           sun9i SoCs.
290
291           This driver controls each individual USB 2 host PHY.
292
293 config PHY_SAMSUNG_USB2
294         tristate "Samsung USB 2.0 PHY driver"
295         depends on HAS_IOMEM
296         depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
297         select GENERIC_PHY
298         select MFD_SYSCON
299         default ARCH_EXYNOS
300         help
301           Enable this to support the Samsung USB 2.0 PHY driver for Samsung
302           SoCs. This driver provides the interface for USB 2.0 PHY. Support
303           for particular PHYs will be enabled based on the SoC type in addition
304           to this driver.
305
306 config PHY_S5PV210_USB2
307         bool "Support for S5PV210"
308         depends on PHY_SAMSUNG_USB2
309         depends on ARCH_S5PV210
310         help
311           Enable USB PHY support for S5PV210. This option requires that Samsung
312           USB 2.0 PHY driver is enabled and means that support for this
313           particular SoC is compiled in the driver. In case of S5PV210 two phys
314           are available - device and host.
315
316 config PHY_EXYNOS4210_USB2
317         bool
318         depends on PHY_SAMSUNG_USB2
319         default CPU_EXYNOS4210
320
321 config PHY_EXYNOS4X12_USB2
322         bool
323         depends on PHY_SAMSUNG_USB2
324         default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
325
326 config PHY_EXYNOS5250_USB2
327         bool
328         depends on PHY_SAMSUNG_USB2
329         default SOC_EXYNOS5250 || SOC_EXYNOS5420
330
331 config PHY_EXYNOS5_USBDRD
332         tristate "Exynos5 SoC series USB DRD PHY driver"
333         depends on ARCH_EXYNOS && OF
334         depends on HAS_IOMEM
335         depends on USB_DWC3_EXYNOS
336         select GENERIC_PHY
337         select MFD_SYSCON
338         default y
339         help
340           Enable USB DRD PHY support for Exynos 5 SoC series.
341           This driver provides PHY interface for USB 3.0 DRD controller
342           present on Exynos5 SoC series.
343
344 config PHY_PISTACHIO_USB
345         tristate "IMG Pistachio USB2.0 PHY driver"
346         depends on MACH_PISTACHIO
347         select GENERIC_PHY
348         help
349           Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
350
351 config PHY_QCOM_APQ8064_SATA
352         tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
353         depends on ARCH_QCOM
354         depends on HAS_IOMEM
355         depends on OF
356         select GENERIC_PHY
357
358 config PHY_QCOM_IPQ806X_SATA
359         tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
360         depends on ARCH_QCOM
361         depends on HAS_IOMEM
362         depends on OF
363         select GENERIC_PHY
364
365 config PHY_ROCKCHIP_USB
366         tristate "Rockchip USB2 PHY Driver"
367         depends on ARCH_ROCKCHIP && OF
368         select GENERIC_PHY
369         help
370           Enable this to support the Rockchip USB 2.0 PHY.
371
372 config PHY_ROCKCHIP_INNO_USB2
373         tristate "Rockchip INNO USB2PHY Driver"
374         depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
375         depends on COMMON_CLK
376         select GENERIC_PHY
377         help
378           Support for Rockchip USB2.0 PHY with Innosilicon IP block.
379
380 config PHY_ROCKCHIP_EMMC
381         tristate "Rockchip EMMC PHY Driver"
382         depends on ARCH_ROCKCHIP && OF
383         select GENERIC_PHY
384         help
385           Enable this to support the Rockchip EMMC PHY.
386
387 config PHY_ROCKCHIP_DP
388         tristate "Rockchip Display Port PHY Driver"
389         depends on ARCH_ROCKCHIP && OF
390         select GENERIC_PHY
391         help
392           Enable this to support the Rockchip Display Port PHY.
393
394 config PHY_ROCKCHIP_PCIE
395         tristate "Rockchip PCIe PHY Driver"
396         depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
397         select GENERIC_PHY
398         select MFD_SYSCON
399         help
400           Enable this to support the Rockchip PCIe PHY.
401
402 config PHY_ROCKCHIP_TYPEC
403         tristate "Rockchip TYPEC PHY Driver"
404         depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
405         select EXTCON
406         select GENERIC_PHY
407         select RESET_CONTROLLER
408         help
409           Enable this to support the Rockchip USB TYPEC PHY.
410
411 config PHY_ST_SPEAR1310_MIPHY
412         tristate "ST SPEAR1310-MIPHY driver"
413         select GENERIC_PHY
414         depends on MACH_SPEAR1310 || COMPILE_TEST
415         help
416           Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
417
418 config PHY_ST_SPEAR1340_MIPHY
419         tristate "ST SPEAR1340-MIPHY driver"
420         select GENERIC_PHY
421         depends on MACH_SPEAR1340 || COMPILE_TEST
422         help
423           Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
424
425 config PHY_XGENE
426         tristate "APM X-Gene 15Gbps PHY support"
427         depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
428         select GENERIC_PHY
429         help
430           This option enables support for APM X-Gene SoC multi-purpose PHY.
431
432 config PHY_STIH407_USB
433         tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
434         depends on RESET_CONTROLLER
435         depends on ARCH_STI || COMPILE_TEST
436         select GENERIC_PHY
437         help
438           Enable this support to enable the picoPHY device used by USB2
439           and USB3 controllers on STMicroelectronics STiH407 SoC families.
440
441 config PHY_STIH41X_USB
442         tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
443         depends on ARCH_STI
444         select GENERIC_PHY
445         help
446           Enable this to support the USB transceiver that is part of
447           STMicroelectronics STiH41x SoC series.
448
449 config PHY_QCOM_UFS
450         tristate "Qualcomm UFS PHY driver"
451         depends on OF && ARCH_QCOM
452         select GENERIC_PHY
453         help
454           Support for UFS PHY on QCOM chipsets.
455
456 config PHY_TUSB1210
457         tristate "TI TUSB1210 ULPI PHY module"
458         depends on USB_ULPI_BUS
459         select GENERIC_PHY
460         help
461           Support for TI TUSB1210 USB ULPI PHY.
462
463 config PHY_BRCM_SATA
464         tristate "Broadcom SATA PHY driver"
465         depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || COMPILE_TEST
466         depends on OF
467         select GENERIC_PHY
468         default ARCH_BCM_IPROC
469         help
470           Enable this to support the Broadcom SATA PHY.
471           If unsure, say N.
472
473 config PHY_CYGNUS_PCIE
474         tristate "Broadcom Cygnus PCIe PHY driver"
475         depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
476         select GENERIC_PHY
477         default ARCH_BCM_CYGNUS
478         help
479           Enable this to support the Broadcom Cygnus PCIe PHY.
480           If unsure, say N.
481
482 source "drivers/phy/tegra/Kconfig"
483
484 config PHY_NS2_PCIE
485         tristate "Broadcom Northstar2 PCIe PHY driver"
486         depends on OF && MDIO_BUS_MUX_BCM_IPROC
487         select GENERIC_PHY
488         default ARCH_BCM_IPROC
489         help
490           Enable this to support the Broadcom Northstar2 PCIe PHY.
491           If unsure, say N.
492 endmenu