Message ID | 20240521101548.9286-2-SkyLake.Huang@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: phy: mediatek: Introduce mtk-phy-lib and add 2.5Gphy support | expand |
On Tue, May 21, 2024 at 06:15:44PM +0800, Sky Huang wrote: > From: "SkyLake.Huang" <skylake.huang@mediatek.com> > > Re-organize MediaTek ethernet phy driver files and get ready to integrate > some common functions and add new 2.5G phy driver. > mtk-ge.c: MT7530 Gphy on MT7621 & MT7531 Gphy > mtk-ge-soc.c: Built-in Gphy on MT7981 & Built-in switch Gphy on MT7988 > mtk-2p5ge.c: Planned for built-in 2.5G phy on MT7988 > > Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com> ... > diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig > index 1df0595..e0e4b5e 100644 > --- a/drivers/net/phy/Kconfig > +++ b/drivers/net/phy/Kconfig > @@ -251,22 +251,7 @@ config MAXLINEAR_GPHY > Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, > GPY241, GPY245 PHYs. > > -config MEDIATEK_GE_PHY > - tristate "MediaTek Gigabit Ethernet PHYs" > - help > - Supports the MediaTek Gigabit Ethernet PHYs. > - > -config MEDIATEK_GE_SOC_PHY > - tristate "MediaTek SoC Ethernet PHYs" > - depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST > - depends on NVMEM_MTK_EFUSE > - help > - Supports MediaTek SoC built-in Gigabit Ethernet PHYs. > - > - Include support for built-in Ethernet PHYs which are present in > - the MT7981 and MT7988 SoCs. These PHYs need calibration data > - present in the SoCs efuse and will dynamically calibrate VCM > - (common-mode voltage) during startup. > +source "drivers/net/phy/mediatek/Kconfig" > > config MICREL_PHY > tristate "Micrel PHYs" ... > diff --git a/drivers/net/phy/mediatek/Kconfig b/drivers/net/phy/mediatek/Kconfig > new file mode 100644 > index 0000000..2fa3a78 > --- /dev/null > +++ b/drivers/net/phy/mediatek/Kconfig > @@ -0,0 +1,22 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +config MEDIATEK_GE_PHY > + tristate "MediaTek Gigabit Ethernet PHYs" > + help > + Supports the MediaTek non-built-in Gigabit Ethernet PHYs. > + > + Non-built-in Gigabit Ethernet PHYs include mt7530/mt7531. > + You may find mt7530 inside mt7621. This driver shares some > + common operations with MediaTek SoC built-in Gigabit > + Ethernet PHYs. > + > +config MEDIATEK_GE_SOC_PHY > + bool "MediaTek SoC Ethernet PHYs" Hi, This patch changes this kconfig option from tristate to bool. This seems to break allmodconfig builds. I think that is because MEDIATEK_GE_SOC_PHY is builtin while PHYLIB is a module, and this driver uses symbols from PHYLIB. > + depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST > + select NVMEM_MTK_EFUSE > + help > + Supports MediaTek SoC built-in Gigabit Ethernet PHYs. > + > + Include support for built-in Ethernet PHYs which are present in > + the MT7981 and MT7988 SoCs. These PHYs need calibration data > + present in the SoCs efuse and will dynamically calibrate VCM > + (common-mode voltage) during startup. ...
On Tue, 2024-05-21 at 17:36 +0100, Simon Horman wrote: > > diff --git a/drivers/net/phy/mediatek/Kconfig > b/drivers/net/phy/mediatek/Kconfig > > new file mode 100644 > > index 0000000..2fa3a78 > > --- /dev/null > > +++ b/drivers/net/phy/mediatek/Kconfig > > @@ -0,0 +1,22 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > +config MEDIATEK_GE_PHY > > +tristate "MediaTek Gigabit Ethernet PHYs" > > +help > > + Supports the MediaTek non-built-in Gigabit Ethernet PHYs. > > + > > + Non-built-in Gigabit Ethernet PHYs include mt7530/mt7531. > > + You may find mt7530 inside mt7621. This driver shares some > > + common operations with MediaTek SoC built-in Gigabit > > + Ethernet PHYs. > > + > > +config MEDIATEK_GE_SOC_PHY > > +bool "MediaTek SoC Ethernet PHYs" > > Hi, > > This patch changes this kconfig option from tristate to bool. > > This seems to break allmodconfig builds. > > I think that is because MEDIATEK_GE_SOC_PHY is builtin while > PHYLIB is a module, and this driver uses symbols from PHYLIB. > Sorry this was my fault. I'll change it back to tristate in v5. Sky
diff --git a/MAINTAINERS b/MAINTAINERS index a4b0408..2dafc38 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13793,8 +13793,8 @@ M: Qingfang Deng <dqfext@gmail.com> M: SkyLake Huang <SkyLake.Huang@mediatek.com> L: netdev@vger.kernel.org S: Maintained -F: drivers/net/phy/mediatek-ge-soc.c -F: drivers/net/phy/mediatek-ge.c +F: drivers/net/phy/mediatek/mtk-ge-soc.c +F: drivers/net/phy/mediatek/mtk-ge.c MEDIATEK I2C CONTROLLER DRIVER M: Qii Wang <qii.wang@mediatek.com> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 1df0595..e0e4b5e 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -251,22 +251,7 @@ config MAXLINEAR_GPHY Support for the Maxlinear GPY115, GPY211, GPY212, GPY215, GPY241, GPY245 PHYs. -config MEDIATEK_GE_PHY - tristate "MediaTek Gigabit Ethernet PHYs" - help - Supports the MediaTek Gigabit Ethernet PHYs. - -config MEDIATEK_GE_SOC_PHY - tristate "MediaTek SoC Ethernet PHYs" - depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST - depends on NVMEM_MTK_EFUSE - help - Supports MediaTek SoC built-in Gigabit Ethernet PHYs. - - Include support for built-in Ethernet PHYs which are present in - the MT7981 and MT7988 SoCs. These PHYs need calibration data - present in the SoCs efuse and will dynamically calibrate VCM - (common-mode voltage) during startup. +source "drivers/net/phy/mediatek/Kconfig" config MICREL_PHY tristate "Micrel PHYs" diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile index 197acfa..de38cbf 100644 --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile @@ -71,8 +71,7 @@ obj-$(CONFIG_MARVELL_PHY) += marvell.o obj-$(CONFIG_MARVELL_88Q2XXX_PHY) += marvell-88q2xxx.o obj-$(CONFIG_MARVELL_88X2222_PHY) += marvell-88x2222.o obj-$(CONFIG_MAXLINEAR_GPHY) += mxl-gpy.o -obj-$(CONFIG_MEDIATEK_GE_PHY) += mediatek-ge.o -obj-$(CONFIG_MEDIATEK_GE_SOC_PHY) += mediatek-ge-soc.o +obj-y += mediatek/ obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o obj-$(CONFIG_MICREL_PHY) += micrel.o diff --git a/drivers/net/phy/mediatek/Kconfig b/drivers/net/phy/mediatek/Kconfig new file mode 100644 index 0000000..2fa3a78 --- /dev/null +++ b/drivers/net/phy/mediatek/Kconfig @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0-only +config MEDIATEK_GE_PHY + tristate "MediaTek Gigabit Ethernet PHYs" + help + Supports the MediaTek non-built-in Gigabit Ethernet PHYs. + + Non-built-in Gigabit Ethernet PHYs include mt7530/mt7531. + You may find mt7530 inside mt7621. This driver shares some + common operations with MediaTek SoC built-in Gigabit + Ethernet PHYs. + +config MEDIATEK_GE_SOC_PHY + bool "MediaTek SoC Ethernet PHYs" + depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST + select NVMEM_MTK_EFUSE + help + Supports MediaTek SoC built-in Gigabit Ethernet PHYs. + + Include support for built-in Ethernet PHYs which are present in + the MT7981 and MT7988 SoCs. These PHYs need calibration data + present in the SoCs efuse and will dynamically calibrate VCM + (common-mode voltage) during startup. diff --git a/drivers/net/phy/mediatek/Makefile b/drivers/net/phy/mediatek/Makefile new file mode 100644 index 0000000..005bde2 --- /dev/null +++ b/drivers/net/phy/mediatek/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_MEDIATEK_GE_PHY) += mtk-ge.o +obj-$(CONFIG_MEDIATEK_GE_SOC_PHY) += mtk-ge-soc.o diff --git a/drivers/net/phy/mediatek-ge-soc.c b/drivers/net/phy/mediatek/mtk-ge-soc.c similarity index 100% rename from drivers/net/phy/mediatek-ge-soc.c rename to drivers/net/phy/mediatek/mtk-ge-soc.c diff --git a/drivers/net/phy/mediatek-ge.c b/drivers/net/phy/mediatek/mtk-ge.c similarity index 100% rename from drivers/net/phy/mediatek-ge.c rename to drivers/net/phy/mediatek/mtk-ge.c