Platforms/Marvell: Enable Pp2Dxe driver on Armada70x0 platform

Armada 7040 development board comprise three different ports:
eth0: SFP cage with fixed link to 1G
eth1: Optional 8-port switch with fixed link to 2.5G
eth2: 1G RGMII port with autonegotiation enabled

This change also required MPP setting modification.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bartosz Szczepanek <bsz@semihalf.com>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
diff --git a/Platforms/Marvell/Armada/Armada.dsc.inc b/Platforms/Marvell/Armada/Armada.dsc.inc
index 1d440bc..76c5d6d 100644
--- a/Platforms/Marvell/Armada/Armada.dsc.inc
+++ b/Platforms/Marvell/Armada/Armada.dsc.inc
@@ -405,6 +405,7 @@
   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf

   OpenPlatformPkg/Drivers/Net/MvMdioDxe/MvMdioDxe.inf

   OpenPlatformPkg/Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.inf

+  OpenPlatformPkg/Drivers/Net/Pp2Dxe/Pp2Dxe.inf

 

   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf

   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf

diff --git a/Platforms/Marvell/Armada/Armada70x0.dsc b/Platforms/Marvell/Armada/Armada70x0.dsc
index de314b9..2f2b278 100644
--- a/Platforms/Marvell/Armada/Armada70x0.dsc
+++ b/Platforms/Marvell/Armada/Armada70x0.dsc
@@ -119,10 +119,26 @@
   gMarvellTokenSpaceGuid.PcdMdioBaseAddress|0xF212A200

 

   #PHY

-  gMarvellTokenSpaceGuid.PcdPhyConnectionTypes|{ 0x0, 0x0 }

+  gMarvellTokenSpaceGuid.PcdPhyConnectionTypes|{ 0x4, 0x4, 0x0 }

   gMarvellTokenSpaceGuid.PcdPhyDeviceIds|{ 0x0, 0x0 }

   gMarvellTokenSpaceGuid.PcdPhyStartupAutoneg|FALSE

 

+  #NET

+  gMarvellTokenSpaceGuid.PcdPhySmiAddresses|{ 0xff, 0x0, 0x1 }

+  gMarvellTokenSpaceGuid.PcdPp2ClockFrequency|333333333

+  gMarvellTokenSpaceGuid.PcdPp2GmacBaseAddress|0xf2130e00

+  gMarvellTokenSpaceGuid.PcdPp2GmacDevSize|0x1000

+  gMarvellTokenSpaceGuid.PcdPp2GopIndexes|{ 0x0, 0x2, 0x3 }

+  gMarvellTokenSpaceGuid.PcdPp2InterfaceAlwaysUp|{ 0x1, 0x1, 0x0 }

+  gMarvellTokenSpaceGuid.PcdPp2InterfaceSpeed|{ 0x3, 0x4, 0x3 }

+  gMarvellTokenSpaceGuid.PcdPp2NumPorts|3

+  gMarvellTokenSpaceGuid.PcdPp2PortIds|{ 0x0, 0x1, 0x2 }

+  gMarvellTokenSpaceGuid.PcdPp2Rfu1BaseAddress|0xf2441000

+  gMarvellTokenSpaceGuid.PcdPp2SharedAddress|0xf2000000

+  gMarvellTokenSpaceGuid.PcdPp2SmiBaseAddress|0xf212A200

+  gMarvellTokenSpaceGuid.PcdPp2XlgBaseAddress|0xf2130f00

+  gMarvellTokenSpaceGuid.PcdPp2XlgDevSize|0x1000

+

   #ResetLib

   gMarvellTokenSpaceGuid.PcdResetRegAddress|0xf06f0084

   gMarvellTokenSpaceGuid.PcdResetRegMask|0x1

diff --git a/Platforms/Marvell/Armada/Armada70x0.fdf b/Platforms/Marvell/Armada/Armada70x0.fdf
index c56d4e3..64c3440 100644
--- a/Platforms/Marvell/Armada/Armada70x0.fdf
+++ b/Platforms/Marvell/Armada/Armada70x0.fdf
@@ -121,6 +121,7 @@
   INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf

   INF OpenPlatformPkg/Drivers/Net/MvMdioDxe/MvMdioDxe.inf

   INF OpenPlatformPkg/Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.inf

+  INF OpenPlatformPkg/Drivers/Net/Pp2Dxe/Pp2Dxe.inf

 

   # Multiple Console IO support

   INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf