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 BCM6318_USBH_PHY
68	bool "BCM6318 USBH PHY support"
69	depends on PHY && ARCH_BMIPS
70	select POWER_DOMAIN
71	help
72	  Support for the Broadcom MIPS BCM6318 USBH PHY.
73
74config BCM6348_USBH_PHY
75	bool "BCM6348 USBH PHY support"
76	depends on PHY && ARCH_BMIPS
77	help
78	  Support for the Broadcom MIPS BCM6348 USBH PHY.
79
80config BCM6358_USBH_PHY
81	bool "BCM6358 USBH PHY support"
82	depends on PHY && ARCH_BMIPS
83	help
84	  Support for the Broadcom MIPS BCM6358 USBH PHY.
85
86config BCM6368_USBH_PHY
87	bool "BCM6368 USBH PHY support"
88	depends on PHY && ARCH_BMIPS
89	help
90	  Support for the Broadcom MIPS BCM6368 USBH PHY.
91
92config BCM_SR_PCIE_PHY
93	bool "Broadcom Stingray PCIe PHY driver"
94	depends on PHY
95	help
96	  Enable this to support the Broadcom Stingray PCIe PHY
97	  If unsure, say N.
98
99config PHY_DA8XX_USB
100	tristate "TI DA8xx USB PHY Driver"
101	depends on PHY && ARCH_DAVINCI
102	help
103	  Enable this to support the USB PHY on DA8xx SoCs.
104
105config PIPE3_PHY
106	bool "Support omap's PIPE3 PHY"
107	depends on PHY && ARCH_OMAP2PLUS
108	help
109	  Support for the omap PIPE3 phy for sata
110
111	  This PHY is found on omap devices supporting SATA such as dra7, am57x
112	  and omap5
113
114config SPL_PIPE3_PHY
115	bool "Support omap's PIPE3 PHY in SPL"
116	depends on SPL_PHY && ARCH_OMAP2PLUS
117	help
118	  Support for the omap PIPE3 phy for sata in SPL
119
120	  This PHY is found on omap devices supporting SATA such as dra7, am57x
121	  and omap5
122
123config AM654_PHY
124	tristate "TI AM654 SERDES support"
125	depends on PHY && ARCH_K3
126	select REGMAP
127	select SYSCON
128	help
129	  This option enables support for TI AM654 SerDes PHY used for
130	  PCIe.
131
132config STI_USB_PHY
133	bool "STMicroelectronics USB2 picoPHY driver for STiH407 family"
134	depends on PHY && ARCH_STI
135	help
136	  This is the generic phy driver for the picoPHY ports
137	  used by USB2 and USB3 Host controllers available on
138	  STiH407 SoC families.
139
140config PHY_QCOM_IPQ4019_USB
141	tristate "Qualcomm IPQ4019 USB PHY driver"
142	depends on PHY && ARCH_IPQ40XX
143	help
144	  Support for the USB PHY-s on Qualcomm IPQ40xx SoC-s.
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 MSM8916_USB_PHY
218	bool "Qualcomm MSM8916 USB PHY support"
219	depends on PHY
220	help
221          Support the USB PHY in msm8916
222
223	  This PHY is found on qualcomm dragonboard410c development board.
224
225config OMAP_USB2_PHY
226	bool "Support OMAP's USB2 PHY"
227	depends on PHY
228	depends on SYSCON
229	help
230	  Support for the OMAP's USB2 PHY.
231
232	  This PHY is found on OMAP devices supporting USB2.
233
234
235config KEYSTONE_USB_PHY
236	bool "Support TI Keystone USB PHY"
237	depends on PHY
238	depends on ARCH_KEYSTONE
239	help
240	  Support for the USB PHY found on some Keystone (k2) processors
241
242	  This PHY is found on some Keystone (K2) devices supporting USB.
243
244config MT7620_USB_PHY
245	bool "MediaTek MT7620 USB PHY support"
246	depends on PHY
247	depends on SOC_MT7620
248	help
249          Support the intergated USB PHY in MediaTek MT7620 SoC
250
251config MT76X8_USB_PHY
252	bool "MediaTek MT76x8 (7628/88) USB PHY support"
253	depends on PHY
254	depends on SOC_MT7628
255	help
256          Support the USB PHY in MT76x8 SoCs
257
258	  This PHY is found on MT76x8 devices supporting USB.
259
260config PHY_MTK_TPHY
261	bool "MediaTek T-PHY Driver"
262	depends on PHY
263	depends on ARCH_MEDIATEK
264	help
265	  MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and
266	  SATA, and meanwhile supports two version T-PHY which have
267	  different banks layout, the T-PHY with shared banks between
268	  multi-ports is first version, otherwise is second veriosn,
269	  so you can easily distinguish them by banks layout.
270
271source "drivers/phy/rockchip/Kconfig"
272endmenu
273