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