aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2022-03-08 10:41:24 +0100
committerPetr Štetiar <ynezz@true.cz>2022-03-24 09:40:12 +0100
commitfdd862f9acb629624207ed7a41ab82624a5ef77f (patch)
tree26c4a325484de4ec6487350ed11d24a84c4cb2ea /target/linux
parent4910ffa8e9b335adc0910a33bae8fd7af37d7edf (diff)
downloadupstream-fdd862f9acb629624207ed7a41ab82624a5ef77f.tar.gz
upstream-fdd862f9acb629624207ed7a41ab82624a5ef77f.tar.bz2
upstream-fdd862f9acb629624207ed7a41ab82624a5ef77f.zip
sunxi: cortexa7: fix ethernet link detection on a20-olinuxino-lime2
a20-olinuxino-lime2 is currently having hard time with link detection of certain 1000Mbit partners due to usage of generic PHY driver, probably due to following missing workaround introduced in upstream in commit 3aed3e2a143c ("net: phy: micrel: add Asym Pause workaround"): The Micrel KSZ9031 PHY may fail to establish a link when the Asymmetric Pause capability is set. This issue is described in a Silicon Errata (DS80000691D or DS80000692D), which advises to always disable the capability. This patch implements the workaround by defining a KSZ9031 specific get_feature callback to force the Asymmetric Pause capability bit to be cleared. This fixes issues where the link would not come up at boot time, or when the Asym Pause bit was set later on. As a20-olinuxino-lime2 has Micrel KSZ9031RNXCC-TR Gigabit PHY since revision H, so we need to use Micrel PHY driver on those devices. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit ffa1088f63267f817a3adf34c84b8e8089b1a938)
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/sunxi/cortexa7/config-5.41
1 files changed, 1 insertions, 0 deletions
diff --git a/target/linux/sunxi/cortexa7/config-5.4 b/target/linux/sunxi/cortexa7/config-5.4
index 0b3697028f..cc56cc0e1b 100644
--- a/target/linux/sunxi/cortexa7/config-5.4
+++ b/target/linux/sunxi/cortexa7/config-5.4
@@ -7,6 +7,7 @@ CONFIG_DWMAC_SUN8I=y
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
CONFIG_MDIO_BUS_MUX=y
+CONFIG_MICREL_PHY=y
# CONFIG_PINCTRL_SUN50I_A64 is not set
# CONFIG_PINCTRL_SUN50I_A64_R is not set
# CONFIG_PINCTRL_SUN50I_H5 is not set