| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # |
| 3 | # PHY |
| 4 | # |
| 5 | |
| 6 | menu "PHY Subsystem" |
| 7 | |
| 8 | config 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 | |
| 17 | config 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 | |
| 29 | config 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 | |
| 40 | config 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 | |
| 49 | config 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 | |
| 59 | config 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 | |
| 69 | config 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 | |
| 82 | config 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 | |
| 94 | config 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 | |
| 105 | config 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 | |
| 117 | config 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 | |
| 128 | config 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 | |
| 139 | config 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 | |
| 149 | config 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 | |
| 156 | config 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 | |
| 164 | config 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 | |
| 171 | source "drivers/phy/allwinner/Kconfig" |
| 172 | source "drivers/phy/amlogic/Kconfig" |
| 173 | source "drivers/phy/apple/Kconfig" |
| 174 | source "drivers/phy/axiado/Kconfig" |
| 175 | source "drivers/phy/broadcom/Kconfig" |
| 176 | source "drivers/phy/cadence/Kconfig" |
| 177 | source "drivers/phy/canaan/Kconfig" |
| 178 | source "drivers/phy/eswin/Kconfig" |
| 179 | source "drivers/phy/freescale/Kconfig" |
| 180 | source "drivers/phy/hisilicon/Kconfig" |
| 181 | source "drivers/phy/ingenic/Kconfig" |
| 182 | source "drivers/phy/intel/Kconfig" |
| 183 | source "drivers/phy/lantiq/Kconfig" |
| 184 | source "drivers/phy/marvell/Kconfig" |
| 185 | source "drivers/phy/mediatek/Kconfig" |
| 186 | source "drivers/phy/microchip/Kconfig" |
| 187 | source "drivers/phy/motorola/Kconfig" |
| 188 | source "drivers/phy/mscc/Kconfig" |
| 189 | source "drivers/phy/nuvoton/Kconfig" |
| 190 | source "drivers/phy/qualcomm/Kconfig" |
| 191 | source "drivers/phy/ralink/Kconfig" |
| 192 | source "drivers/phy/realtek/Kconfig" |
| 193 | source "drivers/phy/renesas/Kconfig" |
| 194 | source "drivers/phy/rockchip/Kconfig" |
| 195 | source "drivers/phy/samsung/Kconfig" |
| 196 | source "drivers/phy/socionext/Kconfig" |
| 197 | source "drivers/phy/sophgo/Kconfig" |
| 198 | source "drivers/phy/spacemit/Kconfig" |
| 199 | source "drivers/phy/st/Kconfig" |
| 200 | source "drivers/phy/starfive/Kconfig" |
| 201 | source "drivers/phy/sunplus/Kconfig" |
| 202 | source "drivers/phy/tegra/Kconfig" |
| 203 | source "drivers/phy/ti/Kconfig" |
| 204 | source "drivers/phy/xilinx/Kconfig" |
| 205 | |
| 206 | endmenu |