From: Wasim Khan <[email protected]>

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Wasim Khan <[email protected]>
---
 Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc |  3 +++
 Silicon/NXP/Chassis/Chassis3/Soc.c           | 18 +++++++++++++++++-
 Silicon/NXP/Chassis/Chassis3/Soc.h           |  1 -
 Silicon/NXP/Chassis/LS2088aSocLib.inf        |  2 ++
 Silicon/NXP/LS2088A/LS2088A.dsc              |  1 +
 5 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc 
b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc
index c0a802d..7894925 100755
--- a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc
+++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc
@@ -39,6 +39,9 @@
   BeIoLib|Silicon/NXP/Library/BeIoLib/BeIoLib.inf
   SocLib|Silicon/NXP/Chassis/LS2088aSocLib.inf
   RealTimeClockLib|Silicon/Maxim/Library/Ds3232RtcLib/Ds3232RtcLib.inf
+  IfcLib|Silicon/NXP/Library/IfcLib/IfcLib.inf
+  BoardLib|Platform/NXP/LS2088aRdbPkg/Library/BoardLib/BoardLib.inf
+  FpgaLib|Platform/NXP/LS2088aRdbPkg/Library/FpgaLib/FpgaLib.inf
 
 [PcdsFixedAtBuild.common]
 
diff --git a/Silicon/NXP/Chassis/Chassis3/Soc.c 
b/Silicon/NXP/Chassis/Chassis3/Soc.c
index ed6c3cc..dbb1884 100644
--- a/Silicon/NXP/Chassis/Chassis3/Soc.c
+++ b/Silicon/NXP/Chassis/Chassis3/Soc.c
@@ -18,6 +18,7 @@
 #include <Library/BaseLib.h>
 #include <Library/BaseMemoryLib/MemLibInternals.h>
 #include <Library/DebugLib.h>
+#include <Library/IfcLib.h>
 #include <Library/IoLib.h>
 #include <Library/PcdLib.h>
 #include <Library/PrintLib.h>
@@ -25,6 +26,9 @@
 
 #include "Soc.h"
 
+extern VOID PrintBoardPersonality (VOID);
+extern UINTN GetBoardSysClk (VOID);
+
 VOID
 GetSysInfo (
   OUT SYS_INFO *PtrSysInfo
@@ -83,7 +87,7 @@ GetSysInfo (
 
   GurBase = (VOID *)PcdGet64 (PcdGutsBaseAddr);
   ClkBase = (VOID *)PcdGet64 (PcdClkBaseAddr);
-  SysClk = CLK_FREQ;
+  SysClk = GetBoardSysClk ();
 
   PtrSysInfo->FreqSystemBus = SysClk;
   PtrSysInfo->FreqDdrBus = PcdGet64 (PcdDdrClk);
@@ -152,6 +156,13 @@ SocInit (
   SmmuInit ();
 
   //
+  // Perform IFC Initialization.
+  // Early IFC initialization is required to set timings required for fpga 
initilzation to
+  // get system clock frequency, board info etc.
+  //
+  IfcInit ();
+
+  //
   //  Initialize the Serial Port.
   //  Early serial port initialization is required to print RCW, Soc and CPU 
infomation at
   //  the begining of UEFI boot.
@@ -176,5 +187,10 @@ SocInit (
   // Print Soc Personality information
   //
   PrintSoc ();
+
+  //
+  // Print Board Personality information
+  //
+  PrintBoardPersonality ();
 }
 
diff --git a/Silicon/NXP/Chassis/Chassis3/Soc.h 
b/Silicon/NXP/Chassis/Chassis3/Soc.h
index 0e892fb..c3ac1d5 100644
--- a/Silicon/NXP/Chassis/Chassis3/Soc.h
+++ b/Silicon/NXP/Chassis/Chassis3/Soc.h
@@ -20,7 +20,6 @@
 #define FSL_CLK_GRPA_ADDR           0x01300000
 #define FSL_CLK_GRPB_ADDR           0x01310000
 #define NUM_CC_PLLS                 6
-#define CLK_FREQ                    100000000
 
 #define FSL_CLUSTER_CLOCKS          { 1, 1, 4, 4 } /* LS208x */
 #define TP_CLUSTER_EOC_MASK         0x80000000      /* Mask for End of 
clusters */
diff --git a/Silicon/NXP/Chassis/LS2088aSocLib.inf 
b/Silicon/NXP/Chassis/LS2088aSocLib.inf
index 8a4da50..3111d49 100644
--- a/Silicon/NXP/Chassis/LS2088aSocLib.inf
+++ b/Silicon/NXP/Chassis/LS2088aSocLib.inf
@@ -31,6 +31,8 @@
   BaseLib
   BeIoLib
   DebugLib
+  FpgaLib
+  IfcLib
   SerialPortLib
 
 [Sources.common]
diff --git a/Silicon/NXP/LS2088A/LS2088A.dsc b/Silicon/NXP/LS2088A/LS2088A.dsc
index 8f7dbb5..2cff40f 100644
--- a/Silicon/NXP/LS2088A/LS2088A.dsc
+++ b/Silicon/NXP/LS2088A/LS2088A.dsc
@@ -67,5 +67,6 @@
   gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr|0x02000000
   gNxpQoriqLsTokenSpaceGuid.PcdI2cSize|0x10000
   gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController|4
+  gNxpQoriqLsTokenSpaceGuid.PcdIfcBaseAddr|0x02240000
 
 ##
-- 
1.9.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to