162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Phy drivers for Qualcomm and Atheros platforms
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ciconfig PHY_ATH79_USB
662306a36Sopenharmony_ci	tristate "Atheros AR71XX/9XXX USB PHY driver"
762306a36Sopenharmony_ci	depends on OF && (ATH79 || COMPILE_TEST)
862306a36Sopenharmony_ci	default y if USB_EHCI_HCD_PLATFORM || USB_OHCI_HCD_PLATFORM
962306a36Sopenharmony_ci	select RESET_CONTROLLER
1062306a36Sopenharmony_ci	select GENERIC_PHY
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  Enable this to support the USB PHY on Atheros AR71XX/9XXX SoCs.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig PHY_QCOM_APQ8064_SATA
1562306a36Sopenharmony_ci	tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
1662306a36Sopenharmony_ci	depends on ARCH_QCOM
1762306a36Sopenharmony_ci	depends on HAS_IOMEM
1862306a36Sopenharmony_ci	depends on OF
1962306a36Sopenharmony_ci	select GENERIC_PHY
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig PHY_QCOM_EDP
2262306a36Sopenharmony_ci	tristate "Qualcomm eDP PHY driver"
2362306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
2462306a36Sopenharmony_ci	depends on OF
2562306a36Sopenharmony_ci	depends on COMMON_CLK
2662306a36Sopenharmony_ci	select GENERIC_PHY
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  Enable this driver to support the Qualcomm eDP PHY found in various
2962306a36Sopenharmony_ci	  Qualcomm chipsets.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig PHY_QCOM_IPQ4019_USB
3262306a36Sopenharmony_ci	tristate "Qualcomm IPQ4019 USB PHY driver"
3362306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
3462306a36Sopenharmony_ci	select GENERIC_PHY
3562306a36Sopenharmony_ci	help
3662306a36Sopenharmony_ci	  Support for the USB PHY-s on Qualcomm IPQ40xx SoC-s.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig PHY_QCOM_IPQ806X_SATA
3962306a36Sopenharmony_ci	tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
4062306a36Sopenharmony_ci	depends on ARCH_QCOM
4162306a36Sopenharmony_ci	depends on HAS_IOMEM
4262306a36Sopenharmony_ci	depends on OF
4362306a36Sopenharmony_ci	select GENERIC_PHY
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig PHY_QCOM_PCIE2
4662306a36Sopenharmony_ci	tristate "Qualcomm PCIe Gen2 PHY Driver"
4762306a36Sopenharmony_ci	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
4862306a36Sopenharmony_ci	select GENERIC_PHY
4962306a36Sopenharmony_ci	help
5062306a36Sopenharmony_ci	  Enable this to support the Qualcomm PCIe PHY, used with the Synopsys
5162306a36Sopenharmony_ci	  based PCIe controller.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_cimenuconfig PHY_QCOM_QMP
5462306a36Sopenharmony_ci	tristate "Qualcomm QMP PHY Drivers"
5562306a36Sopenharmony_ci	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciif PHY_QCOM_QMP
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig PHY_QCOM_QMP_COMBO
6062306a36Sopenharmony_ci	tristate "Qualcomm QMP Combo PHY Driver"
6162306a36Sopenharmony_ci	default PHY_QCOM_QMP
6262306a36Sopenharmony_ci	depends on TYPEC || TYPEC=n
6362306a36Sopenharmony_ci	depends on DRM || DRM=n
6462306a36Sopenharmony_ci	select GENERIC_PHY
6562306a36Sopenharmony_ci	select MFD_SYSCON
6662306a36Sopenharmony_ci	select DRM_PANEL_BRIDGE if DRM
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  Enable this to support the QMP Combo PHY transceiver that is used
6962306a36Sopenharmony_ci	  with USB3 and DisplayPort controllers on Qualcomm chips.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig PHY_QCOM_QMP_PCIE
7262306a36Sopenharmony_ci	tristate "Qualcomm QMP PCIe PHY Driver"
7362306a36Sopenharmony_ci	depends on PCI || COMPILE_TEST
7462306a36Sopenharmony_ci	select GENERIC_PHY
7562306a36Sopenharmony_ci	default PHY_QCOM_QMP
7662306a36Sopenharmony_ci	help
7762306a36Sopenharmony_ci	  Enable this to support the QMP PCIe PHY transceiver that is used
7862306a36Sopenharmony_ci	  with PCIe controllers on Qualcomm chips.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig PHY_QCOM_QMP_PCIE_8996
8162306a36Sopenharmony_ci	tristate "Qualcomm QMP PCIe 8996 PHY Driver"
8262306a36Sopenharmony_ci	depends on PCI || COMPILE_TEST
8362306a36Sopenharmony_ci	select GENERIC_PHY
8462306a36Sopenharmony_ci	default PHY_QCOM_QMP
8562306a36Sopenharmony_ci	help
8662306a36Sopenharmony_ci	  Enable this to support the QMP PCIe PHY transceiver that is used
8762306a36Sopenharmony_ci	  with PCIe controllers on Qualcomm msm8996 chips.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig PHY_QCOM_QMP_UFS
9062306a36Sopenharmony_ci	tristate "Qualcomm QMP UFS PHY Driver"
9162306a36Sopenharmony_ci	select GENERIC_PHY
9262306a36Sopenharmony_ci	default PHY_QCOM_QMP
9362306a36Sopenharmony_ci	help
9462306a36Sopenharmony_ci	  Enable this to support the QMP UFS PHY transceiver that is used
9562306a36Sopenharmony_ci	  with UFS controllers on Qualcomm chips.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig PHY_QCOM_QMP_USB
9862306a36Sopenharmony_ci	tristate "Qualcomm QMP USB PHY Driver"
9962306a36Sopenharmony_ci	select GENERIC_PHY
10062306a36Sopenharmony_ci	default PHY_QCOM_QMP
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  Enable this to support the QMP USB PHY transceiver that is used
10362306a36Sopenharmony_ci	  with USB3 controllers on Qualcomm chips.
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciconfig PHY_QCOM_QMP_USB_LEGACY
10662306a36Sopenharmony_ci	tristate "Qualcomm QMP legacy USB PHY Driver"
10762306a36Sopenharmony_ci	select GENERIC_PHY
10862306a36Sopenharmony_ci	default n
10962306a36Sopenharmony_ci	help
11062306a36Sopenharmony_ci	  Enable this legacy driver to support the QMP USB+DisplayPort Combo
11162306a36Sopenharmony_ci	  PHY transceivers working only in USB3 mode on Qualcomm chips. This
11262306a36Sopenharmony_ci	  driver exists only for compatibility with older device trees,
11362306a36Sopenharmony_ci	  existing users have been migrated to PHY_QCOM_QMP_COMBO driver.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciendif # PHY_QCOM_QMP
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ciconfig PHY_QCOM_QUSB2
11862306a36Sopenharmony_ci	tristate "Qualcomm QUSB2 PHY Driver"
11962306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
12062306a36Sopenharmony_ci	depends on NVMEM || !NVMEM
12162306a36Sopenharmony_ci	select GENERIC_PHY
12262306a36Sopenharmony_ci	help
12362306a36Sopenharmony_ci	  Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
12462306a36Sopenharmony_ci	  controllers on Qualcomm chips. This driver supports the high-speed
12562306a36Sopenharmony_ci	  PHY which is usually paired with either the ChipIdea or Synopsys DWC3
12662306a36Sopenharmony_ci	  USB IPs on MSM SOCs.
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ciconfig PHY_QCOM_SNPS_EUSB2
12962306a36Sopenharmony_ci	tristate "Qualcomm SNPS eUSB2 PHY Driver"
13062306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
13162306a36Sopenharmony_ci	select GENERIC_PHY
13262306a36Sopenharmony_ci	help
13362306a36Sopenharmony_ci	  Enable support for the USB high-speed SNPS eUSB2 phy on Qualcomm
13462306a36Sopenharmony_ci	  chipsets. The PHY is paired with a Synopsys DWC3 USB controller
13562306a36Sopenharmony_ci	  on Qualcomm SOCs.
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciconfig PHY_QCOM_EUSB2_REPEATER
13862306a36Sopenharmony_ci	tristate "Qualcomm SNPS eUSB2 Repeater Driver"
13962306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
14062306a36Sopenharmony_ci	select GENERIC_PHY
14162306a36Sopenharmony_ci	help
14262306a36Sopenharmony_ci	  Enable support for the USB high-speed SNPS eUSB2 repeater on Qualcomm
14362306a36Sopenharmony_ci	  PMICs. The repeater is paired with a Synopsys eUSB2 Phy
14462306a36Sopenharmony_ci	  on Qualcomm SOCs.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig PHY_QCOM_M31_USB
14762306a36Sopenharmony_ci	tristate "Qualcomm M31 HS PHY driver support"
14862306a36Sopenharmony_ci	depends on USB && (ARCH_QCOM || COMPILE_TEST)
14962306a36Sopenharmony_ci	select GENERIC_PHY
15062306a36Sopenharmony_ci	help
15162306a36Sopenharmony_ci	  Enable this to support M31 HS PHY transceivers on Qualcomm chips
15262306a36Sopenharmony_ci	  with DWC3 USB core. It handles PHY initialization, clock
15362306a36Sopenharmony_ci	  management required after resetting the hardware and power
15462306a36Sopenharmony_ci	  management. This driver is required even for peripheral only or
15562306a36Sopenharmony_ci	  host only mode configurations.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ciconfig PHY_QCOM_USB_HS
15862306a36Sopenharmony_ci	tristate "Qualcomm USB HS PHY module"
15962306a36Sopenharmony_ci	depends on USB_ULPI_BUS
16062306a36Sopenharmony_ci	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
16162306a36Sopenharmony_ci	select GENERIC_PHY
16262306a36Sopenharmony_ci	help
16362306a36Sopenharmony_ci	  Support for the USB high-speed ULPI compliant phy on Qualcomm
16462306a36Sopenharmony_ci	  chipsets.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig PHY_QCOM_USB_SNPS_FEMTO_V2
16762306a36Sopenharmony_ci	tristate "Qualcomm SNPS FEMTO USB HS PHY V2 module"
16862306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
16962306a36Sopenharmony_ci	select GENERIC_PHY
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  Enable support for the USB high-speed SNPS Femto phy on Qualcomm
17262306a36Sopenharmony_ci	  chipsets.  This PHY has differences in the register map compared
17362306a36Sopenharmony_ci	  to the V1 variants.  The PHY is paired with a Synopsys DWC3 USB
17462306a36Sopenharmony_ci	  controller on Qualcomm SOCs.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig PHY_QCOM_USB_HSIC
17762306a36Sopenharmony_ci	tristate "Qualcomm USB HSIC ULPI PHY module"
17862306a36Sopenharmony_ci	depends on USB_ULPI_BUS
17962306a36Sopenharmony_ci	select GENERIC_PHY
18062306a36Sopenharmony_ci	help
18162306a36Sopenharmony_ci	  Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig PHY_QCOM_USB_HS_28NM
18462306a36Sopenharmony_ci	tristate "Qualcomm 28nm High-Speed PHY"
18562306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
18662306a36Sopenharmony_ci	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
18762306a36Sopenharmony_ci	select GENERIC_PHY
18862306a36Sopenharmony_ci	help
18962306a36Sopenharmony_ci	  Enable this to support the Qualcomm Synopsys DesignWare Core 28nm
19062306a36Sopenharmony_ci	  High-Speed PHY driver. This driver supports the Hi-Speed PHY which
19162306a36Sopenharmony_ci	  is usually paired with either the ChipIdea or Synopsys DWC3 USB
19262306a36Sopenharmony_ci	  IPs on MSM SOCs.
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciconfig PHY_QCOM_USB_SS
19562306a36Sopenharmony_ci	tristate "Qualcomm USB Super-Speed PHY driver"
19662306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
19762306a36Sopenharmony_ci	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
19862306a36Sopenharmony_ci	select GENERIC_PHY
19962306a36Sopenharmony_ci	help
20062306a36Sopenharmony_ci	  Enable this to support the Super-Speed USB transceiver on various
20162306a36Sopenharmony_ci	  Qualcomm chipsets.
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ciconfig PHY_QCOM_IPQ806X_USB
20462306a36Sopenharmony_ci	tristate "Qualcomm IPQ806x DWC3 USB PHY driver"
20562306a36Sopenharmony_ci	depends on HAS_IOMEM
20662306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
20762306a36Sopenharmony_ci	select GENERIC_PHY
20862306a36Sopenharmony_ci	help
20962306a36Sopenharmony_ci	  This option enables support for the Synopsis PHYs present inside the
21062306a36Sopenharmony_ci	  Qualcomm USB3.0 DWC3 controller on ipq806x SoC. This driver supports
21162306a36Sopenharmony_ci	  both HS and SS PHY controllers.
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ciconfig PHY_QCOM_SGMII_ETH
21462306a36Sopenharmony_ci	tristate "Qualcomm DWMAC SGMII SerDes/PHY driver"
21562306a36Sopenharmony_ci	depends on OF && (ARCH_QCOM || COMPILE_TEST)
21662306a36Sopenharmony_ci	depends on HAS_IOMEM
21762306a36Sopenharmony_ci	select GENERIC_PHY
21862306a36Sopenharmony_ci	help
21962306a36Sopenharmony_ci	  Enable this to support the internal SerDes/SGMII PHY on various
22062306a36Sopenharmony_ci	  Qualcomm chipsets.
221