mirror of https://github.com/acidanthera/audk.git
EmbeddedPkg/Lan9118Dxe: add mask PCD to disable auto-negotiation features
Add a PCD to allow the platform to mask in/out specific features of the LAN9118 device advertised during auto-negotiation. For example, the Juno ARM Development Platform doesn't support full duplex mode. This PCD will allow the platform developer to prevent the full duplex modes from being advertised. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> [ardb: change default feature mask so that full duplex is disabled] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
parent
321151fedb
commit
6336850c91
|
@ -52,6 +52,7 @@
|
|||
gEmbeddedTokenSpaceGuid.PcdLan9118DxeBaseAddress
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118DefaultMacAddress
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118DefaultNegotiationTimeout
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118NegotiationFeatureMask
|
||||
|
||||
[Depex]
|
||||
TRUE
|
||||
|
|
|
@ -648,6 +648,7 @@ AutoNegotiate (
|
|||
Features &= ~(PHYANA_PAUSE_OP_MASK);
|
||||
Features |= 3 << 10;
|
||||
}
|
||||
Features &= FixedPcdGet32 (PcdLan9118NegotiationFeatureMask);
|
||||
|
||||
// Write the features
|
||||
IndirectPHYWrite32 (PHY_INDEX_AUTO_NEG_ADVERT, Features);
|
||||
|
|
|
@ -147,6 +147,9 @@
|
|||
gEmbeddedTokenSpaceGuid.PcdLan9118DxeBaseAddress|0x0|UINT32|0x00000025
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118DefaultMacAddress|0x0|UINT64|0x00000026
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118DefaultNegotiationTimeout|4000|UINT32|0x00000027
|
||||
# The default feature mask below disables full duplex negotiation, since full
|
||||
# duplex operation is suspected to be broken in the driver.
|
||||
gEmbeddedTokenSpaceGuid.PcdLan9118NegotiationFeatureMask|0xFFFFFEBF|UINT32|0x00000028
|
||||
|
||||
#
|
||||
# Android FastBoot
|
||||
|
|
Loading…
Reference in New Issue