# 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_DPHY_RX
	tristate "Cadence D-PHY Rx Support"
	depends on HAS_IOMEM && OF
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	help
	  Support for Cadence D-PHY in Rx configuration.

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.
