# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the phy drivers.
#

obj-$(CONFIG_GENERIC_PHY)		+= phy-core.o
obj-$(CONFIG_GENERIC_PHY_MIPI_DPHY)	+= phy-core-mipi-dphy.o
obj-$(CONFIG_PHY_CAN_TRANSCEIVER)	+= phy-can-transceiver.o
obj-$(CONFIG_PHY_LPC18XX_USB_OTG)	+= phy-lpc18xx-usb-otg.o
obj-$(CONFIG_PHY_XGENE)			+= phy-xgene.o
obj-$(CONFIG_PHY_PISTACHIO_USB)		+= phy-pistachio-usb.o
obj-$(CONFIG_PHY_SNPS_EUSB2)		+= phy-snps-eusb2.o
obj-$(CONFIG_USB_LGM_PHY)		+= phy-lgm-usb.o
obj-$(CONFIG_PHY_AIROHA_PCIE)		+= phy-airoha-pcie.o
obj-$(CONFIG_PHY_NXP_PTN3222)		+= phy-nxp-ptn3222.o
obj-y					+= allwinner/	\
					   amlogic/	\
					   broadcom/	\
					   cadence/	\
					   freescale/	\
					   hisilicon/	\
					   ingenic/	\
					   intel/	\
					   lantiq/	\
					   marvell/	\
					   mediatek/	\
					   microchip/	\
					   motorola/	\
					   mscc/	\
					   nuvoton/	\
					   qualcomm/	\
					   ralink/	\
					   realtek/	\
					   renesas/	\
					   rockchip/	\
					   samsung/	\
					   socionext/	\
					   sophgo/	\
					   st/		\
					   starfive/	\
					   sunplus/	\
					   tegra/	\
					   ti/		\
					   xilinx/
