1
2menu "PHY Subsystem"
3
4config 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
20config 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
36config 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
44config 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
53config 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
62config 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
67config 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
73config 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
83config 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
90config 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
96config 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
102config 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
108config 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
115config 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
121config 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
130config 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
139config 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
148config 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
156config 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
164config PHY_RCAR_GEN3
165	tristate "Renesas R-Car Gen3 USB PHY"
166	depends on PHY && CLK && DM_REGULATOR && (RCAR_GEN3 || RZG2L)
167	default y if (RCAR_GEN3 || RZG2L)
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
172config 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
185config 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
193config 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
201config 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
209config 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
218config 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
227config 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
237config 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
246config 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
253config 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
262config PHY_EXYNOS_USBDRD
263	bool "Exynos SoC series USB DRD PHY driver"
264	depends on PHY && CLK
265	depends on ARCH_EXYNOS
266	select REGMAP
267	select SYSCON
268	help
269	  Enable USB DRD PHY support for Exynos SoC series.
270
271config PHY_MTK_TPHY
272	bool "MediaTek T-PHY Driver"
273	depends on PHY
274	depends on ARCH_MEDIATEK || SOC_MT7621
275	select REGMAP
276	select SYSCON
277	help
278	  MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and
279	  SATA, and meanwhile supports two version T-PHY which have
280	  different banks layout, the T-PHY with shared banks between
281	  multi-ports is first version, otherwise is second veriosn,
282	  so you can easily distinguish them by banks layout.
283
284config PHY_NPCM_USB
285	bool "Nuvoton NPCM USB PHY support"
286	depends on PHY
287	depends on ARCH_NPCM
288	help
289	  Support the USB PHY in NPCM SoCs
290
291config PHY_IMX8MQ_USB
292	bool "NXP i.MX8MQ/i.MX8MP USB PHY Driver"
293	depends on PHY
294	depends on IMX8MQ || IMX8MP
295	help
296	  Support the USB3.0 PHY in NXP i.MX8MQ or i.MX8MP SoC
297
298config PHY_IMX8M_PCIE
299	bool "NXP i.MX8MM/i.MX8MP PCIe PHY Driver"
300	depends on PHY
301	depends on IMX8MM || IMX8MP
302	select REGMAP
303	select SYSCON
304	help
305	  Support the PCIe PHY in NXP i.MX8MM or i.MX8MP SoC
306
307	  This PHY is found on i.MX8M devices supporting PCIe.
308
309config PHY_XILINX_ZYNQMP
310	tristate "Xilinx ZynqMP PHY driver"
311	depends on PHY && ARCH_ZYNQMP
312	help
313	  Enable this to support ZynqMP High Speed Gigabit Transceiver
314	  that is part of ZynqMP SoC.
315
316source "drivers/phy/rockchip/Kconfig"
317source "drivers/phy/cadence/Kconfig"
318source "drivers/phy/ti/Kconfig"
319source "drivers/phy/qcom/Kconfig"
320source "drivers/phy/renesas/Kconfig"
321source "drivers/phy/starfive/Kconfig"
322
323endmenu
324