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