# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Cadence PHYs
#

config PHY_CADENCE_TORRENT
	tristate "Cadence Torrent PHY driver"
	depends on OF
	depends on HAS_IOMEM
	depends on COMMON_CLK
	select GENERIC_PHY
	help
	  Support for Cadence Torrent PHY.

config PHY_CADENCE_DPHY
	tristate "Cadence D-PHY Support"
	depends on HAS_IOMEM && OF
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	help
	  Choose this option if you have a Cadence D-PHY in your
	  system. If M is selected, the module will be called
	  cdns-dphy.

config PHY_CADENCE_SIERRA
	tristate "Cadence Sierra PHY Driver"
	depends on OF && HAS_IOMEM && RESET_CONTROLLER
	depends on COMMON_CLK
	select GENERIC_PHY
	help
	  Enable this to support the Cadence Sierra PHY driver

config PHY_CADENCE_SALVO
	tristate "Cadence Salvo PHY Driver"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support the Cadence SALVO PHY driver,
	  this PHY is a legacy PHY, and only are used for USB3
	  and USB2.
