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 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
80config 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
86config 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
92config 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
98config 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
105config 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
111config 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
120config 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
129config 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
138config 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
146config 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
154config 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
162config 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
175config 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
183config 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
191config 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
199config 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
208config 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
217config 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
227config 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
236config 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
243config 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
252config 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
263config 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
270config 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
277config 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
284source "drivers/phy/rockchip/Kconfig"
285source "drivers/phy/cadence/Kconfig"
286source "drivers/phy/ti/Kconfig"
287source "drivers/phy/qcom/Kconfig"
288source "drivers/phy/renesas/Kconfig"
289
290endmenu
291