xref: /linux/drivers/phy/Kconfig (revision da1af49257591190ad6521abb3198f1f40420407)
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_ECONET_PCIE
83	tristate "EcoNet PCIe-PHY Driver"
84	depends on ECONET || COMPILE_TEST
85	depends on OF
86	select GENERIC_PHY
87	select REGMAP_MMIO
88	help
89	  Say Y here to add support for EcoNet PCIe PHY driver.
90	  This driver create the basic PHY instance and provides initialize
91	  callback for PCIe GEN1 and GEN2 ports. This PHY is found on
92	  EcoNet SoCs including EN751221 and EN7528.
93
94config PHY_GOOGLE_USB
95	tristate "Google Tensor SoC USB PHY driver"
96	select GENERIC_PHY
97	depends on TYPEC
98	help
99	  Enable support for the USB PHY on Google Tensor SoCs, starting with
100	  the G5 generation (Laguna). This driver provides the PHY interfaces
101	  to interact with the SNPS eUSB2 and USB 3.2/DisplayPort Combo PHY,
102	  both of which are integrated with the DWC3 USB DRD controller.
103	  This driver currently supports USB high-speed.
104
105config USB_LGM_PHY
106	tristate "INTEL Lightning Mountain USB PHY Driver"
107	depends on USB_SUPPORT
108	depends on X86 || COMPILE_TEST
109	select USB_PHY
110	select REGULATOR
111	select REGULATOR_FIXED_VOLTAGE
112	help
113	  Enable this to support Intel DWC3 PHY USB phy. This driver provides
114	  interface to interact with USB GEN-II and USB 3.x PHY that is part
115	  of the Intel network SOC.
116
117config PHY_LPC18XX_USB_OTG
118	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
119	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
120	depends on MFD_SYSCON
121	select GENERIC_PHY
122	help
123	  Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.
124
125	  This driver is need for USB0 support on LPC18xx/43xx and takes
126	  care of enabling and clock setup.
127
128config PHY_NXP_PTN3222
129	tristate "NXP PTN3222 1-port eUSB2 to USB2 redriver"
130	depends on I2C
131	depends on OF
132	select GENERIC_PHY
133	help
134	  Enable this to support NXP PTN3222 1-port eUSB2 to USB2 Redriver.
135	  This redriver performs translation between eUSB2 and USB2 signalling
136	  schemes. It supports all three USB 2.0 data rates: Low Speed, Full
137	  Speed and High Speed.
138
139config PHY_PISTACHIO_USB
140	tristate "IMG Pistachio USB2.0 PHY driver"
141	depends on MIPS || COMPILE_TEST
142	select GENERIC_PHY
143	help
144	  Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
145
146config PHY_SNPS_EUSB2
147	tristate "SNPS eUSB2 PHY Driver"
148	depends on OF && (ARCH_EXYNOS || ARCH_QCOM || COMPILE_TEST)
149	select GENERIC_PHY
150	help
151	  Enable support for the USB high-speed SNPS eUSB2 phy on select
152	  SoCs. The PHY is usually paired with a Synopsys DWC3 USB controller.
153
154config PHY_XGENE
155	tristate "APM X-Gene 15Gbps PHY support"
156	depends on HAS_IOMEM && OF && (ARCH_XGENE || COMPILE_TEST)
157	select GENERIC_PHY
158	help
159	  This option enables support for APM X-Gene SoC multi-purpose PHY.
160
161source "drivers/phy/allwinner/Kconfig"
162source "drivers/phy/amlogic/Kconfig"
163source "drivers/phy/apple/Kconfig"
164source "drivers/phy/axiado/Kconfig"
165source "drivers/phy/broadcom/Kconfig"
166source "drivers/phy/cadence/Kconfig"
167source "drivers/phy/canaan/Kconfig"
168source "drivers/phy/eswin/Kconfig"
169source "drivers/phy/freescale/Kconfig"
170source "drivers/phy/hisilicon/Kconfig"
171source "drivers/phy/ingenic/Kconfig"
172source "drivers/phy/intel/Kconfig"
173source "drivers/phy/lantiq/Kconfig"
174source "drivers/phy/marvell/Kconfig"
175source "drivers/phy/mediatek/Kconfig"
176source "drivers/phy/microchip/Kconfig"
177source "drivers/phy/motorola/Kconfig"
178source "drivers/phy/mscc/Kconfig"
179source "drivers/phy/nuvoton/Kconfig"
180source "drivers/phy/qualcomm/Kconfig"
181source "drivers/phy/ralink/Kconfig"
182source "drivers/phy/realtek/Kconfig"
183source "drivers/phy/renesas/Kconfig"
184source "drivers/phy/rockchip/Kconfig"
185source "drivers/phy/samsung/Kconfig"
186source "drivers/phy/socionext/Kconfig"
187source "drivers/phy/sophgo/Kconfig"
188source "drivers/phy/spacemit/Kconfig"
189source "drivers/phy/st/Kconfig"
190source "drivers/phy/starfive/Kconfig"
191source "drivers/phy/sunplus/Kconfig"
192source "drivers/phy/tegra/Kconfig"
193source "drivers/phy/ti/Kconfig"
194source "drivers/phy/xilinx/Kconfig"
195
196endmenu
197