Prepare v2024.10
[platform/kernel/u-boot.git] / drivers / phy / Kconfig
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"
22         depends on DM && SPL
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
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
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
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
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
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
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
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
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
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
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
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
121 config PIPE3_PHY
122         bool "Support omap's PIPE3 PHY"
123         depends on PHY && ARCH_OMAP2PLUS
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"
132         depends on SPL_PHY && ARCH_OMAP2PLUS
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
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
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
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
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
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
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
193 config MESON_GXL_USB_PHY
194         bool "Amlogic Meson GXL USB PHYs"
195         depends on PHY && ARCH_MESON && (MESON_GXL || MESON_GXM || MESON_AXG)
196         imply REGMAP
197         help
198           This is the generic phy driver for the Amlogic Meson GXL
199           USB2 and USB3 PHYS.
200
201 config MESON_G12A_USB_PHY
202         bool "Amlogic Meson G12A USB PHYs"
203         depends on PHY && ARCH_MESON && (MESON_G12A || MESON_A1)
204         imply REGMAP
205         help
206           This is the generic phy driver for the Amlogic Meson G12A
207           USB2 and USB3 PHYS.
208
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
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
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
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
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
253 config MT76X8_USB_PHY
254         bool "MediaTek MT76x8 (7628/88) USB PHY support"
255         depends on PHY
256         depends on SOC_MT7628
257         help
258           Support the USB PHY in MT76x8 SoCs
259
260           This PHY is found on MT76x8 devices supporting USB.
261
262 config PHY_MTK_TPHY
263         bool "MediaTek T-PHY Driver"
264         depends on PHY
265         depends on ARCH_MEDIATEK || SOC_MT7621
266         select REGMAP
267         select SYSCON
268         help
269           MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and
270           SATA, and meanwhile supports two version T-PHY which have
271           different banks layout, the T-PHY with shared banks between
272           multi-ports is first version, otherwise is second veriosn,
273           so you can easily distinguish them by banks layout.
274
275 config PHY_NPCM_USB
276         bool "Nuvoton NPCM USB PHY support"
277         depends on PHY
278         depends on ARCH_NPCM
279         help
280           Support the USB PHY in NPCM SoCs
281
282 config PHY_IMX8MQ_USB
283         bool "NXP i.MX8MQ/i.MX8MP USB PHY Driver"
284         depends on PHY
285         depends on IMX8MQ || IMX8MP
286         help
287           Support the USB3.0 PHY in NXP i.MX8MQ or i.MX8MP SoC
288
289 config PHY_IMX8M_PCIE
290         bool "NXP i.MX8MM/i.MX8MP PCIe PHY Driver"
291         depends on PHY
292         depends on IMX8MM || IMX8MP
293         select REGMAP
294         select SYSCON
295         help
296           Support the PCIe PHY in NXP i.MX8MM or i.MX8MP SoC
297
298           This PHY is found on i.MX8M devices supporting PCIe.
299
300 config PHY_XILINX_ZYNQMP
301         tristate "Xilinx ZynqMP PHY driver"
302         depends on PHY && ARCH_ZYNQMP
303         help
304           Enable this to support ZynqMP High Speed Gigabit Transceiver
305           that is part of ZynqMP SoC.
306
307 source "drivers/phy/rockchip/Kconfig"
308 source "drivers/phy/cadence/Kconfig"
309 source "drivers/phy/ti/Kconfig"
310 source "drivers/phy/qcom/Kconfig"
311 source "drivers/phy/renesas/Kconfig"
312
313 endmenu