# SPDX-License-Identifier: GPL-2.0-only

if (ARCH_MXC && ARM64) || COMPILE_TEST

config PHY_FSL_IMX8MP_LVDS
	tristate "Freescale i.MX8MP LVDS PHY"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	select REGMAP
	help
	  Enable this to add support for the LVDS PHY as found
	  on NXP's i.MX8MP SoC.

config PHY_FSL_IMX8MQ_USB
	tristate "Freescale i.MX8M USB3 PHY"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	default ARCH_MXC && ARM64

config PHY_FSL_IMX9_DPHY_RX
       tristate "Freescale i.MX9 DPHY Rx"
       depends on OF && HAS_IOMEM
       select GENERIC_PHY
       select GENERIC_PHY_MIPI_DPHY
       select REGMAP_MMIO
       help
         Enable this to add support for the Synopsys DW DPHY Rx as found
         on NXP's i.MX9 family.

config PHY_FSL_IMX93_MIPI_DPHY
	tristate "Freescale i.MX93 MIPI DPHY"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	select REGMAP_MMIO
	help
	  Enable this to add support for the Synopsys DW MIPI DPHY as found
	  on NXP's i.MX93 SoC.

config PHY_MIXEL_LVDS_PHY
	tristate "Mixel LVDS PHY support"
	depends on OF
	select GENERIC_PHY
	select REGMAP_MMIO
	help
	  Enable this to add support for the Mixel LVDS PHY as found
	  on NXP's i.MX8qm SoC.

config PHY_MIXEL_MIPI_DPHY
	tristate "Mixel MIPI DSI PHY support"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	select GENERIC_PHY_MIPI_DPHY
	select REGMAP_MMIO
	help
	  Enable this to add support for the Mixel DSI PHY as found
	  on NXP's i.MX8 family of SOCs.

config PHY_FSL_IMX8M_PCIE
	tristate "Freescale i.MX8M PCIE PHY"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to add support for the PCIE PHY as found on
	  i.MX8M family of SOCs.

config PHY_FSL_IMX8Q_PCIE
	tristate "Freescale i.MX8Q PCIE PHY"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to add support for the PCIE PHY as found on
	  i.MX8Q family of SOCs.

endif

config PHY_FSL_LYNX_XGKR_ALGORITHM
	tristate
	help
	  Link training algorithm for copper backplane Ethernet (10GBase-KR,
	  25GBase-KR, 40GBase-KR4) on the Lynx SerDes PHY.

config PHY_FSL_LYNX_10G
	tristate "Freescale Layerscape Lynx 10G SerDes PHY support"
	depends on OF
	depends on ARCH_LAYERSCAPE || COMPILE_TEST
	select PHY_FSL_LYNX_XGKR_ALGORITHM
	select GENERIC_PHY
	select FSL_GUTS
	help
	  Enable this to add support for the Lynx 10G SerDes PHY as found on
	  NXP's Layerscape platform such as LS1088A or LS1028A.

config PHY_FSL_LYNX_28G
	tristate "Freescale Layerscape Lynx 28G SerDes PHY support"
	depends on OF
	depends on ARCH_LAYERSCAPE || COMPILE_TEST
	select PHY_FSL_LYNX_XGKR_ALGORITHM
	select GENERIC_PHY
	help
	  Enable this to add support for the Lynx SerDes 28G PHY as
	  found on NXP's Layerscape platforms such as LX2160A.
	  Used to change the protocol running on SerDes lanes at runtime.
	  Only useful for a restricted set of Ethernet protocols.

config PHY_SAMSUNG_HDMI_PHY
	tristate "Samsung HDMI PHY support"
	depends on OF && HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to add support for the Samsung HDMI PHY in iMX8MP.
