From: "Prabin CA" <prabin.ca@arm.com>
To: devel@edk2.groups.io
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Sami Mujawar <sami.mujawar@arm.com>,
Prabin CA <prabin.ca@arm.com>
Subject: [edk2-devel] [PATCH 5/8] Platform/Sgi: Add initial support for RD-Fremont platform
Date: Fri, 5 Jan 2024 22:35:31 +0530 [thread overview]
Message-ID: <20240105170534.687710-6-prabin.ca@arm.com> (raw)
In-Reply-To: <20240105170534.687710-1-prabin.ca@arm.com>
The RD-Fremont fixed virtual platform simulates 16 CPUs and 8GB of RAM.
Add initial support for this platform by adding the required platform
build configuration files. This platform has considerable differences in
its memory map compared to its predecessors. So add a corresponding
memory map file as well to define the PCDs for its generation of
platforms.
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
Platform/ARM/SgiPkg/SgiMemoryMap3.dsc.inc | 71 ++++++++++++++++++++
Platform/ARM/SgiPkg/RdFremont/RdFremont.dsc | 55 +++++++++++++++
Platform/ARM/SgiPkg/RdFremont/RdFremont.fdf.inc | 10 +++
3 files changed, 136 insertions(+)
diff --git a/Platform/ARM/SgiPkg/SgiMemoryMap3.dsc.inc b/Platform/ARM/SgiPkg/SgiMemoryMap3.dsc.inc
new file mode 100644
index 000000000000..06c3b37388c1
--- /dev/null
+++ b/Platform/ARM/SgiPkg/SgiMemoryMap3.dsc.inc
@@ -0,0 +1,71 @@
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+[PcdsFixedAtBuild.common]
+ # System Peripherals
+ gArmSgiTokenSpaceGuid.PcdSmcCs0Base|0x08000000
+ gArmSgiTokenSpaceGuid.PcdSmcCs1Base|0x0600000000
+ gArmSgiTokenSpaceGuid.PcdSysPeriphBase|0x0C000000
+ gArmSgiTokenSpaceGuid.PcdSysPeriphSysRegBase|0x0C010000
+
+ # SP804 dual timer
+ gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress|0x0C110000
+ gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize|0x00010000
+ gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt|216
+
+ # Virtio Disk
+ gArmSgiTokenSpaceGuid.PcdVirtioBlkBaseAddress|0x0C130000
+ gArmSgiTokenSpaceGuid.PcdVirtioBlkSize|0x10000
+ gArmSgiTokenSpaceGuid.PcdVirtioBlkInterrupt|184
+
+ # GPIO controller
+ gArmSgiTokenSpaceGuid.PcdGpioController0BaseAddress|0x0C1D0000
+ gArmSgiTokenSpaceGuid.PcdGpioController0Size|0x00010000
+ gArmSgiTokenSpaceGuid.PcdGpioController0Interrupt|168
+
+ # Ethernet
+ gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress|0x0C150000
+ gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|186
+
+ # PL031 RealTimeClock
+ gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0C170000
+
+ # Virtio P9
+ gArmSgiTokenSpaceGuid.PcdVirtioP9BaseAddress|0x0C190000
+ gArmSgiTokenSpaceGuid.PcdVirtioP9Size|0x10000
+ gArmSgiTokenSpaceGuid.PcdVirtioP9Interrupt|185
+
+ # PL370 - HDLCD1
+ gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x0EF60000
+
+ # PL011 - Serial Debug UART
+ gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x0EF70000
+ gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt|179
+
+ # PL011 - Serial Terminal
+ gArmPlatformTokenSpaceGuid.PL011UartInterrupt|112
+
+ # System Memory (2GB - 128MB of Trusted DRAM at the top of the 32bit address space)
+ gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
+ gArmTokenSpaceGuid.PcdSystemMemorySize|0x78000000
+
+ # SMMU
+ gArmSgiTokenSpaceGuid.PcdSmmuBase|0x280000000
+ gArmSgiTokenSpaceGuid.PcdSmmuSize|0x4000000
+
+ # Non-Volatile variable storage
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0600000000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0601400000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0602800000
+
+ # Address bus width - 64TB address space
+ gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip|46
+
+ # Timer & Watchdog interrupts
+ gArmSgiTokenSpaceGuid.PcdGtFrame0Gsiv|109
+ gArmSgiTokenSpaceGuid.PcdGtFrame1Gsiv|108
+ gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv|110
+ gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv|111
diff --git a/Platform/ARM/SgiPkg/RdFremont/RdFremont.dsc b/Platform/ARM/SgiPkg/RdFremont/RdFremont.dsc
new file mode 100644
index 000000000000..b52d2f59e15d
--- /dev/null
+++ b/Platform/ARM/SgiPkg/RdFremont/RdFremont.dsc
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+################################################################################
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+################################################################################
+[Defines]
+ PLATFORM_NAME = RdFremont
+ PLATFORM_GUID = fd140b0f-4467-4314-aa69-cd0bd712e08e
+ PLATFORM_VERSION = 0.1
+ DSC_SPECIFICATION = 0x0001001B
+ OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
+ SUPPORTED_ARCHITECTURES = AARCH64
+ BUILD_TARGETS = NOOPT|DEBUG|RELEASE
+ SKUID_IDENTIFIER = DEFAULT
+ FLASH_DEFINITION = Platform/ARM/SgiPkg/SgiPlatform.fdf
+ BOARD_DXE_FV_COMPONENTS = Platform/ARM/SgiPkg/RdFremont/RdFremont.fdf.inc
+ BUILD_NUMBER = 1
+
+# include common definitions from SgiPlatform.dsc
+!include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap3.dsc.inc
+
+# include common/basic libraries from MdePkg.
+!include MdePkg/MdeLibs.dsc.inc
+
+################################################################################
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform
+#
+################################################################################
+
+[PcdsFixedAtBuild.common]
+ # GIC Base Addresses
+ gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000
+ gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x301C0000
+ gArmSgiTokenSpaceGuid.PcdGicSize|0x200000
+
+ # ARM Cores and Clusters
+ gArmPlatformTokenSpaceGuid.PcdCoreCount|1
+ gArmPlatformTokenSpaceGuid.PcdClusterCount|16
+
+################################################################################
+#
+# Components Section - list of all EDK II Modules needed by this Platform
+#
+################################################################################
+
+[Components.common]
+ Platform/ARM/SgiPkg/AcpiTables/RdFremontAcpiTables.inf
diff --git a/Platform/ARM/SgiPkg/RdFremont/RdFremont.fdf.inc b/Platform/ARM/SgiPkg/RdFremont/RdFremont.fdf.inc
new file mode 100644
index 000000000000..a465b7426653
--- /dev/null
+++ b/Platform/ARM/SgiPkg/RdFremont/RdFremont.fdf.inc
@@ -0,0 +1,10 @@
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+# Per-platform additional content of the DXE phase firmware volume
+
+ # ACPI support
+ INF RuleOverride=ACPITABLE Platform/ARM/SgiPkg/AcpiTables/RdFremontAcpiTables.inf
--
2.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113305): https://edk2.groups.io/g/devel/message/113305
Mute This Topic: https://groups.io/mt/103546573/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2024-01-05 17:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-05 17:05 [edk2-devel] [PATCH 0/8] Platform/Sgi: Add support for RD-Fremont platform Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 1/8] Platform/Sgi: Update the datatype of PcdSmmuBase from u32 to u64 Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 2/8] Platform/Sgi: Refactor system memory base and size definitions Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 3/8] Platform/Sgi: Introduce a flag to enable PCIe support for RD Platforms Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 4/8] Platform/Sgi: Add ACPI tables for RD-Fremont platform Prabin CA
2024-01-05 17:05 ` Prabin CA [this message]
2024-01-05 17:05 ` [edk2-devel] [PATCH 6/8] Platform/Sgi: Extend SMBIOS support for RD-Fremont Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 7/8] Platform/Sgi: Low Power Idle States " Prabin CA
2024-01-05 17:05 ` [edk2-devel] [PATCH 8/8] Platform/Sgi: Add CPPC support for RD-Fremont platform Prabin CA
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=20240105170534.687710-6-prabin.ca@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