1# SPDX-License-Identifier: GPL-2.0
2# Makefile for Linux PHY drivers
3
4libphy-y			:= phy.o phy-c45.o phy-core.o phy_device.o \
5				   linkmode.o
6mdio-bus-y			+= mdio_bus.o mdio_device.o
7
8ifdef CONFIG_MDIO_DEVICE
9obj-y				+= mdio-boardinfo.o
10endif
11
12# PHYLIB implies MDIO_DEVICE, in that case, we have a bunch of circular
13# dependencies that does not make it possible to split mdio-bus objects into a
14# dedicated loadable module, so we bundle them all together into libphy.ko
15ifdef CONFIG_PHYLIB
16libphy-y			+= $(mdio-bus-y)
17# the stubs are built-in whenever PHYLIB is built-in or module
18obj-y				+= stubs.o
19else
20obj-$(CONFIG_MDIO_DEVICE)	+= mdio-bus.o
21endif
22obj-$(CONFIG_MDIO_DEVRES)	+= mdio_devres.o
23libphy-$(CONFIG_SWPHY)		+= swphy.o
24libphy-$(CONFIG_LED_TRIGGER_PHY)	+= phy_led_triggers.o
25
26obj-$(CONFIG_PHYLINK)		+= phylink.o
27obj-$(CONFIG_PHYLIB)		+= libphy.o
28
29obj-$(CONFIG_NETWORK_PHY_TIMESTAMPING) += mii_timestamper.o
30
31obj-$(CONFIG_SFP)		+= sfp.o
32sfp-obj-$(CONFIG_SFP)		+= sfp-bus.o
33obj-y				+= $(sfp-obj-y) $(sfp-obj-m)
34
35obj-$(CONFIG_ADIN_PHY)		+= adin.o
36obj-$(CONFIG_ADIN1100_PHY)	+= adin1100.o
37obj-$(CONFIG_AMD_PHY)		+= amd.o
38aquantia-objs			+= aquantia_main.o
39ifdef CONFIG_HWMON
40aquantia-objs			+= aquantia_hwmon.o
41endif
42obj-$(CONFIG_AQUANTIA_PHY)	+= aquantia.o
43obj-$(CONFIG_AT803X_PHY)	+= at803x.o
44obj-$(CONFIG_AX88796B_PHY)	+= ax88796b.o
45obj-$(CONFIG_BCM54140_PHY)	+= bcm54140.o
46obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o
47obj-$(CONFIG_BCM7XXX_PHY)	+= bcm7xxx.o
48obj-$(CONFIG_BCM84881_PHY)	+= bcm84881.o
49obj-$(CONFIG_BCM87XX_PHY)	+= bcm87xx.o
50obj-$(CONFIG_BCM_CYGNUS_PHY)	+= bcm-cygnus.o
51obj-$(CONFIG_BCM_NET_PHYLIB)	+= bcm-phy-lib.o
52obj-$(CONFIG_BCM_NET_PHYPTP)	+= bcm-phy-ptp.o
53obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
54obj-$(CONFIG_CICADA_PHY)	+= cicada.o
55obj-$(CONFIG_CORTINA_PHY)	+= cortina.o
56obj-$(CONFIG_DAVICOM_PHY)	+= davicom.o
57obj-$(CONFIG_DP83640_PHY)	+= dp83640.o
58obj-$(CONFIG_DP83822_PHY)	+= dp83822.o
59obj-$(CONFIG_DP83848_PHY)	+= dp83848.o
60obj-$(CONFIG_DP83867_PHY)	+= dp83867.o
61obj-$(CONFIG_DP83869_PHY)	+= dp83869.o
62obj-$(CONFIG_DP83TC811_PHY)	+= dp83tc811.o
63obj-$(CONFIG_DP83TD510_PHY)	+= dp83td510.o
64obj-$(CONFIG_FIXED_PHY)		+= fixed_phy.o
65obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
66obj-$(CONFIG_INTEL_XWAY_PHY)	+= intel-xway.o
67obj-$(CONFIG_LSI_ET1011C_PHY)	+= et1011c.o
68obj-$(CONFIG_LXT_PHY)		+= lxt.o
69obj-$(CONFIG_MARVELL_10G_PHY)	+= marvell10g.o
70obj-$(CONFIG_MARVELL_PHY)	+= marvell.o
71obj-$(CONFIG_MARVELL_88Q2XXX_PHY)	+= marvell-88q2xxx.o
72obj-$(CONFIG_MARVELL_88X2222_PHY)	+= marvell-88x2222.o
73obj-$(CONFIG_MAXLINEAR_GPHY)	+= mxl-gpy.o
74obj-$(CONFIG_MEDIATEK_GE_PHY)	+= mediatek-ge.o
75obj-$(CONFIG_MEDIATEK_GE_SOC_PHY)	+= mediatek-ge-soc.o
76obj-$(CONFIG_MESON_GXL_PHY)	+= meson-gxl.o
77obj-$(CONFIG_MICREL_KS8995MA)	+= spi_ks8995.o
78obj-$(CONFIG_MICREL_PHY)	+= micrel.o
79obj-$(CONFIG_MICROCHIP_PHY)	+= microchip.o
80obj-$(CONFIG_MICROCHIP_T1_PHY)	+= microchip_t1.o
81obj-$(CONFIG_MICROCHIP_T1S_PHY) += microchip_t1s.o
82obj-$(CONFIG_MICROSEMI_PHY)	+= mscc/
83obj-$(CONFIG_MOTORCOMM_PHY)	+= motorcomm.o
84obj-$(CONFIG_NATIONAL_PHY)	+= national.o
85obj-$(CONFIG_NCN26000_PHY)	+= ncn26000.o
86obj-$(CONFIG_NXP_C45_TJA11XX_PHY)	+= nxp-c45-tja11xx.o
87obj-$(CONFIG_NXP_CBTX_PHY)	+= nxp-cbtx.o
88obj-$(CONFIG_NXP_TJA11XX_PHY)	+= nxp-tja11xx.o
89obj-$(CONFIG_QSEMI_PHY)		+= qsemi.o
90obj-$(CONFIG_REALTEK_PHY)	+= realtek.o
91obj-$(CONFIG_RENESAS_PHY)	+= uPD60620.o
92obj-$(CONFIG_ROCKCHIP_PHY)	+= rockchip.o
93obj-$(CONFIG_SMSC_PHY)		+= smsc.o
94obj-$(CONFIG_STE10XP)		+= ste10Xp.o
95obj-$(CONFIG_TERANETICS_PHY)	+= teranetics.o
96obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
97obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o
98