xref: /linux/drivers/phy/Kconfig (revision a5210135489ae7bc1ef1cb4a8157361dd7b468cd)
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
9*48fafffcSVladimir 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
19*48fafffcSVladimir 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
49cbce6666SRoy Luoconfig PHY_AIROHA_PCIE
50cbce6666SRoy Luo	tristate "Airoha PCIe-PHY Driver"
51cbce6666SRoy Luo	depends on ARCH_AIROHA || COMPILE_TEST
528a139684SArnd Bergmann	depends on OF
53cbce6666SRoy Luo	select GENERIC_PHY
54cbce6666SRoy Luo	help
55cbce6666SRoy Luo	  Say Y here to add support for Airoha PCIe PHY driver.
56cbce6666SRoy Luo	  This driver create the basic PHY instance and provides initialize
57cbce6666SRoy Luo	  callback for PCIe GEN3 port.
58cbce6666SRoy Luo
59cbce6666SRoy Luoconfig PHY_CAN_TRANSCEIVER
60cbf919bdSJoachim Eastwood	tristate "CAN transceiver PHY"
61cbf919bdSJoachim Eastwood	select GENERIC_PHY
62cbf919bdSJoachim Eastwood	select MULTIPLEXER
63cbf919bdSJoachim Eastwood	help
64cbf919bdSJoachim Eastwood	  This option enables support for CAN transceivers as a PHY. This
65cbf919bdSJoachim Eastwood	  driver provides function for putting the transceivers in various
66cbf919bdSJoachim Eastwood	  functional modes using gpios and sets the attribute max link
67cbf919bdSJoachim Eastwood	  rate, for CAN drivers.
68cbf919bdSJoachim Eastwood
69cbf919bdSJoachim Eastwoodconfig PHY_GOOGLE_USB
70cbf919bdSJoachim Eastwood	tristate "Google Tensor SoC USB PHY driver"
7157991ebaSAndrew Bresticker	select GENERIC_PHY
7257991ebaSAndrew Bresticker	depends on TYPEC
73e238f10dSJiaxun Yang	help
7457991ebaSAndrew Bresticker	  Enable support for the USB PHY on Google Tensor SoCs, starting with
7557991ebaSAndrew Bresticker	  the G5 generation (Laguna). This driver provides the PHY interfaces
7657991ebaSAndrew Bresticker	  to interact with the SNPS eUSB2 and USB 3.2/DisplayPort Combo PHY,
7757991ebaSAndrew Bresticker	  both of which are integrated with the DWC3 USB DRD controller.
788d3b5f63SIvaylo Ivanov	  This driver currently supports USB high-speed.
798d3b5f63SIvaylo Ivanov
80c4098f3eSIvaylo Ivanovconfig USB_LGM_PHY
818d3b5f63SIvaylo Ivanov	tristate "INTEL Lightning Mountain USB PHY Driver"
828d3b5f63SIvaylo Ivanov	depends on USB_SUPPORT
838d3b5f63SIvaylo Ivanov	depends on X86 || COMPILE_TEST
848d3b5f63SIvaylo Ivanov	select USB_PHY
858d3b5f63SIvaylo Ivanov	select REGULATOR
8610c8e056SLinus Torvalds	select REGULATOR_FIXED_VOLTAGE
8710c8e056SLinus Torvalds	help
8884a59a31SMark Brown	  Enable this to support Intel DWC3 PHY USB phy. This driver provides
8910c8e056SLinus Torvalds	  interface to interact with USB GEN-II and USB 3.x PHY that is part
9010c8e056SLinus Torvalds	  of the Intel network SOC.
9110c8e056SLinus Torvalds
9210c8e056SLinus Torvaldsconfig PHY_LPC18XX_USB_OTG
931cce8f73SRamuthevar Vadivel Murugan	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
941cce8f73SRamuthevar Vadivel Murugan	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
959b1e5213SRandy Dunlap	depends on MFD_SYSCON
966b46e60aSGeert Uytterhoeven	select GENERIC_PHY
971cce8f73SRamuthevar Vadivel Murugan	help
981cce8f73SRamuthevar Vadivel Murugan	  Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.
991cce8f73SRamuthevar Vadivel Murugan
1001cce8f73SRamuthevar Vadivel Murugan	  This driver is need for USB0 support on LPC18xx/43xx and takes
1011cce8f73SRamuthevar Vadivel Murugan	  care of enabling and clock setup.
1021cce8f73SRamuthevar Vadivel Murugan
1031cce8f73SRamuthevar Vadivel Muruganconfig PHY_NXP_PTN3222
1041cce8f73SRamuthevar Vadivel Murugan	tristate "NXP PTN3222 1-port eUSB2 to USB2 redriver"
105a4a86d27SAswath Govindraju	depends on I2C
106a4a86d27SAswath Govindraju	depends on OF
107a4a86d27SAswath Govindraju	select GENERIC_PHY
108e4d43712SAswath Govindraju	help
109a4a86d27SAswath Govindraju	  Enable this to support NXP PTN3222 1-port eUSB2 to USB2 Redriver.
110a4a86d27SAswath Govindraju	  This redriver performs translation between eUSB2 and USB2 signalling
111a4a86d27SAswath Govindraju	  schemes. It supports all three USB 2.0 data rates: Low Speed, Full
112a4a86d27SAswath Govindraju	  Speed and High Speed.
113a4a86d27SAswath Govindraju
114a4a86d27SAswath Govindrajuconfig PHY_PISTACHIO_USB
115d7d2818bSLorenzo Bianconi	tristate "IMG Pistachio USB2.0 PHY driver"
116d7d2818bSLorenzo Bianconi	depends on MIPS || COMPILE_TEST
117d7d2818bSLorenzo Bianconi	select GENERIC_PHY
118d7d2818bSLorenzo Bianconi	help
119d7d2818bSLorenzo Bianconi	  Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
120d7d2818bSLorenzo Bianconi
121d7d2818bSLorenzo Bianconiconfig PHY_SNPS_EUSB2
122d7d2818bSLorenzo Bianconi	tristate "SNPS eUSB2 PHY Driver"
123d7d2818bSLorenzo Bianconi	depends on OF && (ARCH_EXYNOS || ARCH_QCOM || COMPILE_TEST)
124d7d2818bSLorenzo Bianconi	select GENERIC_PHY
125c9be539eSDmitry Baryshkov	help
126c9be539eSDmitry Baryshkov	  Enable support for the USB high-speed SNPS eUSB2 phy on select
127c9be539eSDmitry Baryshkov	  SoCs. The PHY is usually paired with a Synopsys DWC3 USB controller.
128c9be539eSDmitry Baryshkov
129c9be539eSDmitry Baryshkovconfig PHY_XGENE
130c9be539eSDmitry Baryshkov	tristate "APM X-Gene 15Gbps PHY support"
131c9be539eSDmitry Baryshkov	depends on HAS_IOMEM && OF && (ARCH_XGENE || COMPILE_TEST)
132c9be539eSDmitry Baryshkov	select GENERIC_PHY
133c9be539eSDmitry Baryshkov	help
134c9be539eSDmitry Baryshkov	  This option enables support for APM X-Gene SoC multi-purpose PHY.
135c9be539eSDmitry Baryshkov
13657e920b9SAlex Eldersource "drivers/phy/allwinner/Kconfig"
13757e920b9SAlex Eldersource "drivers/phy/amlogic/Kconfig"
13857e920b9SAlex Eldersource "drivers/phy/apple/Kconfig"
1398df20813SAlex Eldersource "drivers/phy/broadcom/Kconfig"
14057e920b9SAlex Eldersource "drivers/phy/cadence/Kconfig"
14157e920b9SAlex Eldersource "drivers/phy/canaan/Kconfig"
14257e920b9SAlex Eldersource "drivers/phy/eswin/Kconfig"
14357e920b9SAlex Eldersource "drivers/phy/freescale/Kconfig"
14457e920b9SAlex Eldersource "drivers/phy/hisilicon/Kconfig"
14557e920b9SAlex Eldersource "drivers/phy/ingenic/Kconfig"
14657e920b9SAlex Eldersource "drivers/phy/intel/Kconfig"
14757e920b9SAlex Eldersource "drivers/phy/lantiq/Kconfig"
1480b56e9a7SVivek Gautamsource "drivers/phy/marvell/Kconfig"
1490b56e9a7SVivek Gautamsource "drivers/phy/mediatek/Kconfig"
1508e98ca1eSSven Petersource "drivers/phy/microchip/Kconfig"
1510b56e9a7SVivek Gautamsource "drivers/phy/motorola/Kconfig"
152c8b427edSScott Telfordsource "drivers/phy/mscc/Kconfig"
153efe81beaSLi Junsource "drivers/phy/nuvoton/Kconfig"
1540b56e9a7SVivek Gautamsource "drivers/phy/qualcomm/Kconfig"
15531de313dS周琰杰 (Zhou Yanjie)source "drivers/phy/ralink/Kconfig"
156dea54fbaSHauke Mehrtenssource "drivers/phy/realtek/Kconfig"
1570b56e9a7SVivek Gautamsource "drivers/phy/renesas/Kconfig"
158cd4ec4b0SChunfeng Yunsource "drivers/phy/rockchip/Kconfig"
1592ff8a1eeSSteen Hegelundsource "drivers/phy/samsung/Kconfig"
1606d6ce40fSTony Lindgrensource "drivers/phy/socionext/Kconfig"
16151f6b410SQuentin Schulzsource "drivers/phy/sophgo/Kconfig"
162b48baf69SHui-Ping Chensource "drivers/phy/spacemit/Kconfig"
1630b56e9a7SVivek Gautamsource "drivers/phy/st/Kconfig"
1642411a736SJohn Crispinsource "drivers/phy/starfive/Kconfig"
165eeda4945SStanley Changsource "drivers/phy/sunplus/Kconfig"
1660b56e9a7SVivek Gautamsource "drivers/phy/tegra/Kconfig"
1670b56e9a7SVivek Gautamsource "drivers/phy/ti/Kconfig"
1680b56e9a7SVivek Gautamsource "drivers/phy/xilinx/Kconfig"
1695ab43d0fSKunihiko Hayashi
170f0c6d776SInochi Amaotoendmenu
171fe4bc1a0SZe Huang