Jean-Jacques Hiblot | 4844778 | 2017-04-24 11:51:27 +0200 | [diff] [blame] | 1 | |
| 2 | menu "PHY Subsystem" |
| 3 | |
| 4 | config PHY |
| 5 | bool "PHY Core" |
| 6 | depends on DM |
| 7 | help |
| 8 | PHY support. |
| 9 | |
| 10 | This framework is designed to provide a generic interface for PHY |
| 11 | devices. PHY devices are dedicated hardware that handle the physical |
| 12 | layer of the protocols in the OSI model. |
| 13 | PHYs are commonly used for high speed interfaces such as Serial-ATA |
| 14 | or PCI express. |
| 15 | The API provides functions to initialize/deinitialize the |
| 16 | PHY, power on/off the PHY, and reset the PHY. It's meant to be as |
| 17 | compatible as possible with the equivalent framework found in the |
| 18 | linux kernel. |
| 19 | |
| 20 | config SPL_PHY |
| 21 | bool "PHY Core in SPL" |
Adam Ford | ac4d80e | 2019-08-24 13:50:34 -0500 | [diff] [blame] | 22 | depends on DM && SPL |
Jean-Jacques Hiblot | 4844778 | 2017-04-24 11:51:27 +0200 | [diff] [blame] | 23 | help |
| 24 | PHY support in SPL. |
| 25 | |
| 26 | This framework is designed to provide a generic interface for PHY |
| 27 | devices. PHY devices are dedicated hardware that handle the physical |
| 28 | layer of the protocols (https://en.wikipedia.org/wiki/OSI_model). |
| 29 | PHYs are commonly used for high speed interfaces such as Serial-ATA |
| 30 | or PCI express. |
| 31 | The API provides functions to initialize/deinitialize the |
| 32 | PHY, power on/off the PHY, and reset the PHY. It's meant to be as |
| 33 | compatible as possible with the equivalent framework found in the |
| 34 | linux kernel. |
| 35 | |
Jean-Jacques Hiblot | 7e9db02 | 2017-04-24 11:51:28 +0200 | [diff] [blame] | 36 | config PHY_SANDBOX |
| 37 | bool "Sandbox PHY support" |
| 38 | depends on SANDBOX |
| 39 | depends on PHY |
| 40 | help |
| 41 | This select a dummy sandbox PHY driver. It used only to implement |
| 42 | the unit tests for the phy framework |
| 43 | |
Jean-Jacques Hiblot | c2da3e3 | 2017-07-24 15:18:15 +0200 | [diff] [blame] | 44 | config NOP_PHY |
| 45 | bool "NOP PHY driver" |
| 46 | depends on PHY |
| 47 | help |
| 48 | Support for a no-op PHY driver (stubbed PHY driver). |
| 49 | |
| 50 | This is useful when a driver uses the PHY framework but no real PHY |
| 51 | hardware exists. |
| 52 | |
| 53 | config SPL_NOP_PHY |
| 54 | bool "NOP PHY driver in SPL" |
| 55 | depends on SPL_PHY |
| 56 | help |
| 57 | Support for a no-op PHY driver (stubbed PHY driver) in the SPL. |
| 58 | |
| 59 | This is useful when a driver uses the PHY framework but no real PHY |
| 60 | hardware exists. |
| 61 | |
Neil Armstrong | 466fa15 | 2020-12-29 14:58:58 +0100 | [diff] [blame] | 62 | config MIPI_DPHY_HELPERS |
| 63 | bool "MIPI D-PHY support helpers" |
| 64 | help |
| 65 | Provides a number of helpers a core functions for MIPI D-PHY drivers. |
| 66 | |
Stephan Gerhold | bd51911 | 2021-07-08 20:33:49 +0200 | [diff] [blame] | 67 | config AB8500_USB_PHY |
| 68 | bool "AB8500 USB PHY Driver" |
| 69 | depends on PHY && PMIC_AB8500 |
| 70 | help |
| 71 | Support for the USB OTG PHY in ST-Ericsson AB8500. |
| 72 | |
Mark Kettenis | 23d9898 | 2023-07-14 22:21:42 +0200 | [diff] [blame] | 73 | config APPLE_ATCPHY |
| 74 | bool "Apple Type-C PHY Driver" |
| 75 | depends on PHY && ARCH_APPLE |
| 76 | default y |
| 77 | help |
| 78 | Support for the Apple Type-C PHY. |
| 79 | |
| 80 | This is a dummy driver since the PHY is initialized |
| 81 | sufficiently by previous stage firmware. |
| 82 | |
Álvaro Fernández Rojas | 66871b7 | 2018-02-04 21:11:15 +0100 | [diff] [blame] | 83 | config BCM6318_USBH_PHY |
| 84 | bool "BCM6318 USBH PHY support" |
| 85 | depends on PHY && ARCH_BMIPS |
| 86 | select POWER_DOMAIN |
| 87 | help |
| 88 | Support for the Broadcom MIPS BCM6318 USBH PHY. |
| 89 | |
Álvaro Fernández Rojas | b3c963a | 2018-02-04 11:18:24 +0100 | [diff] [blame] | 90 | config BCM6348_USBH_PHY |
| 91 | bool "BCM6348 USBH PHY support" |
| 92 | depends on PHY && ARCH_BMIPS |
| 93 | help |
| 94 | Support for the Broadcom MIPS BCM6348 USBH PHY. |
| 95 | |
Álvaro Fernández Rojas | 54a1fb6 | 2018-02-04 11:19:11 +0100 | [diff] [blame] | 96 | config BCM6358_USBH_PHY |
| 97 | bool "BCM6358 USBH PHY support" |
| 98 | depends on PHY && ARCH_BMIPS |
| 99 | help |
| 100 | Support for the Broadcom MIPS BCM6358 USBH PHY. |
| 101 | |
Álvaro Fernández Rojas | dbb6baf | 2018-02-04 21:10:13 +0100 | [diff] [blame] | 102 | config BCM6368_USBH_PHY |
| 103 | bool "BCM6368 USBH PHY support" |
| 104 | depends on PHY && ARCH_BMIPS |
| 105 | help |
| 106 | Support for the Broadcom MIPS BCM6368 USBH PHY. |
| 107 | |
Srinath Mannam | 7568702 | 2020-04-02 16:08:12 +0530 | [diff] [blame] | 108 | config BCM_SR_PCIE_PHY |
| 109 | bool "Broadcom Stingray PCIe PHY driver" |
| 110 | depends on PHY |
| 111 | help |
| 112 | Enable this to support the Broadcom Stingray PCIe PHY |
| 113 | If unsure, say N. |
| 114 | |
Adam Ford | 9442e74 | 2019-07-10 13:59:09 -0500 | [diff] [blame] | 115 | config PHY_DA8XX_USB |
| 116 | tristate "TI DA8xx USB PHY Driver" |
| 117 | depends on PHY && ARCH_DAVINCI |
| 118 | help |
| 119 | Enable this to support the USB PHY on DA8xx SoCs. |
| 120 | |
Jean-Jacques Hiblot | 73e95eb | 2017-04-24 11:51:29 +0200 | [diff] [blame] | 121 | config PIPE3_PHY |
| 122 | bool "Support omap's PIPE3 PHY" |
Jean-Jacques Hiblot | 5a3d1c6 | 2017-07-07 12:13:34 +0200 | [diff] [blame] | 123 | depends on PHY && ARCH_OMAP2PLUS |
Jean-Jacques Hiblot | 73e95eb | 2017-04-24 11:51:29 +0200 | [diff] [blame] | 124 | help |
| 125 | Support for the omap PIPE3 phy for sata |
| 126 | |
| 127 | This PHY is found on omap devices supporting SATA such as dra7, am57x |
| 128 | and omap5 |
| 129 | |
| 130 | config SPL_PIPE3_PHY |
| 131 | bool "Support omap's PIPE3 PHY in SPL" |
Jean-Jacques Hiblot | 5a3d1c6 | 2017-07-07 12:13:34 +0200 | [diff] [blame] | 132 | depends on SPL_PHY && ARCH_OMAP2PLUS |
Jean-Jacques Hiblot | 73e95eb | 2017-04-24 11:51:29 +0200 | [diff] [blame] | 133 | help |
| 134 | Support for the omap PIPE3 phy for sata in SPL |
| 135 | |
| 136 | This PHY is found on omap devices supporting SATA such as dra7, am57x |
| 137 | and omap5 |
| 138 | |
Sekhar Nori | 114b0bc | 2019-08-01 19:12:58 +0530 | [diff] [blame] | 139 | config AM654_PHY |
| 140 | tristate "TI AM654 SERDES support" |
| 141 | depends on PHY && ARCH_K3 |
| 142 | select REGMAP |
| 143 | select SYSCON |
| 144 | help |
| 145 | This option enables support for TI AM654 SerDes PHY used for |
| 146 | PCIe. |
| 147 | |
Patrice Chotard | 6b33651 | 2017-09-05 11:04:21 +0200 | [diff] [blame] | 148 | config STI_USB_PHY |
| 149 | bool "STMicroelectronics USB2 picoPHY driver for STiH407 family" |
| 150 | depends on PHY && ARCH_STI |
| 151 | help |
| 152 | This is the generic phy driver for the picoPHY ports |
| 153 | used by USB2 and USB3 Host controllers available on |
| 154 | STiH407 SoC families. |
| 155 | |
Marek Vasut | 484961c | 2018-08-05 15:22:19 +0200 | [diff] [blame] | 156 | config PHY_RCAR_GEN2 |
| 157 | tristate "Renesas R-Car Gen2 USB PHY" |
| 158 | depends on PHY && RCAR_GEN2 |
| 159 | help |
| 160 | Support for the Renesas R-Car Gen2 USB PHY. This driver operates the |
| 161 | PHY connected to USBHS module, PCI EHCI module and USB3.0 module and |
| 162 | allows configuring the module multiplexing. |
| 163 | |
Marek Vasut | c31c4b1 | 2018-10-02 22:31:47 +0200 | [diff] [blame] | 164 | config PHY_RCAR_GEN3 |
| 165 | tristate "Renesas R-Car Gen3 USB PHY" |
| 166 | depends on PHY && RCAR_GEN3 && CLK && DM_REGULATOR |
| 167 | default y if RCAR_GEN3 |
| 168 | help |
| 169 | Support for the Renesas R-Car Gen3 USB PHY. This driver operates the |
| 170 | PHY connected to EHCI USB module and controls USB OTG operation. |
| 171 | |
Patrice Chotard | 226d87b | 2018-04-27 11:01:55 +0200 | [diff] [blame] | 172 | config PHY_STM32_USBPHYC |
| 173 | tristate "STMicroelectronics STM32 SoC USB HS PHY driver" |
| 174 | depends on PHY && ARCH_STM32MP |
| 175 | help |
| 176 | Enable this to support the High-Speed USB transceiver that is part of |
| 177 | STMicroelectronics STM32 SoCs. |
| 178 | |
| 179 | This driver controls the entire USB PHY block: the USB PHY controller |
| 180 | (USBPHYC) and the two 8-bit wide UTMI+ interface. First interface is |
| 181 | used by an HS USB Host controller, and the second one is shared |
| 182 | between an HS USB OTG controller and an HS USB Host controller, |
| 183 | selected by an USB switch. |
| 184 | |
Beniamino Galvani | 86724a5 | 2019-08-18 15:42:54 +0200 | [diff] [blame] | 185 | config MESON_GXBB_USB_PHY |
| 186 | bool "Amlogic Meson GXBB USB PHY" |
| 187 | depends on PHY && ARCH_MESON && MESON_GXBB |
| 188 | imply REGMAP |
| 189 | help |
| 190 | This is the generic phy driver for the Amlogic Meson GXBB |
| 191 | USB2 PHY. |
| 192 | |
Neil Armstrong | 1cbd9ae | 2018-04-11 17:08:02 +0200 | [diff] [blame] | 193 | config MESON_GXL_USB_PHY |
| 194 | bool "Amlogic Meson GXL USB PHYs" |
Neil Armstrong | c90263c | 2020-09-10 10:48:16 +0200 | [diff] [blame] | 195 | depends on PHY && ARCH_MESON && (MESON_GXL || MESON_GXM || MESON_AXG) |
Neil Armstrong | 1cbd9ae | 2018-04-11 17:08:02 +0200 | [diff] [blame] | 196 | imply REGMAP |
| 197 | help |
| 198 | This is the generic phy driver for the Amlogic Meson GXL |
| 199 | USB2 and USB3 PHYS. |
| 200 | |
Neil Armstrong | 5fe837d | 2019-02-19 15:17:29 +0100 | [diff] [blame] | 201 | config MESON_G12A_USB_PHY |
| 202 | bool "Amlogic Meson G12A USB PHYs" |
Alexey Romanov | b2340a4 | 2023-10-05 11:54:26 +0300 | [diff] [blame] | 203 | depends on PHY && ARCH_MESON && (MESON_G12A || MESON_A1) |
Neil Armstrong | 5fe837d | 2019-02-19 15:17:29 +0100 | [diff] [blame] | 204 | imply REGMAP |
| 205 | help |
| 206 | This is the generic phy driver for the Amlogic Meson G12A |
| 207 | USB2 and USB3 PHYS. |
| 208 | |
Neil Armstrong | 90f9ecd | 2020-12-29 14:59:00 +0100 | [diff] [blame] | 209 | config MESON_AXG_MIPI_DPHY |
| 210 | bool "Amlogic Meson AXG MIPI D-PHY" |
| 211 | depends on PHY && ARCH_MESON && MESON_AXG |
| 212 | select MIPI_DPHY_HELPERS |
| 213 | imply REGMAP |
| 214 | help |
| 215 | This is the generic phy driver for the Amlogic Meson AXG |
| 216 | MIPI D-PHY. |
| 217 | |
Neil Armstrong | d8d1169 | 2020-12-29 14:59:01 +0100 | [diff] [blame] | 218 | config MESON_AXG_MIPI_PCIE_ANALOG_PHY |
| 219 | bool "Amlogic Meson AXG MIPI PCIe Analog PHY" |
| 220 | depends on PHY && ARCH_MESON && MESON_AXG |
| 221 | select MIPI_DPHY_HELPERS |
| 222 | imply REGMAP |
| 223 | help |
| 224 | This is the generic phy driver for the Amlogic Meson AXG |
| 225 | MIPI PCIe Analog PHY. |
| 226 | |
Jean-Jacques Hiblot | 4530571 | 2018-11-29 10:57:39 +0100 | [diff] [blame] | 227 | config OMAP_USB2_PHY |
| 228 | bool "Support OMAP's USB2 PHY" |
| 229 | depends on PHY |
| 230 | depends on SYSCON |
| 231 | help |
| 232 | Support for the OMAP's USB2 PHY. |
| 233 | |
| 234 | This PHY is found on OMAP devices supporting USB2. |
| 235 | |
Jean-Jacques Hiblot | a5bb671 | 2018-12-04 11:12:59 +0100 | [diff] [blame] | 236 | |
| 237 | config KEYSTONE_USB_PHY |
| 238 | bool "Support TI Keystone USB PHY" |
| 239 | depends on PHY |
| 240 | depends on ARCH_KEYSTONE |
| 241 | help |
| 242 | Support for the USB PHY found on some Keystone (k2) processors |
| 243 | |
| 244 | This PHY is found on some Keystone (K2) devices supporting USB. |
| 245 | |
developer | 19cf577 | 2020-11-12 16:36:48 +0800 | [diff] [blame] | 246 | config MT7620_USB_PHY |
| 247 | bool "MediaTek MT7620 USB PHY support" |
| 248 | depends on PHY |
| 249 | depends on SOC_MT7620 |
| 250 | help |
| 251 | Support the intergated USB PHY in MediaTek MT7620 SoC |
| 252 | |
Stefan Roese | 67e02df | 2019-04-05 13:44:43 +0200 | [diff] [blame] | 253 | config MT76X8_USB_PHY |
| 254 | bool "MediaTek MT76x8 (7628/88) USB PHY support" |
| 255 | depends on PHY |
developer | 065e7dd | 2019-09-25 17:45:31 +0800 | [diff] [blame] | 256 | depends on SOC_MT7628 |
Stefan Roese | 67e02df | 2019-04-05 13:44:43 +0200 | [diff] [blame] | 257 | help |
| 258 | Support the USB PHY in MT76x8 SoCs |
| 259 | |
| 260 | This PHY is found on MT76x8 devices supporting USB. |
| 261 | |
developer | 7b27b8d | 2019-08-22 12:26:50 +0200 | [diff] [blame] | 262 | config PHY_MTK_TPHY |
| 263 | bool "MediaTek T-PHY Driver" |
| 264 | depends on PHY |
developer | f37e4f2 | 2022-05-20 11:23:01 +0800 | [diff] [blame] | 265 | depends on ARCH_MEDIATEK || SOC_MT7621 |
developer | 7b27b8d | 2019-08-22 12:26:50 +0200 | [diff] [blame] | 266 | help |
| 267 | MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and |
| 268 | SATA, and meanwhile supports two version T-PHY which have |
| 269 | different banks layout, the T-PHY with shared banks between |
| 270 | multi-ports is first version, otherwise is second veriosn, |
| 271 | so you can easily distinguish them by banks layout. |
| 272 | |
Jim Liu | 9a215e8 | 2022-06-21 17:03:38 +0800 | [diff] [blame] | 273 | config PHY_NPCM_USB |
| 274 | bool "Nuvoton NPCM USB PHY support" |
| 275 | depends on PHY |
| 276 | depends on ARCH_NPCM |
| 277 | help |
| 278 | Support the USB PHY in NPCM SoCs |
| 279 | |
Ye Li | fde01d9 | 2021-02-21 08:26:21 -0800 | [diff] [blame] | 280 | config PHY_IMX8MQ_USB |
Marek Vasut | c55fbc4 | 2022-04-01 03:18:31 +0200 | [diff] [blame] | 281 | bool "NXP i.MX8MQ/i.MX8MP USB PHY Driver" |
Ye Li | fde01d9 | 2021-02-21 08:26:21 -0800 | [diff] [blame] | 282 | depends on PHY |
Marek Vasut | c55fbc4 | 2022-04-01 03:18:31 +0200 | [diff] [blame] | 283 | depends on IMX8MQ || IMX8MP |
Ye Li | fde01d9 | 2021-02-21 08:26:21 -0800 | [diff] [blame] | 284 | help |
Marek Vasut | c55fbc4 | 2022-04-01 03:18:31 +0200 | [diff] [blame] | 285 | Support the USB3.0 PHY in NXP i.MX8MQ or i.MX8MP SoC |
Ye Li | fde01d9 | 2021-02-21 08:26:21 -0800 | [diff] [blame] | 286 | |
Sumit Garg | 2c71451 | 2024-03-21 20:25:02 +0530 | [diff] [blame] | 287 | config PHY_IMX8M_PCIE |
| 288 | bool "NXP i.MX8MM/i.MX8MP PCIe PHY Driver" |
| 289 | depends on PHY |
| 290 | depends on IMX8MM || IMX8MP |
| 291 | select REGMAP |
| 292 | select SYSCON |
| 293 | help |
| 294 | Support the PCIe PHY in NXP i.MX8MM or i.MX8MP SoC |
| 295 | |
| 296 | This PHY is found on i.MX8M devices supporting PCIe. |
| 297 | |
Michal Simek | 0be35ab | 2022-01-06 09:49:41 +0100 | [diff] [blame] | 298 | config PHY_XILINX_ZYNQMP |
| 299 | tristate "Xilinx ZynqMP PHY driver" |
| 300 | depends on PHY && ARCH_ZYNQMP |
| 301 | help |
| 302 | Enable this to support ZynqMP High Speed Gigabit Transceiver |
| 303 | that is part of ZynqMP SoC. |
| 304 | |
Jagan Teki | 70e882f | 2020-05-26 11:33:44 +0800 | [diff] [blame] | 305 | source "drivers/phy/rockchip/Kconfig" |
Alan Douglas | fda76da | 2021-07-21 21:28:36 +0530 | [diff] [blame] | 306 | source "drivers/phy/cadence/Kconfig" |
Jean-Jacques Hiblot | 065788e | 2021-07-21 21:28:38 +0530 | [diff] [blame] | 307 | source "drivers/phy/ti/Kconfig" |
Sumit Garg | 302d5a4 | 2022-08-04 19:57:09 +0530 | [diff] [blame] | 308 | source "drivers/phy/qcom/Kconfig" |
Marek Vasut | 8ec3077 | 2023-03-19 18:09:43 +0100 | [diff] [blame] | 309 | source "drivers/phy/renesas/Kconfig" |
Alan Douglas | fda76da | 2021-07-21 21:28:36 +0530 | [diff] [blame] | 310 | |
Jean-Jacques Hiblot | 4844778 | 2017-04-24 11:51:27 +0200 | [diff] [blame] | 311 | endmenu |