# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Allwinner platforms
#
config PHY_SUN4I_USB
	tristate "Allwinner sunxi SoC USB PHY driver"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HAS_IOMEM
	depends on RESET_CONTROLLER
	depends on EXTCON
	depends on POWER_SUPPLY
	depends on USB_SUPPORT
	select GENERIC_PHY
	select USB_COMMON
	help
	  Enable this to support the transceiver that is part of Allwinner
	  sunxi SoCs.

	  This driver controls the entire USB PHY block, both the USB OTG
	  parts, as well as the 2 regular USB 2 host PHYs.

config PHY_SUN6I_MIPI_DPHY
	tristate "Allwinner A31 MIPI D-PHY Support"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HAS_IOMEM && COMMON_CLK
	depends on RESET_CONTROLLER
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	select REGMAP_MMIO
	help
	  Choose this option if you have an Allwinner SoC with
	  MIPI-DSI support. If M is selected, the module will be
	  called sun6i_mipi_dphy.

config PHY_SUN9I_USB
	tristate "Allwinner sun9i SoC USB PHY driver"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HAS_IOMEM
	depends on RESET_CONTROLLER
	depends on USB_SUPPORT
	select USB_COMMON
	select GENERIC_PHY
	help
	  Enable this to support the transceiver that is part of Allwinner
	  sun9i SoCs.

	  This driver controls each individual USB 2 host PHY.

config PHY_SUN50I_USB3
	tristate "Allwinner H6 SoC USB3 PHY driver"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HAS_IOMEM && OF
	depends on RESET_CONTROLLER
	select GENERIC_PHY
	help
	  Enable this to support the USB3.0-capable transceiver that is
	  part of Allwinner H6 SoC.

	  This driver controls each individual USB 2+3 host PHY combo.