# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Marvell platforms
#
config ARMADA375_USBCLUSTER_PHY
	bool "Armada 375 USB cluster PHY support" if COMPILE_TEST
	default y if MACH_ARMADA_375
	depends on OF && HAS_IOMEM
	select GENERIC_PHY

config PHY_BERLIN_SATA
	tristate "Marvell Berlin SATA PHY driver"
	depends on ARCH_BERLIN || COMPILE_TEST
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support the SATA PHY on Marvell Berlin SoCs.

config PHY_BERLIN_USB
	tristate "Marvell Berlin USB PHY Driver"
	depends on ARCH_BERLIN || COMPILE_TEST
	depends on OF && HAS_IOMEM && RESET_CONTROLLER
	select GENERIC_PHY
	help
	  Enable this to support the USB PHY on Marvell Berlin SoCs.

config PHY_MVEBU_A3700_COMPHY
	tristate "Marvell A3700 comphy driver"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF
	depends on HAVE_ARM_SMCCC
	default y
	select GENERIC_PHY
	help
	  This driver allows to control the comphy, a hardware block providing
	  shared serdes PHYs on Marvell Armada 3700. Its serdes lanes can be
	  used by various controllers: Ethernet, SATA, USB3, PCIe.

config PHY_MVEBU_A3700_UTMI
	tristate "Marvell A3700 UTMI driver"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF
	default y
	select GENERIC_PHY
	help
	  Enable this to support Marvell A3700 UTMI PHY driver.

config PHY_MVEBU_A38X_COMPHY
	tristate "Marvell Armada 38x comphy driver"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF
	select GENERIC_PHY
	help
	  This driver allows to control the comphy, an hardware block providing
	  shared serdes PHYs on Marvell Armada 38x. Its serdes lanes can be
	  used by various controllers (Ethernet, sata, usb, PCIe...).

config PHY_MVEBU_CP110_COMPHY
	tristate "Marvell CP110 comphy driver"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF
	depends on HAVE_ARM_SMCCC
	select GENERIC_PHY
	help
	  This driver allows to control the comphy, an hardware block providing
	  shared serdes PHYs on Marvell Armada 7k/8k (in the CP110). Its serdes
	  lanes can be used by various controllers (Ethernet, sata, usb,
	  PCIe...).

config PHY_MVEBU_CP110_UTMI
	tristate "Marvell CP110 UTMI driver"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF && USB_COMMON
	select GENERIC_PHY
	help
	  Enable this to support Marvell CP110 UTMI PHY driver.

config PHY_MVEBU_SATA
	def_bool y
	depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
	depends on OF
	select GENERIC_PHY

config PHY_PXA_28NM_HSIC
	tristate "Marvell USB HSIC 28nm PHY Driver"
	depends on HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support Marvell USB HSIC PHY driver for Marvell
	  SoC. This driver will do the PHY initialization and shutdown.
	  The PHY driver will be used by Marvell ehci driver.

	  To compile this driver as a module, choose M here.

config PHY_PXA_28NM_USB2
	tristate "Marvell USB 2.0 28nm PHY Driver"
	depends on HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support Marvell USB 2.0 PHY driver for Marvell
	  SoC. This driver will do the PHY initialization and shutdown.
	  The PHY driver will be used by Marvell udc/ehci/otg driver.

	  To compile this driver as a module, choose M here.

config PHY_PXA_USB
	tristate "Marvell PXA USB PHY Driver"
	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
	select GENERIC_PHY
	help
	  Enable this to support Marvell PXA USB PHY driver for Marvell
	  SoC. This driver will do the PHY initialization and shutdown.
	  The PHY driver will be used by Marvell udc/ehci/otg driver.

	  To compile this driver as a module, choose M here.

config PHY_MMP3_USB
	tristate "Marvell MMP3 USB PHY Driver"
	depends on MACH_MMP3_DT || COMPILE_TEST
	select GENERIC_PHY
	help
	  Enable this to support Marvell MMP3 USB PHY driver for Marvell
	  SoC. This driver will do the PHY initialization and shutdown.
	  The PHY driver will be used by Marvell udc/ehci/otg driver.

	  To compile this driver as a module, choose M here.

config PHY_MMP3_HSIC
	tristate "Marvell MMP3 USB HSIC PHY Driver"
	depends on MACH_MMP3_DT || COMPILE_TEST
	select GENERIC_PHY
	help
	  Enable this to support Marvell MMP3 USB HSIC PHY driver for
	  Marvell MMP3 SoC. This driver will be used my the Marvell EHCI
	  driver to initialize the interface to internal USB HSIC
	  components on MMP3-based boards.

	  To compile this driver as a module, choose M here.