public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Aditya Angadi" <aditya.angadi@arm.com>
To: devel@edk2.groups.io
Cc: Leif Lindholm <leif@nuviainc.com>,
	Ard Biesheuvel <ard.biesheuvel@arm.com>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Thomas Abraham <thomas.abraham@arm.com>,
	Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>,
	Aditya Angadi <aditya.angadi@arm.com>
Subject: [PATCH][edk2-platforms 1/5] Platform/ARM/SgiPkg: Use PCD for base addresses
Date: Fri, 18 Dec 2020 19:37:22 +0530	[thread overview]
Message-ID: <20201218140726.23670-2-aditya.angadi@arm.com> (raw)
In-Reply-To: <20201218140726.23670-1-aditya.angadi@arm.com>

Certain base addresses have been specified using macros. But the
upcoming derivative platforms that have to be supported under the
SgiPkg have changes in some of those base addresses and so these
macros are not applicable on those upcoming platforms.

So convert the affected macros into PCDs and let the platform
description file choose the appropriate set of PCDs that is
applicable for the platform. In addition to this, use the PCDs
to replace existing uses of the macros that have been converted
into PCDs.

Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl               |  2 +-
 Platform/ARM/SgiPkg/Include/SgiPlatform.h                | 32 -------------
 Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c    | 12 ++---
 Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf  |  7 ++-
 Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf  |  9 ++++
 Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c | 34 +++++++-------
 Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc                |  1 +
 Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc                |  1 +
 Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc            |  1 +
 Platform/ARM/SgiPkg/RdV1/RdV1.dsc                        |  1 +
 Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc                    |  1 +
 Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc                    |  1 +
 Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc                 | 49 ++++++++++++++++++++
 Platform/ARM/SgiPkg/SgiPlatform.dec                      |  5 ++
 Platform/ARM/SgiPkg/SgiPlatform.dsc.inc                  | 20 --------
 15 files changed, 100 insertions(+), 76 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl
index 458a711cfd31..55a8ed04d5aa 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl
@@ -25,7 +25,7 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 1, "ARMLTD", "ARMSGI",
           FixedPcdGet64 (PcdSerialDbgRegisterBase),
           0x1000
           )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 147 }
+        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PL011UartInterrupt) }
       })
     }
 
diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
index f5174c12b89a..d6ab585cce80 100644
--- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h
+++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
@@ -13,26 +13,6 @@
 // Platform Memory Map
 ************************************************************************************/
 
-// Expansion AXI - SMC Chip Select 0
-#define SGI_EXP_SMC_CS0_BASE                      0x08000000
-#define SGI_EXP_SMC_CS0_SZ                        SIZE_64MB
-
-// Expansion AXI - SMC Chip Select 1
-#define SGI_EXP_SMC_CS1_BASE                      0x0C000000
-#define SGI_EXP_SMC_CS1_SZ                        SIZE_64MB
-
-// Expansion AXI - SMSC 91C111 (Ethernet)
-#define SGI_EXP_SMSC91X_BASE                      0x18000000
-#define SGI_EXP_SMSC91X_SZ                        SIZE_64MB
-
-// Expansion AXI - System peripherals
-#define SGI_EXP_SYS_PERIPH_BASE                   0x1C000000
-#define SGI_EXP_SYS_PERIPH_SZ                     SIZE_2MB
-
-// Base address of system peripherals
-#define SGI_EXP_SYSPH_SYSTEM_REGISTERS            0x1C010000
-#define SGI_EXP_SYSPH_VIRTIO_BLOCK_BASE           0x1C130000
-
 // Sub System Peripherals - UART0
 #define SGI_SUBSYS_UART0_BASE                     0x2A400000
 #define SGI_SUBSYS_UART0_SZ                       0x00010000
@@ -45,18 +25,6 @@
 #define SGI_SUBSYS_GENERIC_WDOG_BASE              0x2A440000
 #define SGI_SUBSYS_GENERIC_WDOG_SZ                SIZE_128KB
 
