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_QCOM_IPQ4019_USB
147	tristate "Qualcomm IPQ4019 USB PHY driver"
148	depends on PHY && ARCH_IPQ40XX
149	help
150	  Support for the USB PHY-s on Qualcomm IPQ40xx SoC-s.
151
152config PHY_RCAR_GEN2
153	tristate "Renesas R-Car Gen2 USB PHY"
154	depends on PHY && RCAR_GEN2
155	help
156	  Support for the Renesas R-Car Gen2 USB PHY. This driver operates the
157	  PHY connected to USBHS module, PCI EHCI module and USB3.0 module and
158	  allows configuring the module multiplexing.
159
160config PHY_RCAR_GEN3
161	tristate "Renesas R-Car Gen3 USB PHY"
162	depends on PHY && RCAR_GEN3 && CLK && DM_REGULATOR
163	default y if RCAR_GEN3
164	help
165	  Support for the Renesas R-Car Gen3 USB PHY. This driver operates the
166	  PHY connected to EHCI USB module and controls USB OTG operation.
167
168config PHY_STM32_USBPHYC
169	tristate "STMicroelectronics STM32 SoC USB HS PHY driver"
170	depends on PHY && ARCH_STM32MP
171	help
172	  Enable this to support the High-Speed USB transceiver that is part of
173	  STMicroelectronics STM32 SoCs.
174
175	  This driver controls the entire USB PHY block: the USB PHY controller
176	  (USBPHYC) and the two 8-bit wide UTMI+ interface. First interface is
177	  used by an HS USB Host controller, and the second one is shared
178	  between an HS USB OTG controller and an HS USB Host controller,
179	  selected by an USB switch.
180
181config MESON_GXBB_USB_PHY
182	bool "Amlogic Meson GXBB USB PHY"
183	depends on PHY && ARCH_MESON && MESON_GXBB
184	imply REGMAP
185	help
186	  This is the generic phy driver for the Amlogic Meson GXBB
187	  USB2 PHY.
188
189config MESON_GXL_USB_PHY
190	bool "Amlogic Meson GXL USB PHYs"
191	depends on PHY && ARCH_MESON && (MESON_GXL || MESON_GXM || MESON_AXG)
192	imply REGMAP
193	help
194	  This is the generic phy driver for the Amlogic Meson GXL
195	  USB2 and USB3 PHYS.
196
197config MESON_G12A_USB_PHY
198	bool "Amlogic Meson G12A USB PHYs"
199	depends on PHY && ARCH_MESON && MESON_G12A
200	imply REGMAP
201	help
202	  This is the generic phy driver for the Amlogic Meson G12A
203	  USB2 and USB3 PHYS.
204
205config MESON_AXG_MIPI_DPHY
206	bool "Amlogic Meson AXG MIPI D-PHY"
207	depends on PHY && ARCH_MESON && MESON_AXG
208	select MIPI_DPHY_HELPERS
209	imply REGMAP
210	help
211	  This is the generic phy driver for the Amlogic Meson AXG
212	  MIPI D-PHY.
213
214config MESON_AXG_MIPI_PCIE_ANALOG_PHY
215	bool "Amlogic Meson AXG MIPI PCIe Analog PHY"
216	depends on PHY && ARCH_MESON && MESON_AXG
217	select MIPI_DPHY_HELPERS
218	imply REGMAP
219	help
220	  This is the generic phy driver for the Amlogic Meson AXG
221	  MIPI PCIe Analog PHY.
222
223config MSM8916_USB_PHY
224	bool "Qualcomm MSM8916 USB PHY support"
225	depends on PHY
226	help
227          Support the USB PHY in msm8916
228
229	  This PHY is found on qualcomm dragonboard410c development board.
230
231config OMAP_USB2_PHY
232	bool "Support OMAP's USB2 PHY"
233	depends on PHY
234	depends on SYSCON
235	help
236	  Support for the OMAP's USB2 PHY.
237
238	  This PHY is found on OMAP devices supporting USB2.
239
240
241config KEYSTONE_USB_PHY
242	bool "Support TI Keystone USB PHY"
243	depends on PHY
244	depends on ARCH_KEYSTONE
245	help
246	  Support for the USB PHY found on some Keystone (k2) processors
247
248	  This PHY is found on some Keystone (K2) devices supporting USB.
249
250config MT7620_USB_PHY
251	bool "MediaTek MT7620 USB PHY support"
252	depends on PHY
253	depends on SOC_MT7620
254	help
255          Support the intergated USB PHY in MediaTek MT7620 SoC
256
257config MT76X8_USB_PHY
258	bool "MediaTek MT76x8 (7628/88) USB PHY support"
259	depends on PHY
260	depends on SOC_MT7628
261	help
262          Support the USB PHY in MT76x8 SoCs
263
264	  This PHY is found on MT76x8 devices supporting USB.
265
266config PHY_MTK_TPHY
267	bool "MediaTek T-PHY Driver"
268	depends on PHY
269	depends on ARCH_MEDIATEK
270	help
271	  MediaTek T-PHY driver supports usb2.0, usb3.0 ports, PCIe and
272	  SATA, and meanwhile supports two version T-PHY which have
273	  different banks layout, the T-PHY with shared banks between
274	  multi-ports is first version, otherwise is second veriosn,
275	  so you can easily distinguish them by banks layout.
276
277config PHY_IMX8MQ_USB
278	bool "NXP i.MX8MQ USB PHY Driver"
279	depends on PHY
280	depends on IMX8MQ
281	help
282	  Support the USB3.0 PHY in NXP i.MX8MQ SoC
283
284source "drivers/phy/rockchip/Kconfig"
285source "drivers/phy/cadence/Kconfig"
286source "drivers/phy/ti/Kconfig"
287
288endmenu
289