xref: /linux/drivers/net/phy/Makefile (revision be709d48329a500621d2a05835283150ae137b45)
1# SPDX-License-Identifier: GPL-2.0
2# Makefile for Linux PHY drivers and MDIO bus drivers
3
4libphy-y			:= phy.o phy-c45.o phy-core.o phy_device.o
5mdio-bus-y			+= mdio_bus.o mdio_device.o
6
7ifdef CONFIG_MDIO_DEVICE
8obj-y				+= mdio-boardinfo.o
9endif
10
11# PHYLIB implies MDIO_DEVICE, in that case, we have a bunch of circular
12# dependencies that does not make it possible to split mdio-bus objects into a
13# dedicated loadable module, so we bundle them all together into libphy.ko
14ifdef CONFIG_PHYLIB
15libphy-y			+= $(mdio-bus-y)
16else
17obj-$(CONFIG_MDIO_DEVICE)	+= mdio-bus.o
18endif
19libphy-$(CONFIG_SWPHY)		+= swphy.o
20libphy-$(CONFIG_LED_TRIGGER_PHY)	+= phy_led_triggers.o
21
22obj-$(CONFIG_PHYLINK)		+= phylink.o
23obj-$(CONFIG_PHYLIB)		+= libphy.o
24
25obj-$(CONFIG_MDIO_BCM_IPROC)	+= mdio-bcm-iproc.o
26obj-$(CONFIG_MDIO_BCM_UNIMAC)	+= mdio-bcm-unimac.o
27obj-$(CONFIG_MDIO_BITBANG)	+= mdio-bitbang.o
28obj-$(CONFIG_MDIO_BUS_MUX)	+= mdio-mux.o
29obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC)	+= mdio-mux-bcm-iproc.o
30obj-$(CONFIG_MDIO_BUS_MUX_GPIO)	+= mdio-mux-gpio.o
31obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
32obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o
33obj-$(CONFIG_MDIO_CAVIUM)	+= mdio-cavium.o
34obj-$(CONFIG_MDIO_GPIO)		+= mdio-gpio.o
35obj-$(CONFIG_MDIO_HISI_FEMAC)	+= mdio-hisi-femac.o
36obj-$(CONFIG_MDIO_I2C)		+= mdio-i2c.o
37obj-$(CONFIG_MDIO_MOXART)	+= mdio-moxart.o
38obj-$(CONFIG_MDIO_MSCC_MIIM)	+= mdio-mscc-miim.o
39obj-$(CONFIG_MDIO_OCTEON)	+= mdio-octeon.o
40obj-$(CONFIG_MDIO_SUN4I)	+= mdio-sun4i.o
41obj-$(CONFIG_MDIO_THUNDER)	+= mdio-thunder.o
42obj-$(CONFIG_MDIO_XGENE)	+= mdio-xgene.o
43
44obj-$(CONFIG_SFP)		+= sfp.o
45sfp-obj-$(CONFIG_SFP)		+= sfp-bus.o
46obj-y				+= $(sfp-obj-y) $(sfp-obj-m)
47
48obj-$(CONFIG_AMD_PHY)		+= amd.o
49aquantia-objs			+= aquantia_main.o
50ifdef CONFIG_HWMON
51aquantia-objs			+= aquantia_hwmon.o
52endif
53obj-$(CONFIG_AQUANTIA_PHY)	+= aquantia.o
54obj-$(CONFIG_ASIX_PHY)		+= asix.o
55obj-$(CONFIG_AT803X_PHY)	+= at803x.o
56obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o
57obj-$(CONFIG_BCM7XXX_PHY)	+= bcm7xxx.o
58obj-$(CONFIG_BCM87XX_PHY)	+= bcm87xx.o
59obj-$(CONFIG_BCM_CYGNUS_PHY)	+= bcm-cygnus.o
60obj-$(CONFIG_BCM_NET_PHYLIB)	+= bcm-phy-lib.o
61obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
62obj-$(CONFIG_CICADA_PHY)	+= cicada.o
63obj-$(CONFIG_CORTINA_PHY)	+= cortina.o
64obj-$(CONFIG_DAVICOM_PHY)	+= davicom.o
65obj-$(CONFIG_DP83640_PHY)	+= dp83640.o
66obj-$(CONFIG_DP83822_PHY)	+= dp83822.o
67obj-$(CONFIG_DP83TC811_PHY)	+= dp83tc811.o
68obj-$(CONFIG_DP83848_PHY)	+= dp83848.o
69obj-$(CONFIG_DP83867_PHY)	+= dp83867.o
70obj-$(CONFIG_FIXED_PHY)		+= fixed_phy.o
71obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
72obj-$(CONFIG_INTEL_XWAY_PHY)	+= intel-xway.o
73obj-$(CONFIG_LSI_ET1011C_PHY)	+= et1011c.o
74obj-$(CONFIG_LXT_PHY)		+= lxt.o
75obj-$(CONFIG_MARVELL_PHY)	+= marvell.o
76obj-$(CONFIG_MARVELL_10G_PHY)	+= marvell10g.o
77obj-$(CONFIG_MESON_GXL_PHY)	+= meson-gxl.o
78obj-$(CONFIG_MICREL_KS8995MA)	+= spi_ks8995.o
79obj-$(CONFIG_MICREL_PHY)	+= micrel.o
80obj-$(CONFIG_MICROCHIP_PHY)	+= microchip.o
81obj-$(CONFIG_MICROCHIP_T1_PHY)	+= microchip_t1.o
82obj-$(CONFIG_MICROSEMI_PHY)	+= mscc.o
83obj-$(CONFIG_NATIONAL_PHY)	+= national.o
84obj-$(CONFIG_QSEMI_PHY)		+= qsemi.o
85obj-$(CONFIG_REALTEK_PHY)	+= realtek.o
86obj-$(CONFIG_RENESAS_PHY)	+= uPD60620.o
87obj-$(CONFIG_ROCKCHIP_PHY)	+= rockchip.o
88obj-$(CONFIG_SMSC_PHY)		+= smsc.o
89obj-$(CONFIG_STE10XP)		+= ste10Xp.o
90obj-$(CONFIG_TERANETICS_PHY)	+= teranetics.o
91obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
92obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o
93