diff options
author | Lukasz Majewski <lukma@denx.de> | 2023-09-05 11:33:15 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-09-06 20:49:04 -0700 |
commit | 08c6d8bae48c2c28f7017d7b61b5d5a1518ceb39 (patch) | |
tree | 5938ec56a1d4777fbb51d3e0a371a6d37538d125 /include/linux/micrel_phy.h | |
parent | f16d411c290bd33b2a9d081406dffd124712483b (diff) | |
download | linux-08c6d8bae48c2c28f7017d7b61b5d5a1518ceb39.tar.gz linux-08c6d8bae48c2c28f7017d7b61b5d5a1518ceb39.tar.bz2 linux-08c6d8bae48c2c28f7017d7b61b5d5a1518ceb39.zip |
net: phy: Provide Module 4 KSZ9477 errata (DS80000754C)
The KSZ9477 errata points out (in 'Module 4') the link up/down problems
when EEE (Energy Efficient Ethernet) is enabled in the device to which
the KSZ9477 tries to auto negotiate.
The suggested workaround is to clear advertisement of EEE for PHYs in
this chip driver.
To avoid regressions with other switch ICs the new MICREL_NO_EEE flag
has been introduced.
Moreover, the in-register disablement of MMD_DEVICE_ID_EEE_ADV.MMD_EEE_ADV
MMD register is removed, as this code is both; now executed too late
(after previous rework of the PHY and DSA for KSZ switches) and not
required as setting all members of eee_broken_modes bit field prevents
the KSZ9477 from advertising EEE.
Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for KSZ9477
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Oleksij Rempel <o.rempel@pengutronix.de> # Confirmed disabled EEE with oscilloscope.
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20230905093315.784052-1-lukma@denx.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/micrel_phy.h')
-rw-r--r-- | include/linux/micrel_phy.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h index 322d87255984..4e27ca7c49de 100644 --- a/include/linux/micrel_phy.h +++ b/include/linux/micrel_phy.h @@ -44,6 +44,7 @@ #define MICREL_PHY_50MHZ_CLK BIT(0) #define MICREL_PHY_FXEN BIT(1) #define MICREL_KSZ8_P1_ERRATA BIT(2) +#define MICREL_NO_EEE BIT(3) #define MICREL_KSZ9021_EXTREG_CTRL 0xB #define MICREL_KSZ9021_EXTREG_DATA_WRITE 0xC |