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