The LAN9118 features mask us used to enable/disable certain features advertised by the device during auto-negotiation.
Juno and TC2 do not support full duplex communication properly, causing intermittent failures, so we disable them using the mask.
The feature mask used is effectively: ~(PHYANA_10BASETFD | PHYANA_100BASETXFD);
The constants for the bit masks are defined here: EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeHw.h
Signed-off-by: Ryan Harkin ryan.harkin@linaro.org --- Platforms/ARM/Juno/ArmJuno.dsc | 1 + Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 1 + 2 files changed, 2 insertions(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index e3a675e..4a1fe10 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -132,6 +132,7 @@ gEmbeddedTokenSpaceGuid.PcdLan9118DxeBaseAddress|0x18000000 gEmbeddedTokenSpaceGuid.PcdLan9118DefaultMacAddress|0x1215161822242628 gEmbeddedTokenSpaceGuid.PcdLan9118DefaultNegotiationTimeout|40000 + gEmbeddedTokenSpaceGuid.PcdLan9118NegotiationFeatureMask|0xFFFFFEBF
# # ARM General Interrupt Controller diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index c6d0b13..c4e437f 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -170,6 +170,7 @@ # Ethernet (SMSC LAN9118) gEmbeddedTokenSpaceGuid.PcdLan9118DxeBaseAddress|0x1A000000 gEmbeddedTokenSpaceGuid.PcdLan9118DefaultNegotiationTimeout|400000 + gEmbeddedTokenSpaceGuid.PcdLan9118NegotiationFeatureMask|0xFFFFFEBF
# # Define the device path to the FDT for the platform