1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Phy drivers for Qualcomm and Atheros platforms
4#
5config PHY_ATH79_USB
6	tristate "Atheros AR71XX/9XXX USB PHY driver"
7	depends on OF && (ATH79 || COMPILE_TEST)
8	default y if USB_EHCI_HCD_PLATFORM || USB_OHCI_HCD_PLATFORM
9	select RESET_CONTROLLER
10	select GENERIC_PHY
11	help
12	  Enable this to support the USB PHY on Atheros AR71XX/9XXX SoCs.
13
14config PHY_QCOM_APQ8064_SATA
15	tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
16	depends on ARCH_QCOM
17	depends on HAS_IOMEM
18	depends on OF
19	select GENERIC_PHY
20
21config PHY_QCOM_EDP
22	tristate "Qualcomm eDP PHY driver"
23	depends on ARCH_QCOM || COMPILE_TEST
24	depends on OF
25	depends on COMMON_CLK
26	select GENERIC_PHY
27	help
28	  Enable this driver to support the Qualcomm eDP PHY found in various
29	  Qualcomm chipsets.
30
31config PHY_QCOM_IPQ4019_USB
32	tristate "Qualcomm IPQ4019 USB PHY driver"
33	depends on OF && (ARCH_QCOM || COMPILE_TEST)
34	select GENERIC_PHY
35	help
36	  Support for the USB PHY-s on Qualcomm IPQ40xx SoC-s.
37
38config PHY_QCOM_IPQ806X_SATA
39	tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
40	depends on ARCH_QCOM
41	depends on HAS_IOMEM
42	depends on OF
43	select GENERIC_PHY
44
45config PHY_QCOM_PCIE2
46	tristate "Qualcomm PCIe Gen2 PHY Driver"
47	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
48	select GENERIC_PHY
49	help
50	  Enable this to support the Qualcomm PCIe PHY, used with the Synopsys
51	  based PCIe controller.
52
53menuconfig PHY_QCOM_QMP
54	tristate "Qualcomm QMP PHY Drivers"
55	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
56
57if PHY_QCOM_QMP
58
59config PHY_QCOM_QMP_COMBO
60	tristate "Qualcomm QMP Combo PHY Driver"
61	default PHY_QCOM_QMP
62	depends on TYPEC || TYPEC=n
63	depends on DRM || DRM=n
64	select GENERIC_PHY
65	select MFD_SYSCON
66	select DRM_AUX_BRIDGE if DRM_BRIDGE
67	help
68	  Enable this to support the QMP Combo PHY transceiver that is used
69	  with USB3 and DisplayPort controllers on Qualcomm chips.
70
71config PHY_QCOM_QMP_PCIE
72	tristate "Qualcomm QMP PCIe PHY Driver"
73	depends on PCI || COMPILE_TEST
74	select GENERIC_PHY
75	default PHY_QCOM_QMP
76	help
77	  Enable this to support the QMP PCIe PHY transceiver that is used
78	  with PCIe controllers on Qualcomm chips.
79
80config PHY_QCOM_QMP_PCIE_8996
81	tristate "Qualcomm QMP PCIe 8996 PHY Driver"
82	depends on PCI || COMPILE_TEST
83	select GENERIC_PHY
84	default PHY_QCOM_QMP
85	help
86	  Enable this to support the QMP PCIe PHY transceiver that is used
87	  with PCIe controllers on Qualcomm msm8996 chips.
88
89config PHY_QCOM_QMP_UFS
90	tristate "Qualcomm QMP UFS PHY Driver"
91	select GENERIC_PHY
92	default PHY_QCOM_QMP
93	help
94	  Enable this to support the QMP UFS PHY transceiver that is used
95	  with UFS controllers on Qualcomm chips.
96
97config PHY_QCOM_QMP_USB
98	tristate "Qualcomm QMP USB PHY Driver"
99	select GENERIC_PHY
100	default PHY_QCOM_QMP
101	help
102	  Enable this to support the QMP USB PHY transceiver that is used
103	  with USB3 controllers on Qualcomm chips.
104
105config PHY_QCOM_QMP_USB_LEGACY
106	tristate "Qualcomm QMP legacy USB PHY Driver"
107	select GENERIC_PHY
108	default n
109	help
110	  Enable this legacy driver to support the QMP USB+DisplayPort Combo
111	  PHY transceivers working only in USB3 mode on Qualcomm chips. This
112	  driver exists only for compatibility with older device trees,
113	  existing users have been migrated to PHY_QCOM_QMP_COMBO driver.
114
115endif # PHY_QCOM_QMP
116
117config PHY_QCOM_QUSB2
118	tristate "Qualcomm QUSB2 PHY Driver"
119	depends on OF && (ARCH_QCOM || COMPILE_TEST)
120	depends on NVMEM || !NVMEM
121	select GENERIC_PHY
122	help
123	  Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
124	  controllers on Qualcomm chips. This driver supports the high-speed
125	  PHY which is usually paired with either the ChipIdea or Synopsys DWC3
126	  USB IPs on MSM SOCs.
127
128config PHY_QCOM_SNPS_EUSB2
129	tristate "Qualcomm SNPS eUSB2 PHY Driver"
130	depends on OF && (ARCH_QCOM || COMPILE_TEST)
131	select GENERIC_PHY
132	help
133	  Enable support for the USB high-speed SNPS eUSB2 phy on Qualcomm
134	  chipsets. The PHY is paired with a Synopsys DWC3 USB controller
135	  on Qualcomm SOCs.
136
137config PHY_QCOM_EUSB2_REPEATER
138	tristate "Qualcomm SNPS eUSB2 Repeater Driver"
139	depends on OF && (ARCH_QCOM || COMPILE_TEST)
140	select GENERIC_PHY
141	help
142	  Enable support for the USB high-speed SNPS eUSB2 repeater on Qualcomm
143	  PMICs. The repeater is paired with a Synopsys eUSB2 Phy
144	  on Qualcomm SOCs.
145
146config PHY_QCOM_M31_USB
147	tristate "Qualcomm M31 HS PHY driver support"
148	depends on USB && (ARCH_QCOM || COMPILE_TEST)
149	select GENERIC_PHY
150	help
151	  Enable this to support M31 HS PHY transceivers on Qualcomm chips
152	  with DWC3 USB core. It handles PHY initialization, clock
153	  management required after resetting the hardware and power
154	  management. This driver is required even for peripheral only or
155	  host only mode configurations.
156
157config PHY_QCOM_UNIPHY_PCIE_28LP
158	bool "PCIE UNIPHY 28LP PHY driver"
159	depends on ARCH_QCOM
160	depends on COMMON_CLK
161	depends on HAS_IOMEM
162	depends on OF
163	select GENERIC_PHY
164	help
165	  Enable this to support the PCIe UNIPHY 28LP phy transceiver that
166	  is used with PCIe controllers on Qualcomm IPQ5332 chips. It
167	  handles PHY initialization, clock management required after
168	  resetting the hardware and power management.
169
170config PHY_QCOM_USB_HS
171	tristate "Qualcomm USB HS PHY module"
172	depends on USB_ULPI_BUS
173	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
174	select GENERIC_PHY
175	help
176	  Support for the USB high-speed ULPI compliant phy on Qualcomm
177	  chipsets.
178
179config PHY_QCOM_USB_SNPS_FEMTO_V2
180	tristate "Qualcomm SNPS FEMTO USB HS PHY V2 module"
181	depends on OF && (ARCH_QCOM || COMPILE_TEST)
182	select GENERIC_PHY
183	help
184	  Enable support for the USB high-speed SNPS Femto phy on Qualcomm
185	  chipsets.  This PHY has differences in the register map compared
186	  to the V1 variants.  The PHY is paired with a Synopsys DWC3 USB
187	  controller on Qualcomm SOCs.
188
189config PHY_QCOM_USB_HSIC
190	tristate "Qualcomm USB HSIC ULPI PHY module"
191	depends on USB_ULPI_BUS
192	select GENERIC_PHY
193	help
194	  Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
195
196config PHY_QCOM_USB_HS_28NM
197	tristate "Qualcomm 28nm High-Speed PHY"
198	depends on OF && (ARCH_QCOM || COMPILE_TEST)
199	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
200	select GENERIC_PHY
201	help
202	  Enable this to support the Qualcomm Synopsys DesignWare Core 28nm
203	  High-Speed PHY driver. This driver supports the Hi-Speed PHY which
204	  is usually paired with either the ChipIdea or Synopsys DWC3 USB
205	  IPs on MSM SOCs.
206
207config PHY_QCOM_USB_SS
208	tristate "Qualcomm USB Super-Speed PHY driver"
209	depends on OF && (ARCH_QCOM || COMPILE_TEST)
210	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
211	select GENERIC_PHY
212	help
213	  Enable this to support the Super-Speed USB transceiver on various
214	  Qualcomm chipsets.
215
216config PHY_QCOM_IPQ806X_USB
217	tristate "Qualcomm IPQ806x DWC3 USB PHY driver"
218	depends on HAS_IOMEM
219	depends on OF && (ARCH_QCOM || COMPILE_TEST)
220	select GENERIC_PHY
221	help
222	  This option enables support for the Synopsis PHYs present inside the
223	  Qualcomm USB3.0 DWC3 controller on ipq806x SoC. This driver supports
224	  both HS and SS PHY controllers.
225
226config PHY_QCOM_SGMII_ETH
227	tristate "Qualcomm DWMAC SGMII SerDes/PHY driver"
228	depends on OF && (ARCH_QCOM || COMPILE_TEST)
229	depends on HAS_IOMEM
230	select GENERIC_PHY
231	help
232	  Enable this to support the internal SerDes/SGMII PHY on various
233	  Qualcomm chipsets.
234