# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Rockchip platforms
#
config PHY_ROCKCHIP_DP
	tristate "Rockchip Display Port PHY Driver"
	depends on ARCH_ROCKCHIP && OF
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip Display Port PHY.

config PHY_ROCKCHIP_DPHY_RX0
	tristate "Rockchip MIPI Synopsys DPHY RX0 driver"
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	select GENERIC_PHY_MIPI_DPHY
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip MIPI Synopsys DPHY RX0
	  associated to the Rockchip ISP module present in RK3399 SoCs.

	  To compile this driver as a module, choose M here: the module
	  will be called phy-rockchip-dphy-rx0.

config PHY_ROCKCHIP_EMMC
	tristate "Rockchip EMMC PHY Driver"
	depends on ARCH_ROCKCHIP && OF
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip EMMC PHY.

config PHY_ROCKCHIP_INNO_HDMI
	tristate "Rockchip INNO HDMI PHY Driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
	depends on COMMON_CLK
	depends on HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip Innosilicon HDMI PHY.

config PHY_ROCKCHIP_INNO_USB2
	tristate "Rockchip INNO USB2PHY Driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
	depends on COMMON_CLK
	depends on EXTCON
	depends on USB_SUPPORT
	select GENERIC_PHY
	select USB_COMMON
	help
	  Support for Rockchip USB2.0 PHY with Innosilicon IP block.

config PHY_ROCKCHIP_INNO_CSIDPHY
	tristate "Rockchip Innosilicon MIPI CSI PHY driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	help
	  Enable this to support the Rockchip MIPI CSI PHY with
	  Innosilicon IP block.

config PHY_ROCKCHIP_INNO_DSIDPHY
	tristate "Rockchip Innosilicon MIPI/LVDS/TTL PHY driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	help
	  Enable this to support the Rockchip MIPI/LVDS/TTL PHY with
	  Innosilicon IP block.

config PHY_ROCKCHIP_NANENG_COMBO_PHY
	tristate "Rockchip NANENG COMBO PHY Driver"
	depends on ARCH_ROCKCHIP && OF
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip PCIe/USB3.0/SATA/QSGMII
	  combo PHY with NaNeng IP block.

config PHY_ROCKCHIP_PCIE
	tristate "Rockchip PCIe PHY Driver"
	depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
	depends on HAS_IOMEM
	select GENERIC_PHY
	select MFD_SYSCON
	help
	  Enable this to support the Rockchip PCIe PHY.

config PHY_ROCKCHIP_SAMSUNG_DCPHY
	tristate "Rockchip Samsung MIPI DCPHY driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST)
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	help
	  Enable this to support the Rockchip MIPI DCPHY with
	  Samsung IP block.

	  To compile this driver as a module, choose M here: the module
	  will be called phy-rockchip-samsung-dcphy

config PHY_ROCKCHIP_SAMSUNG_HDPTX
	tristate "Rockchip Samsung HDMI/eDP Combo PHY driver"
	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
	depends on COMMON_CLK
	depends on HAS_IOMEM
	select GENERIC_PHY
	select MFD_SYSCON
	select RATIONAL
	help
	  Enable this to support the Rockchip HDMI/eDP Combo PHY
	  with Samsung IP block.

config PHY_ROCKCHIP_SNPS_PCIE3
	tristate "Rockchip Snps PCIe3 PHY Driver"
	depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
	depends on HAS_IOMEM
	select GENERIC_PHY
	select MFD_SYSCON
	help
	  Enable this to support the Rockchip snps PCIe3 PHY.

config PHY_ROCKCHIP_TYPEC
	tristate "Rockchip TYPEC PHY Driver"
	depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
	select EXTCON
	select GENERIC_PHY
	select RESET_CONTROLLER
	help
	  Enable this to support the Rockchip USB TYPEC PHY.

config PHY_ROCKCHIP_USB
	tristate "Rockchip USB2 PHY Driver"
	depends on ARCH_ROCKCHIP && OF
	select GENERIC_PHY
	help
	  Enable this to support the Rockchip USB 2.0 PHY.

config PHY_ROCKCHIP_USBDP
	tristate "Rockchip USBDP COMBO PHY Driver"
	depends on ARCH_ROCKCHIP && OF
	depends on TYPEC
	select GENERIC_PHY
	select USB_COMMON
	help
	  Enable this to support the Rockchip USB3.0/DP combo PHY with
	  Samsung IP block. This is required for USB3 support on RK3588.

	  To compile this driver as a module, choose M here: the module
	  will be called phy-rockchip-usbdp
