# 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_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_USB_LGM_PHY)		+= phy-lgm-usb.o
obj-y					+= allwinner/	\
					   amlogic/	\
					   broadcom/	\
					   cadence/	\
					   freescale/	\
					   hisilicon/	\
					   intel/	\
					   lantiq/	\
					   marvell/	\
					   mediatek/	\
					   motorola/	\
					   mscc/	\
					   qualcomm/	\
					   ralink/	\
					   renesas/	\
					   rockchip/	\
					   samsung/	\
					   socionext/	\
					   st/		\
					   tegra/	\
					   ti/		\
					   xilinx/
