# SPDX-License-Identifier: GPL-2.0-only
#
# Phy drivers for Broadcom platforms
#
menu "PHY drivers for Broadcom platforms"

config PHY_BCM63XX_USBH
	tristate "BCM63xx USBH PHY driver"
	depends on BMIPS_GENERIC || COMPILE_TEST
	select GENERIC_PHY
	help
	  Enable this to support the BCM63xx USBH PHY driver.
	  If unsure, say N.

config PHY_CYGNUS_PCIE
	tristate "Broadcom Cygnus PCIe PHY driver"
	depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
	select GENERIC_PHY
	default ARCH_BCM_CYGNUS
	help
	  Enable this to support the Broadcom Cygnus PCIe PHY.
	  If unsure, say N.

config PHY_BCM_SR_USB
	tristate "Broadcom Stingray USB PHY driver"
	depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST)
	select GENERIC_PHY
	default ARCH_BCM_IPROC
	help
	  Enable this to support the Broadcom Stingray USB PHY
	  driver. It supports all versions of Superspeed and
	  Highspeed PHYs.
	  If unsure, say N.

config BCM_KONA_USB2_PHY
	tristate "Broadcom Kona USB2 PHY Driver"
	depends on HAS_IOMEM
	select GENERIC_PHY
	help
	  Enable this to support the Broadcom Kona USB 2.0 PHY.

config PHY_BCM_NS_USB2
	tristate "Broadcom Northstar USB 2.0 PHY Driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	depends on HAS_IOMEM && OF
	select GENERIC_PHY
	help
	  Enable this to support Broadcom USB 2.0 PHY connected to the USB
	  controller on Northstar family.

config PHY_BCM_NS_USB3
	tristate "Broadcom Northstar USB 3.0 PHY Driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	depends on HAS_IOMEM && OF
	depends on MDIO_BUS
	select GENERIC_PHY
	help
	  Enable this to support Broadcom USB 3.0 PHY connected to the USB
	  controller on Northstar family.

config PHY_NS2_PCIE
	tristate "Broadcom Northstar2 PCIe PHY driver"
	depends on (OF && MDIO_BUS_MUX_BCM_IPROC) || (COMPILE_TEST && MDIO_BUS)
	select GENERIC_PHY
	default ARCH_BCM_IPROC
	help
	  Enable this to support the Broadcom Northstar2 PCIe PHY.
	  If unsure, say N.

config PHY_NS2_USB_DRD
	tristate "Broadcom Northstar2 USB DRD PHY support"
	depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST)
	select GENERIC_PHY
	select EXTCON
	default ARCH_BCM_IPROC
	help
	  Enable this to support the Broadcom Northstar2 USB DRD PHY.
	  This driver initializes the PHY in either HOST or DEVICE mode.
	  The host or device configuration is read from device tree.

	  If unsure, say N.

config PHY_BRCM_SATA
	tristate "Broadcom SATA PHY driver"
	depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || \
		   ARCH_BCMBCA || COMPILE_TEST
	depends on OF
	select GENERIC_PHY
	default ARCH_BCM_IPROC
	help
	  Enable this to support the Broadcom SATA PHY.
	  If unsure, say N.

config PHY_BRCM_USB
	tristate "Broadcom STB USB PHY driver"
	depends on ARCH_BCMBCA || ARCH_BRCMSTB || COMPILE_TEST
	depends on OF
	select GENERIC_PHY
	select SOC_BRCMSTB if ARCH_BRCMSTB
	default ARCH_BCMBCA || ARCH_BRCMSTB
	help
	  Enable this to support the Broadcom STB USB PHY.
	  This driver is required by the USB XHCI, EHCI and OHCI
	  drivers.
	  If unsure, say N.

config PHY_BCM_SR_PCIE
	tristate "Broadcom Stingray PCIe PHY driver"
	depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST)
	select GENERIC_PHY
	select MFD_SYSCON
	default ARCH_BCM_IPROC
	help
	  Enable this to support the Broadcom Stingray PCIe PHY
	  If unsure, say N.

endmenu