projects/linux·blob master · refs

206 lines · 6.4 KiB

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_NXP_TJA1145
140 tristate "NXP TJA1145 CAN transceiver PHY"
141 select GENERIC_PHY
142 select REGMAP_SPI
143 depends on SPI
144 help
145 This option enables support for NXPs TJA1145 CAN transceiver as a PHY.
146 This driver provides function for putting the transceiver in various
147 functional modes using SPI commands.
148
149config PHY_PISTACHIO_USB
150 tristate "IMG Pistachio USB2.0 PHY driver"
151 depends on MIPS || COMPILE_TEST
152 select GENERIC_PHY
153 help
154 Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
155
156config PHY_SNPS_EUSB2
157 tristate "SNPS eUSB2 PHY Driver"
158 depends on OF && (ARCH_EXYNOS || ARCH_QCOM || COMPILE_TEST)
159 select GENERIC_PHY
160 help
161 Enable support for the USB high-speed SNPS eUSB2 phy on select
162 SoCs. The PHY is usually paired with a Synopsys DWC3 USB controller.
163
164config PHY_XGENE
165 tristate "APM X-Gene 15Gbps PHY support"
166 depends on HAS_IOMEM && OF && (ARCH_XGENE || COMPILE_TEST)
167 select GENERIC_PHY
168 help
169 This option enables support for APM X-Gene SoC multi-purpose PHY.
170
171source "drivers/phy/allwinner/Kconfig"
172source "drivers/phy/amlogic/Kconfig"
173source "drivers/phy/apple/Kconfig"
174source "drivers/phy/axiado/Kconfig"
175source "drivers/phy/broadcom/Kconfig"
176source "drivers/phy/cadence/Kconfig"
177source "drivers/phy/canaan/Kconfig"
178source "drivers/phy/eswin/Kconfig"
179source "drivers/phy/freescale/Kconfig"
180source "drivers/phy/hisilicon/Kconfig"
181source "drivers/phy/ingenic/Kconfig"
182source "drivers/phy/intel/Kconfig"
183source "drivers/phy/lantiq/Kconfig"
184source "drivers/phy/marvell/Kconfig"
185source "drivers/phy/mediatek/Kconfig"
186source "drivers/phy/microchip/Kconfig"
187source "drivers/phy/motorola/Kconfig"
188source "drivers/phy/mscc/Kconfig"
189source "drivers/phy/nuvoton/Kconfig"
190source "drivers/phy/qualcomm/Kconfig"
191source "drivers/phy/ralink/Kconfig"
192source "drivers/phy/realtek/Kconfig"
193source "drivers/phy/renesas/Kconfig"
194source "drivers/phy/rockchip/Kconfig"
195source "drivers/phy/samsung/Kconfig"
196source "drivers/phy/socionext/Kconfig"
197source "drivers/phy/sophgo/Kconfig"
198source "drivers/phy/spacemit/Kconfig"
199source "drivers/phy/st/Kconfig"
200source "drivers/phy/starfive/Kconfig"
201source "drivers/phy/sunplus/Kconfig"
202source "drivers/phy/tegra/Kconfig"
203source "drivers/phy/ti/Kconfig"
204source "drivers/phy/xilinx/Kconfig"
205
206endmenu