mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-05 05:15:02 +08:00
net: phy: add driver for MediaTek SoC built-in GE PHYs
Some of MediaTek's Filogic SoCs come with built-in gigabit Ethernet PHYs which require calibration data from the SoC's efuse. Despite the similar design the driver doesn't share any code with the existing mediatek-ge.c. Add support for such PHYs by introducing a new driver with basic support for MediaTek SoCs MT7981 and MT7988 built-in 1GE PHYs. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a89dc58703
commit
98c485eaf5
@ -13151,6 +13151,15 @@ S: Maintained
|
|||||||
F: drivers/net/pcs/pcs-mtk-lynxi.c
|
F: drivers/net/pcs/pcs-mtk-lynxi.c
|
||||||
F: include/linux/pcs/pcs-mtk-lynxi.h
|
F: include/linux/pcs/pcs-mtk-lynxi.h
|
||||||
|
|
||||||
|
MEDIATEK ETHERNET PHY DRIVERS
|
||||||
|
M: Daniel Golle <daniel@makrotopia.org>
|
||||||
|
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
|
||||||
|
|
||||||
MEDIATEK I2C CONTROLLER DRIVER
|
MEDIATEK I2C CONTROLLER DRIVER
|
||||||
M: Qii Wang <qii.wang@mediatek.com>
|
M: Qii Wang <qii.wang@mediatek.com>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
|
@ -236,6 +236,18 @@ config MEDIATEK_GE_PHY
|
|||||||
help
|
help
|
||||||
Supports the MediaTek Gigabit Ethernet PHYs.
|
Supports the MediaTek Gigabit Ethernet PHYs.
|
||||||
|
|
||||||
|
config MEDIATEK_GE_SOC_PHY
|
||||||
|
tristate "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.
|
||||||
|
|
||||||
config MICREL_PHY
|
config MICREL_PHY
|
||||||
tristate "Micrel PHYs"
|
tristate "Micrel PHYs"
|
||||||
depends on PTP_1588_CLOCK_OPTIONAL
|
depends on PTP_1588_CLOCK_OPTIONAL
|
||||||
|
@ -69,6 +69,7 @@ obj-$(CONFIG_MARVELL_PHY) += marvell.o
|
|||||||
obj-$(CONFIG_MARVELL_88X2222_PHY) += marvell-88x2222.o
|
obj-$(CONFIG_MARVELL_88X2222_PHY) += marvell-88x2222.o
|
||||||
obj-$(CONFIG_MAXLINEAR_GPHY) += mxl-gpy.o
|
obj-$(CONFIG_MAXLINEAR_GPHY) += mxl-gpy.o
|
||||||
obj-$(CONFIG_MEDIATEK_GE_PHY) += mediatek-ge.o
|
obj-$(CONFIG_MEDIATEK_GE_PHY) += mediatek-ge.o
|
||||||
|
obj-$(CONFIG_MEDIATEK_GE_SOC_PHY) += mediatek-ge-soc.o
|
||||||
obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o
|
obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o
|
||||||
obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o
|
obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o
|
||||||
obj-$(CONFIG_MICREL_PHY) += micrel.o
|
obj-$(CONFIG_MICREL_PHY) += micrel.o
|
||||||
|
1116
drivers/net/phy/mediatek-ge-soc.c
Normal file
1116
drivers/net/phy/mediatek-ge-soc.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -102,7 +102,8 @@ static struct phy_driver mtk_gephy_driver[] = {
|
|||||||
module_phy_driver(mtk_gephy_driver);
|
module_phy_driver(mtk_gephy_driver);
|
||||||
|
|
||||||
static struct mdio_device_id __maybe_unused mtk_gephy_tbl[] = {
|
static struct mdio_device_id __maybe_unused mtk_gephy_tbl[] = {
|
||||||
{ PHY_ID_MATCH_VENDOR(0x03a29400) },
|
{ PHY_ID_MATCH_EXACT(0x03a29441) },
|
||||||
|
{ PHY_ID_MATCH_EXACT(0x03a29412) },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user