Signed-off-by: Pramod Kumar <pramod.kuma...@nxp.com>
Signed-off-by: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
---
 Silicon/NXP/NxpQoriqLs.dec                              |  8 ++++++++
 Silicon/NXP/LS1046A/LS1046A.dsc.inc                     |  5 +++++
 Silicon/NXP/NxpQoriqLs.dsc.inc                          |  2 ++
 .../Library/ArmPlatformLib/ArmPlatformLib.inf           |  1 +
 .../Library/ArmPlatformLib/ArmPlatformLib.c             | 17 +++++++++++++++++
 5 files changed, 33 insertions(+)

diff --git a/Silicon/NXP/NxpQoriqLs.dec b/Silicon/NXP/NxpQoriqLs.dec
index 0c3608696569..3a568c0437e7 100644
--- a/Silicon/NXP/NxpQoriqLs.dec
+++ b/Silicon/NXP/NxpQoriqLs.dec
@@ -29,6 +29,7 @@ [PcdsFeatureFlag]
   gNxpQoriqLsTokenSpaceGuid.PcdDcfgBigEndian|FALSE|BOOLEAN|0x00000316
   gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|FALSE|BOOLEAN|0x00000317
   gNxpQoriqLsTokenSpaceGuid.PcdSataErratumA009185|FALSE|BOOLEAN|0x00000318
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerBigEndian|FALSE|BOOLEAN|0x00000319
 
 [PcdsFixedAtBuild.common]
   # Pcds for PCI Express
@@ -48,6 +49,13 @@ [PcdsFixedAtBuild.common]
   gNxpQoriqLsTokenSpaceGuid.PcdSataSize|0x0|UINT32|0x00000351
   gNxpQoriqLsTokenSpaceGuid.PcdNumSataController|0x0|UINT32|0x00000352
 
+  #
+  # Pcds for Gpio
+  #
+  gNxpQoriqLsTokenSpaceGuid.PcdNumGpioController|0|UINT32|0x00000355
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioModuleBaseAddress|0|UINT64|0x00000356
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerOffset|0|UINT64|0x00000357
+
 [PcdsDynamic.common]
   gNxpQoriqLsTokenSpaceGuid.PcdPciCfgShiftEnable|FALSE|BOOLEAN|0x00000600
   gNxpQoriqLsTokenSpaceGuid.PcdPciLsGen4Ctrl|FALSE|BOOLEAN|0x00000601
diff --git a/Silicon/NXP/LS1046A/LS1046A.dsc.inc 
b/Silicon/NXP/LS1046A/LS1046A.dsc.inc
index dbe7f408fce9..db110553605f 100644
--- a/Silicon/NXP/LS1046A/LS1046A.dsc.inc
+++ b/Silicon/NXP/LS1046A/LS1046A.dsc.inc
@@ -27,9 +27,14 @@ [PcdsDynamicDefault.common]
 
 [PcdsFixedAtBuild.common]
   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x021c0500
+  gNxpQoriqLsTokenSpaceGuid.PcdNumGpioController|0x04
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioModuleBaseAddress|0x02300000
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerOffset|0x10000
+
 
 [PcdsFeatureFlag]
   gNxpQoriqLsTokenSpaceGuid.PcdDcfgBigEndian|TRUE
+  gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerBigEndian|TRUE
 
 
################################################################################
 #
diff --git a/Silicon/NXP/NxpQoriqLs.dsc.inc b/Silicon/NXP/NxpQoriqLs.dsc.inc
index fc600de01d74..21c87df73220 100644
--- a/Silicon/NXP/NxpQoriqLs.dsc.inc
+++ b/Silicon/NXP/NxpQoriqLs.dsc.inc
@@ -103,6 +103,8 @@ [LibraryClasses.common]
   MemoryInitPeiLib|Silicon/NXP/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
 
+  GpioLib|Silicon/NXP/Library/GpioLib/GpioLib.inf
+
 [LibraryClasses.common.SEC]
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   
DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
diff --git 
a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf 
b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf
index 7802696bf39b..2e755842a714 100644
--- a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf
+++ b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf
@@ -25,6 +25,7 @@ [Packages]
 [LibraryClasses]
   ArmLib
   DebugLib
+  GpioLib
   SocLib
 
 [Sources.common]
diff --git 
a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c 
b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c
index e1f20da09337..d467992a3e47 100644
--- a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c
+++ b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c
@@ -8,11 +8,14 @@
 
 #include <Library/ArmLib.h>
 #include <Library/ArmPlatformLib.h>
+#include <Library/GpioLib.h>
 #include <Library/SocLib.h>
 
 #include <Ppi/ArmMpCoreInfo.h>
 #include <Ppi/NxpPlatformGetClock.h>
 
+#define USB2_MUX_SEL_GPIO    23
+
 ARM_CORE_INFO mLS1046aMpCoreInfoTable[] = {
   {
     // Cluster 0, Core 0
@@ -89,6 +92,19 @@ NxpPlatformGetClock(
 }
 
 /**
+  FRWY-LS1046A GPIO 23 use for USB2
+  mux seclection
+**/
+STATIC VOID  MuxSelectUsb2 (VOID)
+{
+
+  SetDir (GPIO3, USB2_MUX_SEL_GPIO, OUTPUT);
+  SetData (GPIO3, USB2_MUX_SEL_GPIO, HIGH);
+
+  return;
+}
+
+/**
   Initialize controllers that must setup in the normal world
 
   This function is called by the ArmPlatformPkg/PrePi or 
ArmPlatformPkg/PlatformPei
@@ -101,6 +117,7 @@ ArmPlatformInitialize (
   )
 {
   SocInit ();
+  MuxSelectUsb2 ();
 
   return EFI_SUCCESS;
 }
-- 
1.9.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#65267): https://edk2.groups.io/g/devel/message/65267
Mute This Topic: https://groups.io/mt/76861997/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to