net: phy: marvell10g: add support for the 88x2110 PHY
This patch adds support for the 88x2110 PHY, which is similar to the already supported 88x3310 PHY without the SFP interface. It supports 10/100/1000BASET along with 2.5GBASET, 5GBASET and 10GBASET, with the same interface modes that are used by the 3310. This PHY don't have the same issue as the 88x3310 regarding 2.5/5G abilities, and correctly follows the 802.3bz standard to list the supported abilities. Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Suggested-by: Antoine Tenart <antoine.tenart@bootlin.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b38d198cfb
commit
62d0153547
|
@ -478,12 +478,25 @@ static struct phy_driver mv3310_drivers[] = {
|
||||||
.aneg_done = mv3310_aneg_done,
|
.aneg_done = mv3310_aneg_done,
|
||||||
.read_status = mv3310_read_status,
|
.read_status = mv3310_read_status,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.phy_id = MARVELL_PHY_ID_88E2110,
|
||||||
|
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||||
|
.name = "mv88x2110",
|
||||||
|
.features = PHY_10GBIT_FEATURES,
|
||||||
|
.probe = mv3310_probe,
|
||||||
|
.soft_reset = gen10g_no_soft_reset,
|
||||||
|
.config_init = mv3310_config_init,
|
||||||
|
.config_aneg = mv3310_config_aneg,
|
||||||
|
.aneg_done = mv3310_aneg_done,
|
||||||
|
.read_status = mv3310_read_status,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
module_phy_driver(mv3310_drivers);
|
module_phy_driver(mv3310_drivers);
|
||||||
|
|
||||||
static struct mdio_device_id __maybe_unused mv3310_tbl[] = {
|
static struct mdio_device_id __maybe_unused mv3310_tbl[] = {
|
||||||
{ MARVELL_PHY_ID_88X3310, MARVELL_PHY_ID_MASK },
|
{ MARVELL_PHY_ID_88X3310, MARVELL_PHY_ID_MASK },
|
||||||
|
{ MARVELL_PHY_ID_88E2110, MARVELL_PHY_ID_MASK },
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(mdio, mv3310_tbl);
|
MODULE_DEVICE_TABLE(mdio, mv3310_tbl);
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#define MARVELL_PHY_ID_88E1545 0x01410ea0
|
#define MARVELL_PHY_ID_88E1545 0x01410ea0
|
||||||
#define MARVELL_PHY_ID_88E3016 0x01410e60
|
#define MARVELL_PHY_ID_88E3016 0x01410e60
|
||||||
#define MARVELL_PHY_ID_88X3310 0x002b09a0
|
#define MARVELL_PHY_ID_88X3310 0x002b09a0
|
||||||
|
#define MARVELL_PHY_ID_88E2110 0x002b09b0
|
||||||
|
|
||||||
/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do
|
/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do
|
||||||
* not have a model ID. So the switch driver traps reads to the ID2
|
* not have a model ID. So the switch driver traps reads to the ID2
|
||||||
|
|
Loading…
Reference in New Issue