# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Qualcomm and Atheros platforms
#
config PHY_ATH79_USB
	tristate "Atheros AR71XX/9XXX USB PHY driver"
	depends on OF && (ATH79 || COMPILE_TEST)
	default y if USB_EHCI_HCD_PLATFORM || USB_OHCI_HCD_PLATFORM
	select RESET_CONTROLLER
	select GENERIC_PHY
	help
	  Enable this to support the USB PHY on Atheros AR71XX/9XXX SoCs.

config PHY_QCOM_APQ8064_SATA
	tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
	depends on ARCH_QCOM
	depends on HAS_IOMEM
	depends on OF
	select GENERIC_PHY

config PHY_QCOM_IPQ806X_SATA
	tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
	depends on ARCH_QCOM
	depends on HAS_IOMEM
	depends on OF
	select GENERIC_PHY

config PHY_QCOM_PCIE2
	tristate "Qualcomm PCIe Gen2 PHY Driver"
	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
	select GENERIC_PHY
	help
	  Enable this to support the Qualcomm PCIe PHY, used with the Synopsys
	  based PCIe controller.

config PHY_QCOM_QMP
	tristate "Qualcomm QMP PHY Driver"
	depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
	select GENERIC_PHY
	help
	  Enable this to support the QMP PHY transceiver that is used
	  with controllers such as PCIe, UFS, and USB on Qualcomm chips.

config PHY_QCOM_QUSB2
	tristate "Qualcomm QUSB2 PHY Driver"
	depends on OF && (ARCH_QCOM || COMPILE_TEST)
	depends on NVMEM || !NVMEM
	select GENERIC_PHY
	help
	  Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
	  controllers on Qualcomm chips. This driver supports the high-speed
	  PHY which is usually paired with either the ChipIdea or Synopsys DWC3
	  USB IPs on MSM SOCs.

config PHY_QCOM_UFS
	tristate "Qualcomm UFS PHY driver"
	depends on OF && ARCH_QCOM
	select GENERIC_PHY
	help
	  Support for UFS PHY on QCOM chipsets.

if PHY_QCOM_UFS

config PHY_QCOM_UFS_V3
	tristate
	default PHY_QCOM_UFS
	help
	  Support for 11nm UFS QMP phy present on QCOM chipsets.

config PHY_QCOM_UFS_V4
	tristate
	default PHY_QCOM_UFS
	help
	  Support for 7nm UFS QMP phy present on QCOM chipsets.

config PHY_QCOM_UFS_14NM
	tristate
	default PHY_QCOM_UFS
	help
	  Support for 14nm UFS QMP phy present on QCOM chipsets.

config PHY_QCOM_UFS_20NM
	tristate
	default PHY_QCOM_UFS
	depends on BROKEN
	help
	  Support for 20nm UFS QMP phy present on QCOM chipsets.

config PHY_QCOM_UFS_QRBTC_SDM845
	tristate "Qualcomm Technologies, Inc. UFS Presil Phy Driver"
	depends on PHY_QCOM_UFS && REGULATOR_STUB
	help
          Enable this to support UFS PHY on pre-silicon platforms.
	  The support is restricted to HS-G1 only on both Tx and Rx.
	  No low power mode support is present.
	  Doesn't restrict number of lanes.

config PHY_QCOM_UFS_V3
	tristate
	default PHY_QCOM_UFS
	help
	  Support for 8nm UFS QMP phy present on QCOM chipsets.

endif

config PHY_QCOM_USB_HS
	tristate "Qualcomm USB HS PHY module"
	depends on USB_ULPI_BUS
	depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
	select GENERIC_PHY
	help
	  Support for the USB high-speed ULPI compliant phy on Qualcomm
	  chipsets.

config PHY_QCOM_USB_HSIC
	tristate "Qualcomm USB HSIC ULPI PHY module"
	depends on USB_ULPI_BUS
	select GENERIC_PHY
	help
	  Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
