#
# PHY drivers for Socionext platforms.
#

config PHY_UNIPHIER_USB2
	tristate "UniPhier USB2 PHY driver"
	depends on ARCH_UNIPHIER || COMPILE_TEST
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	select MFD_SYSCON
	help
	  Enable this to support USB PHY implemented on USB2 controller
	  on UniPhier SoCs. This driver provides interface to interact
	  with USB 2.0 PHY that is part of the UniPhier SoC.
	  In case of Pro4, it is necessary to specify this USB2 PHY instead
	  of USB3 HS-PHY.

config PHY_UNIPHIER_USB3
	tristate "UniPhier USB3 PHY driver"
	depends on ARCH_UNIPHIER || COMPILE_TEST
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support USB PHY implemented in USB3 controller
	  on UniPhier SoCs. This controller supports USB3.0 and lower speed.

config PHY_UNIPHIER_PCIE
	tristate "Uniphier PHY driver for PCIe controller"
	depends on ARCH_UNIPHIER || COMPILE_TEST
	depends on OF && HAS_IOMEM
	default PCIE_UNIPHIER
	select GENERIC_PHY
	help
	  Enable this to support PHY implemented in PCIe controller
	  on UniPhier SoCs. This driver supports LD20 and PXs3 SoCs.
