#
# PHY
#

menu "PHY Subsystem"

config GENERIC_PHY
	tristate "PHY Core"
	help
	  Generic PHY support.

	  This framework is designed to provide a generic interface for PHY
	  devices present in the kernel. This layer will have the generic
	  API by which phy drivers can create PHY using the phy framework and
	  phy users can obtain reference to the PHY. All the users of this
	  framework should select this config.

config PHY_EXYNOS_MIPI_VIDEO
	tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
	help
	  Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
	  and EXYNOS SoCs.

config OMAP_USB2
	tristate "OMAP USB2 PHY Driver"
	depends on ARCH_OMAP2PLUS
	depends on USB_PHY
	select GENERIC_PHY
	select OMAP_CONTROL_USB
	help
	  Enable this to support the transceiver that is part of SOC. This
	  driver takes care of all the PHY functionality apart from comparator.
	  The USB OTG controller communicates with the comparator using this
	  driver.

config TWL4030_USB
	tristate "TWL4030 USB Transceiver Driver"
	depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
	depends on USB_PHY
	select GENERIC_PHY
	help
	  Enable this to support the USB OTG transceiver on TWL4030
	  family chips (including the TWL5030 and TPS659x0 devices).
	  This transceiver supports high and full speed devices plus,
	  in host mode, low speed.

config PHY_EXYNOS_DP_VIDEO
	tristate "EXYNOS SoC series Display Port PHY driver"
	depends on OF
	select GENERIC_PHY
	help
	  Support for Display Port PHY found on Samsung EXYNOS SoCs.

endmenu
