Prepare v2023.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 BCM6318_USBH_PHY
74         bool "BCM6318 USBH PHY support"
75         depends on PHY && ARCH_BMIPS
76         select POWER_DOMAIN
77         help
78           Support for the Broadcom MIPS BCM6318 USBH PHY.
79
80 config BCM6348_USBH_PHY
81         bool "BCM6348 USBH PHY support"
82         depends on PHY && ARCH_BMIPS
83         help
84           Support for the Broadcom MIPS BCM6348 USBH PHY.
85
86 config BCM6358_USBH_PHY
87         bool "BCM6358 USBH PHY support"
88         depends on PHY && ARCH_BMIPS
89         help
90           Support for the Broadcom MIPS BCM6358 USBH PHY.
91
92 config BCM6368_USBH_PHY
93         bool "BCM6368 USBH PHY support"
94         depends on PHY && ARCH_BMIPS
95         help
96           Support for the Broadcom MIPS BCM6368 USBH PHY.
97
98 config BCM_SR_PCIE_PHY
99         bool "Broadcom Stingray PCIe PHY driver"
100         depends on PHY
101         help
102           Enable this to support the Broadcom Stingray PCIe PHY
103           If unsure, say N.
104
105 config PHY_DA8XX_USB
106         tristate "TI DA8xx USB PHY Driver"
107         depends on PHY && ARCH_DAVINCI
108         help
109           Enable this to support the USB PHY on DA8xx SoCs.
110
111 config PIPE3_PHY
112         bool "Support omap's PIPE3 PHY"
113         depends on PHY && ARCH_OMAP2PLUS
114         help
115           Support for the omap PIPE3 phy for sata
116
117           This PHY is found on omap devices supporting SATA such as dra7, am57x
118           and omap5
119
120 config SPL_PIPE3_PHY
121         bool "Support omap's PIPE3 PHY in SPL"
122         depends on SPL_PHY && ARCH_OMAP2PLUS
123         help
124           Support for the omap PIPE3 phy for sata in SPL
125
126           This PHY is found on omap devices supporting SATA such as dra7, am57x
127           and omap5
128
129 config AM654_PHY
130         tristate "TI AM654 SERDES support"
131         depends on PHY && ARCH_K3
132         select REGMAP
133         select SYSCON
134         help
135           This option enables support for TI AM654 SerDes PHY used for
136           PCIe.
137
138 config STI_USB_PHY
139         bool "STMicroelectronics USB2 picoPHY driver for STiH407 family"
140         depends on PHY && ARCH_STI
141         help
142           This is the generic phy driver for the picoPHY ports
143           used by USB2 and USB3 Host controllers available on
144           STiH407 SoC families.
145
146 config PHY_RCAR_GEN2
147         tristate "Renesas R-Car Gen2 USB PHY"
148         depends on PHY && RCAR_GEN2
149         help
150           Support for the Renesas R-Car Gen2 USB PHY. This driver operates the
151           PHY connected to USBHS module, PCI EHCI module and USB3.0 module and
152           allows configuring the module multiplexing.
153
154 config PHY_RCAR_GEN3
155         tristate "Renesas R-Car Gen3 USB PHY"
156         depends on PHY && RCAR_GEN3 && CLK && DM_REGULATOR
157         default y if RCAR_GEN3
158         help
159           Support for the Renesas R-Car Gen3 USB PHY. This driver operates the
160           PHY connected to EHCI USB module and controls USB OTG operation.
161
162 config PHY_STM32_USBPHYC
163         tristate "STMicroelectronics STM32 SoC USB HS PHY driver"
164         depends on PHY && ARCH_STM32MP
165         help
166           Enable this to support the High-Speed USB transceiver that is part of
167           STMicroelectronics STM32 SoCs.
168
169           This driver controls the entire USB PHY block: the USB PHY controller
170           (USBPHYC) and the two 8-bit wide UTMI+ interface. First interface is
171           used by an HS USB Host controller, and the second one is shared
172           between an HS USB OTG controller and an HS USB Host controller,
173           selected by an USB switch.
174
175 config MESON_GXBB_USB_PHY
176         bool "Amlogic Meson GXBB USB PHY"
177         depends on PHY && ARCH_MESON && MESON_GXBB
178         imply REGMAP
179         help
180           This is the generic phy driver for the Amlogic Meson GXBB
181           USB2 PHY.
182
183 config MESON_GXL_USB_PHY
184         bool "Amlogic Meson GXL USB PHYs"
185         depends on PHY && ARCH_MESON && (MESON_GXL || MESON_GXM || MESON_AXG)
186         imply REGMAP
187         help
188           This is the generic phy driver for the Amlogic Meson GXL
189           USB2 and USB3 PHYS.
190
191 config MESON_G12A_USB_PHY
192         bool "Amlogic Meson G12A USB PHYs"
193         depends on PHY && ARCH_MESON && MESON_G12A
194         imply REGMAP
195         help
196           This is the generic phy driver for the Amlogic Meson G12A
197           USB2 and USB3 PHYS.
198
199 config MESON_AXG_MIPI_DPHY
200         bool "Amlogic Meson AXG MIPI D-PHY"
201         depends on PHY && ARCH_MESON && MESON_AXG
202         select MIPI_DPHY_HELPERS
203         imply REGMAP
204         help
205           This is the generic phy driver for the Amlogic Meson AXG
206           MIPI D-PHY.
207
208 config MESON_AXG_MIPI_PCIE_ANALOG_PHY
209         bool "Amlogic Meson AXG MIPI PCIe Analog PHY"
210         depends on PHY && ARCH_MESON && MESON_AXG
211         select MIPI_DPHY_HELPERS
212         imply REGMAP
213         help
214           This is the generic phy driver for the Amlogic Meson AXG
215           MIPI PCIe Analog PHY.
216
217 config OMAP_USB2_PHY
218         bool "Support OMAP's USB2 PHY"
219         depends on PHY
220         depends on SYSCON
221         help
222           Support for the OMAP's USB2 PHY.
223
224           This PHY is found on OMAP devices supporting USB2.
225
226
227 config KEYSTONE_USB_PHY
228         bool "Support TI Keystone USB PHY"
229         depends on PHY
230         depends on ARCH_KEYSTONE
231         help
232           Support for the USB PHY found on some Keystone (k2) processors
233
234           This PHY is found on some Keystone (K2) devices supporting USB.
235
236 config MT7620_USB_PHY
237         bool "MediaTek MT7620 USB PHY support"
238         depends on PHY
239         depends on SOC_MT7620
240         help
241           Support the intergated USB PHY in MediaTek MT7620 SoC
242
243 config MT76X8_USB_PHY
244         bool "MediaTek MT76x8 (7628/88) USB PHY support"
245         depends on PHY
246         depends on SOC_MT7628
247         help
248           Support the USB PHY in MT76x8 SoCs
249
250           This PHY is found on MT76x8 devices supporting USB.
251
252 config PHY_MTK_TPHY
253         bool "MediaTek T-PHY Driver"
254         depends on PHY
255         depends on ARCH_MEDIATEK || SOC_MT7621
256         help
257           MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and
258           SATA, and meanwhile supports two version T-PHY which have
259           different banks layout, the T-PHY with shared banks between
260           multi-ports is first version, otherwise is second veriosn,
261           so you can easily distinguish them by banks layout.
262
263 config PHY_NPCM_USB
264         bool "Nuvoton NPCM USB PHY support"
265         depends on PHY
266         depends on ARCH_NPCM
267         help
268           Support the USB PHY in NPCM SoCs
269
270 config PHY_IMX8MQ_USB
271         bool "NXP i.MX8MQ/i.MX8MP USB PHY Driver"
272         depends on PHY
273         depends on IMX8MQ || IMX8MP
274         help
275           Support the USB3.0 PHY in NXP i.MX8MQ or i.MX8MP SoC
276
277 config PHY_XILINX_ZYNQMP
278         tristate "Xilinx ZynqMP PHY driver"
279         depends on PHY && ARCH_ZYNQMP
280         help
281           Enable this to support ZynqMP High Speed Gigabit Transceiver
282           that is part of ZynqMP SoC.
283
284 source "drivers/phy/rockchip/Kconfig"
285 source "drivers/phy/cadence/Kconfig"
286 source "drivers/phy/ti/Kconfig"
287 source "drivers/phy/qcom/Kconfig"
288 source "drivers/phy/renesas/Kconfig"
289
290 endmenu