xref: /linux/drivers/phy/Kconfig (revision e7556b59ba65179612bce3fa56bb53d1b4fb20db)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# PHY
4#
5
6menu "PHY Subsystem"
7
8config PHY_COMMON_PROPS
9	bool
10	help
11	  This parses properties common between generic PHYs and Ethernet PHYs.
12
13	  Select this from consumer drivers to gain access to helpers for
14	  parsing properties from the
15	  Documentation/devicetree/bindings/phy/phy-common-props.yaml schema.
16
17config PHY_COMMON_PROPS_TEST
18	tristate "KUnit tests for PHY common props" if !KUNIT_ALL_TESTS
19	select PHY_COMMON_PROPS
20	depends on KUNIT
21	default KUNIT_ALL_TESTS
22	help
23	  This builds KUnit tests for the PHY common property API.
24
25	  For more information on KUnit and unit tests in general,
26	  please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
27
28	  When in doubt, say N.
29
30config GENERIC_PHY
31	bool "PHY Core"
32	help
33	  Generic PHY support.
34
35	  This framework is designed to provide a generic interface for PHY
36	  devices present in the kernel. This layer will have the generic
37	  API by which phy drivers can create PHY using the phy framework and
38	  phy users can obtain reference to the PHY. All the users of this
39	  framework should select this config.
40
41config GENERIC_PHY_MIPI_DPHY
42	bool
43	select GENERIC_PHY
44	help
45	  Generic MIPI D-PHY support.
46
47	  Provides a number of helpers a core functions for MIPI D-PHY
48	  drivers to us.
49
50config PHY_LPC18XX_USB_OTG
51	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
52	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
53	depends on MFD_SYSCON
54	select GENERIC_PHY
55	help
56	  Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.
57
58	  This driver is need for USB0 support on LPC18xx/43xx and takes
59	  care of enabling and clock setup.
60
61config PHY_PISTACHIO_USB
62	tristate "IMG Pistachio USB2.0 PHY driver"
63	depends on MIPS || COMPILE_TEST
64	select GENERIC_PHY
65	help
66	  Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
67
68config PHY_SNPS_EUSB2
69	tristate "SNPS eUSB2 PHY Driver"
70	depends on OF && (ARCH_EXYNOS || ARCH_QCOM || COMPILE_TEST)
71	select GENERIC_PHY
72	help
73	  Enable support for the USB high-speed SNPS eUSB2 phy on select
74	  SoCs. The PHY is usually paired with a Synopsys DWC3 USB controller.
75
76config PHY_XGENE
77	tristate "APM X-Gene 15Gbps PHY support"
78	depends on HAS_IOMEM && OF && (ARCH_XGENE || COMPILE_TEST)
79	select GENERIC_PHY
80	help
81	  This option enables support for APM X-Gene SoC multi-purpose PHY.
82
83config USB_LGM_PHY
84	tristate "INTEL Lightning Mountain USB PHY Driver"
85	depends on USB_SUPPORT
86	depends on X86 || COMPILE_TEST
87	select USB_PHY
88	select REGULATOR
89	select REGULATOR_FIXED_VOLTAGE
90	help
91	  Enable this to support Intel DWC3 PHY USB phy. This driver provides
92	  interface to interact with USB GEN-II and USB 3.x PHY that is part
93	  of the Intel network SOC.
94
95config PHY_CAN_TRANSCEIVER
96	tristate "CAN transceiver PHY"
97	select GENERIC_PHY
98	select MULTIPLEXER
99	help
100	  This option enables support for CAN transceivers as a PHY. This
101	  driver provides function for putting the transceivers in various
102	  functional modes using gpios and sets the attribute max link
103	  rate, for CAN drivers.
104
105config PHY_AIROHA_PCIE
106	tristate "Airoha PCIe-PHY Driver"
107	depends on ARCH_AIROHA || COMPILE_TEST
108	depends on OF
109	select GENERIC_PHY
110	help
111	  Say Y here to add support for Airoha PCIe PHY driver.
112	  This driver create the basic PHY instance and provides initialize
113	  callback for PCIe GEN3 port.
114
115config PHY_NXP_PTN3222
116	tristate "NXP PTN3222 1-port eUSB2 to USB2 redriver"
117	depends on I2C
118	depends on OF
119	select GENERIC_PHY
120	help
121	  Enable this to support NXP PTN3222 1-port eUSB2 to USB2 Redriver.
122	  This redriver performs translation between eUSB2 and USB2 signalling
123	  schemes. It supports all three USB 2.0 data rates: Low Speed, Full
124	  Speed and High Speed.
125
126source "drivers/phy/allwinner/Kconfig"
127source "drivers/phy/amlogic/Kconfig"
128source "drivers/phy/broadcom/Kconfig"
129source "drivers/phy/cadence/Kconfig"
130source "drivers/phy/freescale/Kconfig"
131source "drivers/phy/hisilicon/Kconfig"
132source "drivers/phy/ingenic/Kconfig"
133source "drivers/phy/lantiq/Kconfig"
134source "drivers/phy/marvell/Kconfig"
135source "drivers/phy/mediatek/Kconfig"
136source "drivers/phy/microchip/Kconfig"
137source "drivers/phy/motorola/Kconfig"
138source "drivers/phy/mscc/Kconfig"
139source "drivers/phy/nuvoton/Kconfig"
140source "drivers/phy/qualcomm/Kconfig"
141source "drivers/phy/ralink/Kconfig"
142source "drivers/phy/realtek/Kconfig"
143source "drivers/phy/renesas/Kconfig"
144source "drivers/phy/rockchip/Kconfig"
145source "drivers/phy/samsung/Kconfig"
146source "drivers/phy/socionext/Kconfig"
147source "drivers/phy/sophgo/Kconfig"
148source "drivers/phy/st/Kconfig"
149source "drivers/phy/starfive/Kconfig"
150source "drivers/phy/sunplus/Kconfig"
151source "drivers/phy/tegra/Kconfig"
152source "drivers/phy/ti/Kconfig"
153source "drivers/phy/intel/Kconfig"
154source "drivers/phy/xilinx/Kconfig"
155
156endmenu
157