From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 2977874003E for ; Fri, 1 Mar 2024 16:30:24 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=X93QOOAmgWX6L7JcIJyzjrwgnTLg2kMfa0deVjKtKj4=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1709310622; v=1; b=Z49hWzWLji+Hmpq2/kwov8vV+Ij9VU6kTJUgsQv5q0kMvh9lE7fp9j8GDUIuUOmGI0a1eWNk DSElYqCk82W3XjE3ys9KtiYVLCv3HXwesnDjHB90xB6dSA3JkkPOhphhmJfih39Ctc64qicpcJC vTWJSaWm4RJS2vg3dIHoj1V8= X-Received: by 127.0.0.2 with SMTP id fXGTYY7687511xk94clqyuxV; Fri, 01 Mar 2024 08:30:22 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.27924.1709310622294501351 for ; Fri, 01 Mar 2024 08:30:22 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 102471FB; Fri, 1 Mar 2024 08:31:00 -0800 (PST) X-Received: from usa.arm.com (a079755.arm.com [10.162.46.129]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 41D8F3F73F; Fri, 1 Mar 2024 08:30:20 -0800 (PST) From: "Prabin CA" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sami Mujawar , Thomas Abraham Subject: [edk2-devel] [edk2-platforms][PATCH v5 4/6] Platform/Sgi: Add support for RD-N2-Cfg3 platform Date: Fri, 1 Mar 2024 21:59:55 +0530 Message-Id: <20240301162957.2854546-5-prabin.ca@arm.com> In-Reply-To: <20240301162957.2854546-1-prabin.ca@arm.com> References: <20240301162957.2854546-1-prabin.ca@arm.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prabin.ca@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: NMIKmoUUEqQgIrbc0S82poYwx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=Z49hWzWL; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io The Neoverse RD-N2-Cfg3 platform is a variant of RD-N2 platform with a different mesh size and GIC ITS count. As part of the initial platform support, add the corresponding platform and flash description files. Use PcdPlatformVariant for the RD-N2-Cfg3 platform to specify the platform variant. RD-N2-Cfg3 has 12 GIC ITS blocks when compared to the other RD-N2 variants that have 6 GIC ITS blocks. Signed-off-by: Prabin CA --- Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc = | 58 ++++++++++++++++++++ Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf = | 3 +- Platform/ARM/SgiPkg/AcpiTables/{RdN2AcpiTables.inf =3D> RdN2Cfg3AcpiTabl= es.inf} | 15 ++--- Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc = | 14 ++++- Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc = | 10 ++++ 5 files changed, 88 insertions(+), 12 deletions(-) diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc b/Platform/ARM/Sgi= Pkg/RdN2Cfg3/RdN2Cfg3.dsc new file mode 100644 index 000000000000..88293b236a32 --- /dev/null +++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc @@ -0,0 +1,58 @@ +# +# 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 Makefi= le. +# +########################################################################= ######## +[Defines] + PLATFORM_NAME =3D RdN2Cfg3 + PLATFORM_GUID =3D b890ba7d-a256-4820-9d3a-655acbb737c= 9 + PLATFORM_VERSION =3D 0.1 + DSC_SPECIFICATION =3D 0x0001001B + OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) + SUPPORTED_ARCHITECTURES =3D AARCH64 + BUILD_TARGETS =3D NOOPT|DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + FLASH_DEFINITION =3D Platform/ARM/SgiPkg/SgiPlatform.fdf + BOARD_DXE_FV_COMPONENTS =3D Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cf= g3.fdf.inc + BUILD_NUMBER =3D 1 + +# include common definitions from SgiPlatform.dsc +!include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc +!include Platform/ARM/SgiPkg/SgiMemoryMap2.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 configurations + gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000 + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x30300000 + gArmSgiTokenSpaceGuid.PcdGicSize|0x400000 + + # ARM Cores and Clusters + gArmPlatformTokenSpaceGuid.PcdCoreCount|1 + gArmPlatformTokenSpaceGuid.PcdClusterCount|16 + + # RdN2Cfg3 is the third variant from RdN2 Platform + gArmSgiTokenSpaceGuid.PcdPlatformVariant|3 + +########################################################################= ######## +# +# Components Section - list of all EDK II Modules needed by this Platfor= m +# +########################################################################= ######## + +[Components.common] + Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform= /ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 8025ef58171b..afc38385c051 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -1,7 +1,7 @@ ## @file # ACPI table data and ASL sources required to boot the platform. # -# Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved. +# Copyright (c) 2020 - 2024, Arm Ltd. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -67,6 +67,7 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip gArmSgiTokenSpaceGuid.PcdOscLpiEnable gArmSgiTokenSpaceGuid.PcdOscCppcEnable + gArmSgiTokenSpaceGuid.PcdPlatformVariant gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform= /ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf similarity index 90% copy from Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf copy to Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf index 8025ef58171b..a703d5a994f7 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf @@ -1,7 +1,7 @@ ## @file # ACPI table data and ASL sources required to boot the platform. # -# Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved. +# Copyright (c) 2024, Arm Ltd. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -9,7 +9,7 @@ =20 [Defines] INF_VERSION =3D 0x0001001A - BASE_NAME =3D RdN2AcpiTables + BASE_NAME =3D RdN2Cfg3AcpiTables FILE_GUID =3D c712719a-0aaf-438c-9cdd-35ab4d60207= d # gArmSgiAcpiTablesGuid MODULE_TYPE =3D USER_DEFINED VERSION_STRING =3D 1.0 @@ -18,16 +18,13 @@ [Sources] Dbg2.aslc Fadt.aslc Gtdt.aslc - Iort.aslc - Mcfg.aslc RdN2/Dsdt.asl RdN2/Madt.aslc RdN2/Pptt.aslc Spcr.aslc - Ssdt.asl + SsdtRos.asl SsdtEvents.asl SsdtIoVirtSocExp.asl - SsdtRos.asl SsdtRosVirtioP9.asl =20 [Packages] @@ -56,17 +53,17 @@ [FixedPcd] gArmTokenSpaceGuid.PcdPciBusMin gArmTokenSpaceGuid.PcdPciBusMax =20 - gArmSgiTokenSpaceGuid.PcdChipCount gArmSgiTokenSpaceGuid.PcdGpioController0BaseAddress gArmSgiTokenSpaceGuid.PcdGpioController0Size gArmSgiTokenSpaceGuid.PcdGpioController0Interrupt gArmSgiTokenSpaceGuid.PcdGtFrame0Gsiv gArmSgiTokenSpaceGuid.PcdGtFrame1Gsiv + gArmSgiTokenSpaceGuid.PcdOscLpiEnable + gArmSgiTokenSpaceGuid.PcdOscCppcEnable gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlk0Base gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlkUartEnable gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip - gArmSgiTokenSpaceGuid.PcdOscLpiEnable - gArmSgiTokenSpaceGuid.PcdOscCppcEnable + gArmSgiTokenSpaceGuid.PcdPlatformVariant gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc b/Platform/ARM= /SgiPkg/AcpiTables/RdN2/Madt.aslc index cdf8b3f2e953..5fba3fa7d020 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc @@ -6,7 +6,7 @@ CPU interface, redistributor, distributor and ITS blocks on the Rd-N2 = platform is included in this table. =20 - Copyright (c) 2020 - 2022, Arm Limited. All rights reserved. + Copyright (c) 2020 - 2024, Arm Limited. All rights reserved. =20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -23,6 +23,8 @@ #define CORE_CNT (FixedPcdGet32 (PcdClusterCount) * \ FixedPcdGet32 (PcdCoreCount)) =20 +#define ITS_CNT ((FixedPcdGet32(PcdPlatformVariant) =3D=3D 3) ? 12 : 6) + // Multiple APIC Description Table #pragma pack (1) =20 @@ -31,7 +33,7 @@ typedef struct { EFI_ACPI_6_4_GIC_STRUCTURE GicInterfaces[CO= RE_CNT]; EFI_ACPI_6_4_GIC_DISTRIBUTOR_STRUCTURE GicDistributor; EFI_ACPI_6_4_GICR_STRUCTURE GicRedistributor= ; - EFI_ACPI_6_4_GIC_ITS_STRUCTURE GicIts[6]; + EFI_ACPI_6_4_GIC_ITS_STRUCTURE GicIts[ITS_CNT]; } EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE; =20 #pragma pack () @@ -134,6 +136,14 @@ STATIC EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE = Madt =3D { EFI_ACPI_6_4_GIC_ITS_INIT(3, 0x30100000), EFI_ACPI_6_4_GIC_ITS_INIT(4, 0x30140000), EFI_ACPI_6_4_GIC_ITS_INIT(5, 0x30180000), +#if (FixedPcdGet32 (PcdPlatformVariant) =3D=3D 3) + EFI_ACPI_6_4_GIC_ITS_INIT(6, 0x301C0000), + EFI_ACPI_6_4_GIC_ITS_INIT(7, 0x30200000), + EFI_ACPI_6_4_GIC_ITS_INIT(8, 0x30240000), + EFI_ACPI_6_4_GIC_ITS_INIT(9, 0x30280000), + EFI_ACPI_6_4_GIC_ITS_INIT(10, 0x302C0000), + EFI_ACPI_6_4_GIC_ITS_INIT(11, 0x30180000), +#endif }, }; =20 diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc b/Platform/ARM= /SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc new file mode 100644 index 000000000000..77288ab1ad93 --- /dev/null +++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.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=3DACPITABLE Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3Ac= piTables.inf --=20 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116266): https://edk2.groups.io/g/devel/message/116266 Mute This Topic: https://groups.io/mt/104668453/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-