xref: /linux/drivers/phy/Kconfig (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2ff764963SKishon Vijay Abraham I#
3ff764963SKishon Vijay Abraham I# PHY
4ff764963SKishon Vijay Abraham I#
5ff764963SKishon Vijay Abraham I
6ff764963SKishon Vijay Abraham Imenu "PHY Subsystem"
7ff764963SKishon Vijay Abraham I
8e7556b59SVladimir Olteanconfig PHY_COMMON_PROPS
948fafffcSVladimir Oltean	bool "PHY common properties" if KUNIT_ALL_TESTS
10e7556b59SVladimir Oltean	help
11e7556b59SVladimir Oltean	  This parses properties common between generic PHYs and Ethernet PHYs.
12e7556b59SVladimir Oltean
13e7556b59SVladimir Oltean	  Select this from consumer drivers to gain access to helpers for
14e7556b59SVladimir Oltean	  parsing properties from the
15e7556b59SVladimir Oltean	  Documentation/devicetree/bindings/phy/phy-common-props.yaml schema.
16e7556b59SVladimir Oltean
17e7556b59SVladimir Olteanconfig PHY_COMMON_PROPS_TEST
18e7556b59SVladimir Oltean	tristate "KUnit tests for PHY common props" if !KUNIT_ALL_TESTS
1948fafffcSVladimir Oltean	depends on KUNIT && PHY_COMMON_PROPS
20e7556b59SVladimir Oltean	default KUNIT_ALL_TESTS
21e7556b59SVladimir Oltean	help
22e7556b59SVladimir Oltean	  This builds KUnit tests for the PHY common property API.
23e7556b59SVladimir Oltean
24e7556b59SVladimir Oltean	  For more information on KUnit and unit tests in general,
25e7556b59SVladimir Oltean	  please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
26e7556b59SVladimir Oltean
27e7556b59SVladimir Oltean	  When in doubt, say N.
28e7556b59SVladimir Oltean
29ff764963SKishon Vijay Abraham Iconfig GENERIC_PHY
30b51fbf9fSHans de Goede	bool "PHY Core"
31ff764963SKishon Vijay Abraham I	help
32ff764963SKishon Vijay Abraham I	  Generic PHY support.
33ff764963SKishon Vijay Abraham I
34ff764963SKishon Vijay Abraham I	  This framework is designed to provide a generic interface for PHY
35ff764963SKishon Vijay Abraham I	  devices present in the kernel. This layer will have the generic
36ff764963SKishon Vijay Abraham I	  API by which phy drivers can create PHY using the phy framework and
37ff764963SKishon Vijay Abraham I	  phy users can obtain reference to the PHY. All the users of this
38ff764963SKishon Vijay Abraham I	  framework should select this config.
39ff764963SKishon Vijay Abraham I
40dddc97e8SMaxime Ripardconfig GENERIC_PHY_MIPI_DPHY
41dddc97e8SMaxime Ripard	bool
42d0ec7b9cSSakari Ailus	select GENERIC_PHY
43dddc97e8SMaxime Ripard	help
44dddc97e8SMaxime Ripard	  Generic MIPI D-PHY support.
45dddc97e8SMaxime Ripard
46dddc97e8SMaxime Ripard	  Provides a number of helpers a core functions for MIPI D-PHY
47dddc97e8SMaxime Ripard	  drivers to us.
48dddc97e8SMaxime Ripard
49dee40773SVinod Koulconfig PHY_AIROHA_PCIE
50dee40773SVinod Koul	tristate "Airoha PCIe-PHY Driver"
51dee40773SVinod Koul	depends on ARCH_AIROHA || COMPILE_TEST
52dee40773SVinod Koul	depends on OF
53dee40773SVinod Koul	select GENERIC_PHY
54dee40773SVinod Koul	help
55dee40773SVinod Koul	  Say Y here to add support for Airoha PCIe PHY driver.
56dee40773SVinod Koul	  This driver create the basic PHY instance and provides initialize
57dee40773SVinod Koul	  callback for PCIe GEN3 port.
58dee40773SVinod Koul
59dee40773SVinod Koulconfig PHY_CAN_TRANSCEIVER
60dee40773SVinod Koul	tristate "CAN transceiver PHY"
61dee40773SVinod Koul	select GENERIC_PHY
62dee40773SVinod Koul	select MULTIPLEXER
63dee40773SVinod Koul	help
64dee40773SVinod Koul	  This option enables support for CAN transceivers as a PHY. This
65dee40773SVinod Koul	  driver provides function for putting the transceivers in various
66dee40773SVinod Koul	  functional modes using gpios and sets the attribute max link
67dee40773SVinod Koul	  rate, for CAN drivers.
68dee40773SVinod Koul
69b6e33443SThéo Lebrunconfig PHY_EYEQ5_ETH
70b6e33443SThéo Lebrun	tristate "Ethernet PHY Driver on EyeQ5"
71b6e33443SThéo Lebrun	depends on OF
72b6e33443SThéo Lebrun	depends on MACH_EYEQ5 || COMPILE_TEST
73b6e33443SThéo Lebrun	select AUXILIARY_BUS
74b6e33443SThéo Lebrun	select GENERIC_PHY
75b6e33443SThéo Lebrun	default MACH_EYEQ5
76b6e33443SThéo Lebrun	help
77b6e33443SThéo Lebrun	  Enable this to support the Ethernet PHY integrated on EyeQ5.
78b6e33443SThéo Lebrun	  It supports both RGMII and SGMII. Registers are located in a
79b6e33443SThéo Lebrun	  shared register region called OLB. If M is selected, the
80b6e33443SThéo Lebrun	  module will be called phy-eyeq5-eth.
81b6e33443SThéo Lebrun
82da1af492SCaleb James DeLisleconfig PHY_ECONET_PCIE
83da1af492SCaleb James DeLisle	tristate "EcoNet PCIe-PHY Driver"
84da1af492SCaleb James DeLisle	depends on ECONET || COMPILE_TEST
85da1af492SCaleb James DeLisle	depends on OF
86da1af492SCaleb James DeLisle	select GENERIC_PHY
87da1af492SCaleb James DeLisle	select REGMAP_MMIO
88da1af492SCaleb James DeLisle	help
89da1af492SCaleb James DeLisle	  Say Y here to add support for EcoNet PCIe PHY driver.
90da1af492SCaleb James DeLisle	  This driver create the basic PHY instance and provides initialize
91da1af492SCaleb James DeLisle	  callback for PCIe GEN1 and GEN2 ports. This PHY is found on
92da1af492SCaleb James DeLisle	  EcoNet SoCs including EN751221 and EN7528.
93da1af492SCaleb James DeLisle
94cbce6666SRoy Luoconfig PHY_GOOGLE_USB
95cbce6666SRoy Luo	tristate "Google Tensor SoC USB PHY driver"
96cbce6666SRoy Luo	select GENERIC_PHY
978a139684SArnd Bergmann	depends on TYPEC
98cbce6666SRoy Luo	help
99cbce6666SRoy Luo	  Enable support for the USB PHY on Google Tensor SoCs, starting with
100cbce6666SRoy Luo	  the G5 generation (Laguna). This driver provides the PHY interfaces
101cbce6666SRoy Luo	  to interact with the SNPS eUSB2 and USB 3.2/DisplayPort Combo PHY,
102cbce6666SRoy Luo	  both of which are integrated with the DWC3 USB DRD controller.
103cbce6666SRoy Luo	  This driver currently supports USB high-speed.
104cbce6666SRoy Luo
105dee40773SVinod Koulconfig USB_LGM_PHY
106dee40773SVinod Koul	tristate "INTEL Lightning Mountain USB PHY Driver"
107dee40773SVinod Koul	depends on USB_SUPPORT
108dee40773SVinod Koul	depends on X86 || COMPILE_TEST
109dee40773SVinod Koul	select USB_PHY
110dee40773SVinod Koul	select REGULATOR
111dee40773SVinod Koul	select REGULATOR_FIXED_VOLTAGE
112dee40773SVinod Koul	help
113dee40773SVinod Koul	  Enable this to support Intel DWC3 PHY USB phy. This driver provides
114dee40773SVinod Koul	  interface to interact with USB GEN-II and USB 3.x PHY that is part
115dee40773SVinod Koul	  of the Intel network SOC.
116dee40773SVinod Koul
117cbf919bdSJoachim Eastwoodconfig PHY_LPC18XX_USB_OTG
118cbf919bdSJoachim Eastwood	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
119cbf919bdSJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
120cbf919bdSJoachim Eastwood	depends on MFD_SYSCON
121cbf919bdSJoachim Eastwood	select GENERIC_PHY
122cbf919bdSJoachim Eastwood	help
123cbf919bdSJoachim Eastwood	  Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.
124cbf919bdSJoachim Eastwood
125cbf919bdSJoachim Eastwood	  This driver is need for USB0 support on LPC18xx/43xx and takes
126cbf919bdSJoachim Eastwood	  care of enabling and clock setup.
127cbf919bdSJoachim Eastwood
128dee40773SVinod Koulconfig PHY_NXP_PTN3222
129dee40773SVinod Koul	tristate "NXP PTN3222 1-port eUSB2 to USB2 redriver"
130dee40773SVinod Koul	depends on I2C
131dee40773SVinod Koul	depends on OF
132dee40773SVinod Koul	select GENERIC_PHY
133dee40773SVinod Koul	help
134dee40773SVinod Koul	  Enable this to support NXP PTN3222 1-port eUSB2 to USB2 Redriver.
135dee40773SVinod Koul	  This redriver performs translation between eUSB2 and USB2 signalling
136dee40773SVinod Koul	  schemes. It supports all three USB 2.0 data rates: Low Speed, Full
137dee40773SVinod Koul	  Speed and High Speed.
138dee40773SVinod Koul
139*e5a9c1c9SDimitri Fedrauconfig PHY_NXP_TJA1145
140*e5a9c1c9SDimitri Fedrau	tristate "NXP TJA1145 CAN transceiver PHY"
141*e5a9c1c9SDimitri Fedrau	select GENERIC_PHY
142*e5a9c1c9SDimitri Fedrau	select REGMAP_SPI
143*e5a9c1c9SDimitri Fedrau	depends on SPI
144*e5a9c1c9SDimitri Fedrau	help
145*e5a9c1c9SDimitri Fedrau	  This option enables support for NXPs TJA1145 CAN transceiver as a PHY.
146*e5a9c1c9SDimitri Fedrau	  This driver provides function for putting the transceiver in various
147*e5a9c1c9SDimitri Fedrau	  functional modes using SPI commands.
148*e5a9c1c9SDimitri Fedrau
14957991ebaSAndrew Brestickerconfig PHY_PISTACHIO_USB
15057991ebaSAndrew Bresticker	tristate "IMG Pistachio USB2.0 PHY driver"
151e238f10dSJiaxun Yang	depends on MIPS || COMPILE_TEST
15257991ebaSAndrew Bresticker	select GENERIC_PHY
15357991ebaSAndrew Bresticker	help
15457991ebaSAndrew Bresticker	  Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
15557991ebaSAndrew Bresticker
1568d3b5f63SIvaylo Ivanovconfig PHY_SNPS_EUSB2
1578d3b5f63SIvaylo Ivanov	tristate "SNPS eUSB2 PHY Driver"
158c4098f3eSIvaylo Ivanov	depends on OF && (ARCH_EXYNOS || ARCH_QCOM || COMPILE_TEST)
1598d3b5f63SIvaylo Ivanov	select GENERIC_PHY
1608d3b5f63SIvaylo Ivanov	help
1618d3b5f63SIvaylo Ivanov	  Enable support for the USB high-speed SNPS eUSB2 phy on select
1628d3b5f63SIvaylo Ivanov	  SoCs. The PHY is usually paired with a Synopsys DWC3 USB controller.
1638d3b5f63SIvaylo Ivanov
16410c8e056SLinus Torvaldsconfig PHY_XGENE
16510c8e056SLinus Torvalds	tristate "APM X-Gene 15Gbps PHY support"
16684a59a31SMark Brown	depends on HAS_IOMEM && OF && (ARCH_XGENE || COMPILE_TEST)
16710c8e056SLinus Torvalds	select GENERIC_PHY
16810c8e056SLinus Torvalds	help
16910c8e056SLinus Torvalds	  This option enables support for APM X-Gene SoC multi-purpose PHY.
17010c8e056SLinus Torvalds
1710b56e9a7SVivek Gautamsource "drivers/phy/allwinner/Kconfig"
1720b56e9a7SVivek Gautamsource "drivers/phy/amlogic/Kconfig"
1738e98ca1eSSven Petersource "drivers/phy/apple/Kconfig"
1749e7dfa4bSSriNavmani Asource "drivers/phy/axiado/Kconfig"
1750b56e9a7SVivek Gautamsource "drivers/phy/broadcom/Kconfig"
176c8b427edSScott Telfordsource "drivers/phy/cadence/Kconfig"
1778787fa1dSJiayu Dusource "drivers/phy/canaan/Kconfig"
17867ee9ccaSYulin Lusource "drivers/phy/eswin/Kconfig"
179efe81beaSLi Junsource "drivers/phy/freescale/Kconfig"
1800b56e9a7SVivek Gautamsource "drivers/phy/hisilicon/Kconfig"
18131de313dS周琰杰 (Zhou Yanjie)source "drivers/phy/ingenic/Kconfig"
182dee40773SVinod Koulsource "drivers/phy/intel/Kconfig"
183dea54fbaSHauke Mehrtenssource "drivers/phy/lantiq/Kconfig"
1840b56e9a7SVivek Gautamsource "drivers/phy/marvell/Kconfig"
185cd4ec4b0SChunfeng Yunsource "drivers/phy/mediatek/Kconfig"
1862ff8a1eeSSteen Hegelundsource "drivers/phy/microchip/Kconfig"
1876d6ce40fSTony Lindgrensource "drivers/phy/motorola/Kconfig"
18851f6b410SQuentin Schulzsource "drivers/phy/mscc/Kconfig"
189b48baf69SHui-Ping Chensource "drivers/phy/nuvoton/Kconfig"
1900b56e9a7SVivek Gautamsource "drivers/phy/qualcomm/Kconfig"
1912411a736SJohn Crispinsource "drivers/phy/ralink/Kconfig"
192eeda4945SStanley Changsource "drivers/phy/realtek/Kconfig"
1930b56e9a7SVivek Gautamsource "drivers/phy/renesas/Kconfig"
1940b56e9a7SVivek Gautamsource "drivers/phy/rockchip/Kconfig"
1950b56e9a7SVivek Gautamsource "drivers/phy/samsung/Kconfig"
1965ab43d0fSKunihiko Hayashisource "drivers/phy/socionext/Kconfig"
197f0c6d776SInochi Amaotosource "drivers/phy/sophgo/Kconfig"
198fe4bc1a0SZe Huangsource "drivers/phy/spacemit/Kconfig"
1990b56e9a7SVivek Gautamsource "drivers/phy/st/Kconfig"
20016d3a71cSMinda Chensource "drivers/phy/starfive/Kconfig"
20199d9ccd9SVincent Shihsource "drivers/phy/sunplus/Kconfig"
20253d2a715SThierry Redingsource "drivers/phy/tegra/Kconfig"
2030b56e9a7SVivek Gautamsource "drivers/phy/ti/Kconfig"
2044a33bea0SAnurag Kumar Vulishasource "drivers/phy/xilinx/Kconfig"
2057965ba05SMartin Blumenstingl
206ff764963SKishon Vijay Abraham Iendmenu
207