diff options
| author | Bryan O'Donoghue <[email protected]> | 2020-03-26 03:54:01 +0000 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2020-06-12 13:17:23 -0400 |
| commit | baafd99d13931312ff3e2c1c75922d8a46222f7f (patch) | |
| tree | 2172cffc2477cc793128f02f5b9ebb3aad0b1c3c | |
| parent | 73d7aec0b1fdbd0681008b226e861127cd8e9ae6 (diff) | |
net: phy: micrel: ksz8061 implement errata 80000688A fix
Linux commit 232ba3a51cc2 ('net: phy: Micrel KSZ8061: link failure after
cable connect') implements a fix for the above errata.
This patch replicates that errata fix in an ksz8061 specific init routine.
Signed-off-by: Bryan O'Donoghue <[email protected]>
Acked-by: Joe Hershberger <[email protected]>
| -rw-r--r-- | drivers/net/phy/micrel_ksz8xxx.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/phy/micrel_ksz8xxx.c b/drivers/net/phy/micrel_ksz8xxx.c index 98a0c83e68b..60d42fe9840 100644 --- a/drivers/net/phy/micrel_ksz8xxx.c +++ b/drivers/net/phy/micrel_ksz8xxx.c @@ -82,6 +82,21 @@ static struct phy_driver KSZ8051_driver = { .shutdown = &genphy_shutdown, }; +static int ksz8061_config(struct phy_device *phydev) +{ + return phy_write(phydev, MDIO_MMD_PMAPMD, MDIO_DEVID1, 0xB61A); +} + +static struct phy_driver KSZ8061_driver = { + .name = "Micrel KSZ8061", + .uid = 0x00221570, + .mask = 0xfffff0, + .features = PHY_BASIC_FEATURES, + .config = &ksz8061_config, + .startup = &genphy_startup, + .shutdown = &genphy_shutdown, +}; + static int ksz8081_config(struct phy_device *phydev) { int ret; @@ -210,6 +225,7 @@ int phy_micrel_ksz8xxx_init(void) phy_register(&KSZ804_driver); phy_register(&KSZ8031_driver); phy_register(&KSZ8051_driver); + phy_register(&KSZ8061_driver); phy_register(&KSZ8081_driver); phy_register(&KS8721_driver); phy_register(&ksz8895_driver); |