-// Expansion AXI - Platform Peripherals - HDLCD1
-#define SGI_EXP_PLAT_PERIPH_HDLCD1_BASE           0x7FF60000
-#define SGI_EXP_PLAT_PERIPH_HDLCD1_SZ             SIZE_64KB
-
-// Expansion AXI - Platform Peripherals - UART0
-#define SGI_EXP_PLAT_PERIPH_UART0_BASE            0x7FF70000
-#define SGI_EXP_PLAT_PERIPH_UART0_SZ              SIZE_64KB
-
-// Expansion AXI - Platform Peripherals - UART1
-#define SGI_EXP_PLAT_PERIPH_UART1_BASE            0x7FF80000
-#define SGI_EXP_PLAT_PERIPH_UART1_SZ              SIZE_64KB
-
 // Register offsets into the System Registers Block
 #define SGI_SYSPH_SYS_REG_FLASH                   0x4C
 #define SGI_SYSPH_SYS_REG_FLASH_RWEN              0x1
diff --git a/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c b/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c
index e3bf2726b557..b5dfae28d10a 100644
--- a/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c
+++ b/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c
@@ -1,6 +1,6 @@
 /** @file
 
-  Copyright (c) 2018, ARM Ltd. All rights reserved.
+  Copyright (c) 2020, ARM Ltd. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -14,14 +14,14 @@
 
 STATIC NOR_FLASH_DESCRIPTION mNorFlashDevices[] = {
   {
-    SGI_EXP_SMC_CS0_BASE,
-    SGI_EXP_SMC_CS0_BASE,
+    FixedPcdGet64 (PcdSmcCs0Base),
+    FixedPcdGet64 (PcdSmcCs0Base),
     SIZE_256KB * 256,
     SIZE_256KB,
   },
   {
-    SGI_EXP_SMC_CS1_BASE,
-    SGI_EXP_SMC_CS1_BASE,
+    FixedPcdGet64 (PcdSmcCs1Base),
+    FixedPcdGet64 (PcdSmcCs1Base),
     SIZE_256KB * 256,
     SIZE_256KB,
   },
@@ -34,7 +34,7 @@ NorFlashPlatformInitialization (
 {
   UINT64 SysRegFlash;
 
-  SysRegFlash = SGI_EXP_SYSPH_SYSTEM_REGISTERS + SGI_SYSPH_SYS_REG_FLASH;
+  SysRegFlash = FixedPcdGet64 (PcdSysPeriphSysRegBase) + SGI_SYSPH_SYS_REG_FLASH;
   MmioOr32 (SysRegFlash, SGI_SYSPH_SYS_REG_FLASH_RWEN);
   return EFI_SUCCESS;
 }
diff --git a/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf b/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf
index a1439c10d1fa..74486eacd009 100644
--- a/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf
+++ b/Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf
@@ -1,6 +1,6 @@
 #/** @file
 #
-#  Copyright (c) 2018, ARM Ltd. All rights reserved.
+#  Copyright (c) 2020, ARM Ltd. All rights reserved.
 
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -26,3 +26,8 @@ [LibraryClasses]
   BaseLib
   DebugLib
   IoLib
+
+[FixedPcd]
+  gArmSgiTokenSpaceGuid.PcdSysPeriphSysRegBase
+  gArmSgiTokenSpaceGuid.PcdSmcCs0Base
+  gArmSgiTokenSpaceGuid.PcdSmcCs1Base
diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
index 464a7cde4513..2ed0ff1fb62e 100644
--- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
+++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
@@ -19,6 +19,7 @@ [Packages]
   MdeModulePkg/MdeModulePkg.dec
   MdePkg/MdePkg.dec
   Platform/ARM/SgiPkg/SgiPlatform.dec
+  Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
   StandaloneMmPkg/StandaloneMmPkg.dec
 
 [LibraryClasses]
@@ -39,6 +40,7 @@ [Sources.AARCH64]
 [FixedPcd]
   gArmPlatformTokenSpaceGuid.PcdClusterCount
   gArmPlatformTokenSpaceGuid.PcdCoreCount
+  gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
 
   gArmSgiTokenSpaceGuid.PcdDramBlock2Base
   gArmSgiTokenSpaceGuid.PcdDramBlock2Size
@@ -63,8 +65,15 @@ [FixedPcd]
 
   gArmTokenSpaceGuid.PcdMmBufferBase
   gArmTokenSpaceGuid.PcdMmBufferSize
+  gArmSgiTokenSpaceGuid.PcdSmcCs0Base
+  gArmSgiTokenSpaceGuid.PcdSmcCs1Base
+  gArmSgiTokenSpaceGuid.PcdSysPeriphBase
+
+  gArmVExpressTokenSpaceGuid.PcdLan91xDxeBaseAddress
 
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
 
 [Guids]
   gArmSgiPlatformIdDescriptorGuid
diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c
index e30819c5cd55..ecca91e0f51b 100644
--- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c
+++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c
@@ -106,27 +106,29 @@ ArmPlatformGetVirtualMemoryMap (
   }
 
   // Expansion AXI - SMC Chip Select 0 (NOR Flash)
-  VirtualMemoryTable[Index].PhysicalBase    = SGI_EXP_SMC_CS0_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_SMC_CS0_BASE;
+  VirtualMemoryTable[Index].PhysicalBase    = FixedPcdGet64 (PcdSmcCs0Base);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet64 (PcdSmcCs0Base);
   VirtualMemoryTable[Index].Length          = SIZE_64MB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
   // Expansion AXI - SMC Chip Select 1 (NOR Flash)
-  VirtualMemoryTable[++Index].PhysicalBase  = SGI_EXP_SMC_CS1_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_SMC_CS1_BASE;
+  VirtualMemoryTable[++Index].PhysicalBase  = FixedPcdGet64 (PcdSmcCs1Base);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet64 (PcdSmcCs1Base);
   VirtualMemoryTable[Index].Length          = SIZE_64MB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
+#if defined (EDK2_ENABLE_SMSC_91X)
   // Expansion AXI - SMSC 91X (Ethernet)
-  VirtualMemoryTable[++Index].PhysicalBase  = SGI_EXP_SMSC91X_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_SMSC91X_BASE;
-  VirtualMemoryTable[Index].Length          = SGI_EXP_SMSC91X_SZ;
+  VirtualMemoryTable[++Index].PhysicalBase  = FixedPcdGet32 (PcdLan91xDxeBaseAddress);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet32 (PcdLan91xDxeBaseAddress);
+  VirtualMemoryTable[Index].Length          = SIZE_64MB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
+#endif
 
   // Expansion AXI - System Peripherals
-  VirtualMemoryTable[++Index].PhysicalBase  = SGI_EXP_SYS_PERIPH_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_SYS_PERIPH_BASE;
-  VirtualMemoryTable[Index].Length          = SGI_EXP_SYS_PERIPH_SZ;
+  VirtualMemoryTable[++Index].PhysicalBase  = FixedPcdGet64 (PcdSysPeriphBase);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet64 (PcdSysPeriphBase);
+  VirtualMemoryTable[Index].Length          = SIZE_32MB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
   // Sub System Peripherals - Generic Watchdog
@@ -142,15 +144,15 @@ ArmPlatformGetVirtualMemoryMap (
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
   // Expansion AXI - Platform Peripherals - HDLCD1
-  VirtualMemoryTable[++Index].PhysicalBase  = SGI_EXP_PLAT_PERIPH_HDLCD1_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_PLAT_PERIPH_HDLCD1_BASE;
-  VirtualMemoryTable[Index].Length          = SGI_EXP_PLAT_PERIPH_HDLCD1_SZ;
+  VirtualMemoryTable[++Index].PhysicalBase  = FixedPcdGet32 (PcdArmHdLcdBase);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet32 (PcdArmHdLcdBase);
+  VirtualMemoryTable[Index].Length          = SIZE_64KB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
   // Expansion AXI - Platform Peripherals - UART1
-  VirtualMemoryTable[++Index].PhysicalBase  = SGI_EXP_PLAT_PERIPH_UART1_BASE;
-  VirtualMemoryTable[Index].VirtualBase     = SGI_EXP_PLAT_PERIPH_UART1_BASE;
-  VirtualMemoryTable[Index].Length          = SGI_EXP_PLAT_PERIPH_UART1_SZ;
+  VirtualMemoryTable[++Index].PhysicalBase  = FixedPcdGet64 (PcdSerialRegisterBase);
+  VirtualMemoryTable[Index].VirtualBase     = FixedPcdGet64 (PcdSerialRegisterBase);
+  VirtualMemoryTable[Index].Length          = SIZE_64KB;
   VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
   // DDR - (2GB - 16MB)
diff --git a/Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc b/Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc
index a108b4eab0d8..26ab7e6ef6b8 100644
--- a/Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc
+++ b/Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc b/Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc
index a59a6c5b8f3a..7d397438bfff 100644
--- a/Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc
+++ b/Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc b/Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc
index 1cb41d119e3e..5c87a0ca9b3c 100644
--- a/Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc
+++ b/Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/RdV1/RdV1.dsc b/Platform/ARM/SgiPkg/RdV1/RdV1.dsc
index 223f4815c122..e8ee0e8769a8 100644
--- a/Platform/ARM/SgiPkg/RdV1/RdV1.dsc
+++ b/Platform/ARM/SgiPkg/RdV1/RdV1.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc b/Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc
index f138d4c43885..c2fcc0df4571 100644
--- a/Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc
+++ b/Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc b/Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc
index 60e2a88bb591..a8675368415b 100644
--- a/Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc
+++ b/Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc
@@ -24,6 +24,7 @@ [Defines]
 
 # include common definitions from SgiPlatform.dsc
 !include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
 
 ################################################################################
 #
diff --git a/Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc b/Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
new file mode 100644
index 000000000000..2549c3129b0f
--- /dev/null
+++ b/Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc
@@ -0,0 +1,49 @@
+#
+#  Copyright (c) 2020, ARM Limited. All rights reserved.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+[PcdsFixedAtBuild.common]
+  # System Peripherals
+  gArmSgiTokenSpaceGuid.PcdSmcCs0Base|0x08000000
+  gArmSgiTokenSpaceGuid.PcdSmcCs1Base|0x0C000000
+  gArmSgiTokenSpaceGuid.PcdSysPeriphBase|0x1C000000
+  gArmSgiTokenSpaceGuid.PcdSysPeriphSysRegBase|0x1C010000
+
+  # Non-Volatile variable storage
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0C000000
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0D400000
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0E800000
+
+  # PL011 - Serial Terminal
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF80000
+
+  # PL370 - HDLCD1
+  gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x7FF60000
+
+  # PL011 - Serial Debug UART
+  gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x7FF80000
+  gArmPlatformTokenSpaceGuid.PL011UartInterrupt|147
+
+  # PL031 RealTimeClock
+  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
+
+  # Virtio Disk
+  gArmSgiTokenSpaceGuid.PcdVirtioBlkBaseAddress|0x1C130000
+  gArmSgiTokenSpaceGuid.PcdVirtioBlkSize|0x10000
+  gArmSgiTokenSpaceGuid.PcdVirtioBlkInterrupt|202
+
+  # Ethernet
+!ifdef EDK2_ENABLE_SMSC_91X
+  gArmVExpressTokenSpaceGuid.PcdLan91xDxeBaseAddress|0x18000000
+!endif
+  gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress|0x1C150000
+  gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|204
+
+  # PCIe
+  gArmTokenSpaceGuid.PcdPciMmio32Base|0x70000000
+  gArmTokenSpaceGuid.PcdPciMmio32Size|0x07800000
+  gArmTokenSpaceGuid.PcdPciMmio64Base|0x5000000000
+  gArmTokenSpaceGuid.PcdPciMmio64Size|0x3000000000
+  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x60000000
diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dec b/Platform/ARM/SgiPkg/SgiPlatform.dec
index dac7fdc308b1..3f0d38a013f2 100644
--- a/Platform/ARM/SgiPkg/SgiPlatform.dec
+++ b/Platform/ARM/SgiPkg/SgiPlatform.dec
@@ -52,5 +52,10 @@ [PcdsFixedAtBuild]
   # GIC
   gArmSgiTokenSpaceGuid.PcdGicSize|0|UINT64|0x0000000A
 
+  gArmSgiTokenSpaceGuid.PcdSmcCs0Base|0|UINT64|0x0000000C
+  gArmSgiTokenSpaceGuid.PcdSmcCs1Base|0|UINT64|0x0000000D
+  gArmSgiTokenSpaceGuid.PcdSysPeriphBase|0x00000000|UINT64|0x0000000E
+  gArmSgiTokenSpaceGuid.PcdSysPeriphSysRegBase|0x0|UINT64|0x0000000F
+
 [Ppis]
   gNtFwConfigDtInfoPpiGuid     = { 0x6f606eb3, 0x9123, 0x4e15, { 0xa8, 0x9b, 0x0f, 0xac, 0x66, 0xef, 0xd0, 0x17 } }
diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
index f5f9f144eee9..2beab1f07278 100644
--- a/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+++ b/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
@@ -93,11 +93,8 @@ [PcdsFixedAtBuild.common]
   gArmSgiTokenSpaceGuid.PcdDramBlock2Size|0x180000000
 
   # NV Storage PCDs. Use base of 0x08000000 for NOR0, 0xC0000000 for NOR 1
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0C000000
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x01400000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0D400000
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x01400000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0E800000
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x01400000
 
   # Stacks for MPCores in Normal World
@@ -117,17 +114,11 @@ [PcdsFixedAtBuild.common]
   gArmTokenSpaceGuid.PcdPciIoBase|0x0
   gArmTokenSpaceGuid.PcdPciIoSize|0x00800000
   gArmTokenSpaceGuid.PcdPciIoTranslation|0x77800000
-  gArmTokenSpaceGuid.PcdPciMmio32Base|0x70000000
-  gArmTokenSpaceGuid.PcdPciMmio32Size|0x07800000
   gArmTokenSpaceGuid.PcdPciMmio32Translation|0x0
-  gArmTokenSpaceGuid.PcdPciMmio64Base|0x500000000
-  gArmTokenSpaceGuid.PcdPciMmio64Size|0x300000000
   gArmTokenSpaceGuid.PcdPciMmio64Translation|0x0
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x60000000
   gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24
 
   ## PL011 - Serial Terminal
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF80000
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
   gArmPlatformTokenSpaceGuid.PL011UartInteger|4
@@ -137,13 +128,9 @@ [PcdsFixedAtBuild.common]
   gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x7FF60000
 
   ## PL011 - Serial Debug UART
-  gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x7FF80000
   gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|7372800
   gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|115200
-  gArmPlatformTokenSpaceGuid.PL011UartInterrupt|147
 
-  ## PL031 RealTimeClock
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
 
   # List of Device Paths that support BootMonFs
   gArmBootMonFsTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(93E34C7E-B50E-11DF-9223-2443DFD72085,00)"
@@ -157,17 +144,10 @@ [PcdsFixedAtBuild.common]
   gEmbeddedTokenSpaceGuid.PcdTimerPeriod|1000
 
   # Virtio Disk
-  gArmSgiTokenSpaceGuid.PcdVirtioBlkBaseAddress|0x1c130000
   gArmSgiTokenSpaceGuid.PcdVirtioBlkSize|0x10000
-  gArmSgiTokenSpaceGuid.PcdVirtioBlkInterrupt|202
 
   # Ethernet / Virtio Network
-!ifdef EDK2_ENABLE_SMSC_91X
-  gArmVExpressTokenSpaceGuid.PcdLan91xDxeBaseAddress|0x18000000
-!endif
-  gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress|0x1c150000
   gArmSgiTokenSpaceGuid.PcdVirtioNetSize|0x10000
-  gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|204
 
   #
   # Set the base address and size of the buffer used
-- 
2.17.1


  reply	other threads:[~2020-12-18 14:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-18 14:07 [PATCH][edk2-platforms 0/5] Add support for RD-N2 platform Aditya Angadi
2020-12-18 14:07 ` Aditya Angadi [this message]
2020-12-18 14:07 ` [PATCH][edk2-platforms 2/5] Platform/ARM/SgiPkg: remove the use of SMSC Lan91x controller Aditya Angadi
2020-12-18 14:07 ` [PATCH][edk2-platforms 3/5] Platform/ARM/SgiPkg: Define base address PCD for derivative platforms Aditya Angadi
2020-12-18 14:07 ` [PATCH][edk2-platforms 4/5] Platform/ARM/SgiPkg: Add ACPI tables for RD-N2 platform Aditya Angadi
2020-12-18 14:07 ` [PATCH][edk2-platforms 5/5] Platform/ARM/SgiPkg: Add initial support " Aditya Angadi
2021-01-04 17:48 ` [PATCH][edk2-platforms 0/5] Add " Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201218140726.23670-2-aditya.angadi@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox