Platforms/Marvell: Armada: Enable MppLib on Armada70x0 platform

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jan Dabros <jsd@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 530b867..80a2c8c 100644
--- a/Platforms/Marvell/Armada/Armada.dsc.inc
+++ b/Platforms/Marvell/Armada/Armada.dsc.inc
@@ -31,6 +31,7 @@
 #

 [LibraryClasses.common]

   ArmPlatformLib|OpenPlatformPkg/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf

+  MppLib|OpenPlatformPkg/Platforms/Marvell/Library/MppLib/MppLib.inf

 

   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf

   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf

diff --git a/Platforms/Marvell/Armada/Armada70x0.dsc b/Platforms/Marvell/Armada/Armada70x0.dsc
index 8c7751a..9bd66e0 100644
--- a/Platforms/Marvell/Armada/Armada70x0.dsc
+++ b/Platforms/Marvell/Armada/Armada70x0.dsc
@@ -46,3 +46,31 @@
   FLASH_DEFINITION               = OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.fdf

 

 !include Armada.dsc.inc

+

+################################################################################

+#

+# Pcd Section - list of all EDK II PCD Entries defined by this Platform

+#

+################################################################################

+[PcdsFixedAtBuild.common]

+  #MPP

+  gMarvellTokenSpaceGuid.PcdMppChipCount|2

+

+  # APN806-A0 MPP SET

+  gMarvellTokenSpaceGuid.PcdChip0MppReverseFlag|FALSE

+  gMarvellTokenSpaceGuid.PcdChip0MppBaseAddress|0xF06F4000

+  gMarvellTokenSpaceGuid.PcdChip0MppPinCount|20

+  gMarvellTokenSpaceGuid.PcdChip0MppSel0|{ 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 }

+  gMarvellTokenSpaceGuid.PcdChip0MppSel1|{ 0x1, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3 }

+

+  # CP110 MPP SET - Router configuration

+  gMarvellTokenSpaceGuid.PcdChip1MppReverseFlag|FALSE

+  gMarvellTokenSpaceGuid.PcdChip1MppBaseAddress|0xF2440000

+  gMarvellTokenSpaceGuid.PcdChip1MppPinCount|64

+  gMarvellTokenSpaceGuid.PcdChip1MppSel0|{ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4 }

+  gMarvellTokenSpaceGuid.PcdChip1MppSel1|{ 0x4, 0x4, 0x0, 0x3, 0x3, 0x3, 0x3, 0x0, 0x0, 0x0 }

+  gMarvellTokenSpaceGuid.PcdChip1MppSel2|{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xA }

+  gMarvellTokenSpaceGuid.PcdChip1MppSel3|{ 0xA, 0x0, 0x7, 0x0, 0x7, 0x7, 0x7, 0x2, 0x2, 0x0 }

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

+  gMarvellTokenSpaceGuid.PcdChip1MppSel5|{ 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xE, 0xE, 0xE, 0xE }

+  gMarvellTokenSpaceGuid.PcdChip1MppSel6|{ 0xE, 0xE, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }

diff --git a/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.c b/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.c
index 8609700..a2b25e1 100644
--- a/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.c
+++ b/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.c
@@ -15,6 +15,7 @@
 

 #include <Library/ArmLib.h>

 #include <Library/ArmPlatformLib.h>

+#include <Library/MppLib.h>

 #include <Ppi/ArmMpCoreInfo.h>

 

 

@@ -93,6 +94,7 @@
 

   //TODO: Add basic platfrom initialization

 

+  MppInitialize ();

   return RETURN_SUCCESS;

 }

 

diff --git a/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf b/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf
index 2e2120e..bd78406 100644
--- a/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf
+++ b/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf
@@ -43,11 +43,13 @@
   MdeModulePkg/MdeModulePkg.dec

   ArmPkg/ArmPkg.dec

   ArmPlatformPkg/ArmPlatformPkg.dec

+  OpenPlatformPkg/Platforms/Marvell/Marvell.dec

 

 [LibraryClasses]

   ArmLib

   DebugLib

   MemoryAllocationLib

+  MppLib

 

 [Sources.common]

   Armada70x0Lib.c