diff options
author | Horatiu Vultur <horatiu.vultur@microchip.com> | 2023-02-08 14:44:06 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-02-10 09:29:52 +0300 |
commit | a136391ae4216a5713f9527c8a05e9364f059a31 (patch) | |
tree | d94f16677a1488fc69c81c6002e9453fa3208dbf | |
parent | 436396f26d502ada54281958db0a9f6fc12ff256 (diff) | |
download | linux-a136391ae4216a5713f9527c8a05e9364f059a31.tar.xz |
net: micrel: Cable Diagnostics feature for lan8841 PHY
Add support for cable diagnostics in lan8841 PHY. It has the same
registers layout as lan8814 PHY, therefore reuse the functionality.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230208114406.1666671-1-horatiu.vultur@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/phy/micrel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 01677c28e407..727de4f4a14d 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -378,6 +378,8 @@ static const struct kszphy_type lan8841_type = { .disable_dll_tx_bit = BIT(14), .disable_dll_rx_bit = BIT(14), .disable_dll_mask = BIT_MASK(14), + .cable_diag_reg = LAN8814_CABLE_DIAG, + .pair_mask = LAN8814_WIRE_PAIR_MASK, }; static int kszphy_extended_write(struct phy_device *phydev, @@ -3520,6 +3522,7 @@ static struct phy_driver ksphy_driver[] = { .phy_id = PHY_ID_LAN8841, .phy_id_mask = MICREL_PHY_ID_MASK, .name = "Microchip LAN8841 Gigabit PHY", + .flags = PHY_POLL_CABLE_TEST, .driver_data = &lan8841_type, .config_init = lan8841_config_init, .probe = lan8841_probe, @@ -3531,6 +3534,8 @@ static struct phy_driver ksphy_driver[] = { .get_stats = kszphy_get_stats, .suspend = genphy_suspend, .resume = genphy_resume, + .cable_test_start = lan8814_cable_test_start, + .cable_test_get_status = ksz886x_cable_test_get_status, }, { .phy_id = PHY_ID_KSZ9131, .phy_id_mask = MICREL_PHY_ID_MASK, |