# 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-$(CONFIG_PHY_AIROHA_PCIE)		+= phy-airoha-pcie.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/	\
					   st/		\
					   starfive/	\
					   sunplus/	\
					   tegra/	\
					   ti/		\
					   xilinx/
