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] -=-=-=-=-=-=-=-=-=-=-=-