From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.73]) by mx.groups.io with SMTP id smtpd.web12.9545.1642865273096655525 for ; Sat, 22 Jan 2022 07:27:53 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=mk+c/PwG; spf=pass (domain: arm.com, ip: 40.107.8.73, mailfrom: khasim.mohammed@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4WpQCwsXC250xwKaoG3yx7CPSPvHn7loRxEHqlGnmHw=; b=mk+c/PwGc0MzUFikLVpfCnMO+QLN3DOAHiu8GfZzqrtuEfVTSIE7zFt33l92l/NG1hBMyahQN0m4VmKywV1S6F17mewFgdbNoYopNQuiOGBVgN55ArQE7hgbPpZ0qNn/3jWQlccW2aRieCCXYoyTx43BH1Um7o6e9EOXRzVnqrQ= Received: from DB6P192CA0019.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::29) by VI1PR08MB4478.eurprd08.prod.outlook.com (2603:10a6:803:f7::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Sat, 22 Jan 2022 15:27:49 +0000 Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:b8:cafe::eb) by DB6P192CA0019.outlook.office365.com (2603:10a6:4:b8::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend Transport; Sat, 22 Jan 2022 15:27:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend Transport; Sat, 22 Jan 2022 15:27:49 +0000 Received: ("Tessian outbound 31aeb3346a45:v113"); Sat, 22 Jan 2022 15:27:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7807d81ca32dbd67 X-CR-MTA-TID: 64aa7808 Received: from 6a14aef6d70e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 81E9AD68-B6A9-4999-91AD-6699A78AFCAC.1; Sat, 22 Jan 2022 15:27:43 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6a14aef6d70e.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sat, 22 Jan 2022 15:27:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RPOOnekib2VZccXReXdZwDg0PkGXxD/0Nh4BELN8567qhuBN6rgR/tapH+rBEkVHF+MarF1lK1M3DaT8NMzU/zHJbWA0PNB0p7yuJQImzmG3uE5KZLwA3Gjslz314uWgBD3FzQ0uZVSJaSp1vOpCepN9ogxAZAF0GP/5vReNps/9OW0XqAqyOc9DtqbXIPF0IIVbl083+DB9MY1HCDbz/mS/ekAO5wkyYnpeVjM83RVrq+5s52rK0X0hRbAJHx2DoIVjUP0RlbhcTOiyBgPuVX93/+Co4dCk6+ALpccLd6FX/OLBaiGuKQ80cTqbUzTONKKiJ7ptMAT5qCZP+ISSNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4WpQCwsXC250xwKaoG3yx7CPSPvHn7loRxEHqlGnmHw=; b=Lr9xG4dO57g+43zt5N+qMEiyxagxQpxkouc8TnrJZuYG/srWy77Gb2TdTrcWSIlPn1PmxD2LVCEXW3+xki3CSjjwnAEC3QEyjUQpzhzgSBQR1cwZuBCmM8R5NfjRI7ggTvO+abchGDn2z0a3vn7pM387XxCjgrqYND1oJECs34c4Y1AT29afnI5n5kM/VWZuLA6YL0NqeLjSwhAq+ZdNHLWRDIsOvsYyW6uIc/sgjBJIe1eU4/wM0G9RiW5RYkUBbD5tlzhSAw3fpthhk9wBSCp9lOcKFL2Aoz86cJN4+HQtiimVm2bCYLVwmiu43JkrCoNhSg+kLiCgh8R6DV+xPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4WpQCwsXC250xwKaoG3yx7CPSPvHn7loRxEHqlGnmHw=; b=mk+c/PwGc0MzUFikLVpfCnMO+QLN3DOAHiu8GfZzqrtuEfVTSIE7zFt33l92l/NG1hBMyahQN0m4VmKywV1S6F17mewFgdbNoYopNQuiOGBVgN55ArQE7hgbPpZ0qNn/3jWQlccW2aRieCCXYoyTx43BH1Um7o6e9EOXRzVnqrQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) by AM0PR08MB4579.eurprd08.prod.outlook.com (2603:10a6:208:108::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Sat, 22 Jan 2022 15:27:42 +0000 Received: from PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::edb5:a2ea:773e:cb8]) by PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::edb5:a2ea:773e:cb8%7]) with mapi id 15.20.4909.014; Sat, 22 Jan 2022 15:27:42 +0000 From: "Khasim Mohammed" To: devel@edk2.groups.io Cc: nd@arm.com, sami.mujawar@arm.com, pierre.gondois@arm.com, Khasim Syed Mohammed Subject: [PATCH v6 3/4] Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support Date: Sat, 22 Jan 2022 20:56:14 +0530 Message-Id: <20220122152615.17366-4-khasim.mohammed@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220122152615.17366-1-khasim.mohammed@arm.com> References: <20220122152615.17366-1-khasim.mohammed@arm.com> X-ClientProxiedBy: PN0PR01CA0017.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:4f::22) To PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 5d52d10a-1e54-467e-53bf-08d9ddbbbfc6 X-MS-TrafficTypeDiagnostic: AM0PR08MB4579:EE_|DB5EUR03FT012:EE_|VI1PR08MB4478:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2582;OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: P2rQTrSd3UDEDDztbjJHiELKOrSKL09pxotgaTFTBDhpE/CN5vhCEoMSTuEt1c36GuuYKkggR3QlHMs8XxDBokie0SVsD3qwJcp565A3OeLSvTAc8la/4WrCFzrzeMWL0xPJ4oxmmHLwwmBYZFGmPCVUgAPczpBU9d47htaNgUnekSwr6RRL7nlje0xm/YeJZIwAiulkPG3T5p6OE65v3x6LB3jMQLPkwPyVlVoc3ZqqTHj1QfJ2MbDs/sRhXFLjhn2LDNKgHitkt0RBQX4rm/1mKoZIqRB9HNaAGMOaoADDHKST1RlKLBL+HFhn62tWykCU5mVATyyJOIipcmKYVjkyI9G5CqdXLrgT67KSUL7FmLrolPcBbhW2YyAKcNJRNXr2QaPJzy7YCqPVAv76IBJKPz1L9nh1qxF5WrMH5C32IG7w8WLd2lXSexuSg8esZSjv0hZzuVUADC08ESK5iPtzcVU/tIlNPgriRkvL166rNIldHlI/b9VEzTPM0ZM34+hOUDkTBr7Twd2lNaWK6kpW12GYurORzYFi3c3bb4PC0imXdqDgx9fxC9OHoaICD4ogdrNm84RLtQmn+eoTY03wtuNmy/FIrziGMihp3TKGzQwPi0/QcIzcalA7kcO1pNts1fAQTFJQDWdoOsrL/qRI+uVI2t62eUjdlcogoNb7clAocP/dTXfq+tU3WZf4XQ0bObXxs3c9YV7Vfb4FQA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR08MB5902.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(186003)(36756003)(83380400001)(6666004)(8676002)(4326008)(5660300002)(6486002)(6916009)(316002)(6512007)(26005)(19627235002)(508600001)(52116002)(2906002)(8936002)(66476007)(38350700002)(38100700002)(66556008)(1076003)(2616005)(66946007)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4579 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Khasim.Mohammed@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 654f770a-0d4d-48a2-847f-08d9ddbbbb71 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ttaPNnFLJp+mCBSyob+aw+EY2zKjQCnaC6SgzWNoH9zbbjW7ZFM5w01VFo4VAh5Fmt3FlRKF2JPC6+jjvWL4WylEGOph0rSpXBqRKhbklK3UeaQDa1gyuhTquFKpLeHqFp+WfCpYLHE+T/McqDQX0kQq3tMgduhrigBxeCW9aqgsTrifJoMPStnVoamUnR84HUZocoC//u6TXZbgftyyZ6YAud2GLT5uDHtOdsnO878CWO3sJwmuM7ACyG3NxsPCZOH9RehmPKONY4KGMocy62dqQb6Rwo9WSns82jFL1BQpkJiDi3vMf3j1clIwUel8UMj2XDH1FhJLsu59wLCR/fLt5+t4nFsnpUXZ61LwBXexTRntr8VCowGrYbnR+5/cKvey0RHqFBgeARyqOH+wydRjkIu6BPOnpWiMPyG3umHTID2xRNFjk8+ALl41YqBW6nDfJa+2YJ6LXo41f0/5HfpcsPZzgK/CwvNNpbqtvsQoXUotXo7q/m6zOdt0jWbsXmR9iWnRc9MhAR0vn1Ocrwhk8LZtSa93Qc2NHW5+3br4OjBs6YJjFXLeg/UJHTWgLV0hZW21nc9LJAsq5wFlFEvPkvIG89raKcHS7QFetv3+n3EvUuWB6P+BmRJQHjYIugU+VO/LGvwpiIz28c9pT/QsyoMxAoCOQKqa0m3sN0m6iRh+KPv1Jfyy4RPZ1lzCLQXLpq2L42jHmNRybjuXmNLxuAf2YCB2b4jmlMOTaMzEGDhK5/Nz920yHU2HVmSH3YcC9eqBgnxIqh1EkZzpnQ== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(40470700004)(2616005)(8936002)(83380400001)(356005)(8676002)(6916009)(81166007)(40460700003)(336012)(1076003)(70586007)(70206006)(47076005)(36860700001)(2906002)(6666004)(19627235002)(4326008)(36756003)(316002)(6486002)(86362001)(82310400004)(508600001)(26005)(6512007)(5660300002)(186003)(6506007);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2022 15:27:49.5704 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5d52d10a-1e54-467e-53bf-08d9ddbbbfc6 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4478 Content-Type: text/plain This patch enables CCIX root complex support by updating the root complex node info in PciHostBridge library. Signed-off-by: Khasim Syed Mohammed --- .../PciHostBridgeLib/PciHostBridgeLib.c | 71 +++++++++++++++++-- .../PciHostBridgeLib/PciHostBridgeLib.inf | 11 ++- 2 files changed, 76 insertions(+), 6 deletions(-) diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c index 9332939f63..1f38f654a8 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c @@ -1,7 +1,7 @@ /** @file * PCI Host Bridge Library instance for ARM Neoverse N1 platform * -* Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. +* Copyright (c) 2019 - 2022, ARM Limited. All rights reserved.
* * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -16,6 +16,8 @@ #include #include +#define ROOT_COMPLEX_NUM 2 + GLOBAL_REMOVE_IF_UNREFERENCED STATIC CHAR16 CONST * CONST mPciHostBridgeLibAcpiAddressSpaceTypeStr[] = { L"Mem", L"I/O", L"Bus" @@ -28,7 +30,7 @@ typedef struct { } EFI_PCI_ROOT_BRIDGE_DEVICE_PATH; #pragma pack () -STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[] = { +STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[ROOT_COMPLEX_NUM] = { // PCIe { { @@ -51,10 +53,33 @@ STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[] = { 0 } } - } + }, + //CCIX + { + { + { + ACPI_DEVICE_PATH, + ACPI_DP, + { + (UINT8)sizeof (ACPI_HID_DEVICE_PATH), + (UINT8)(sizeof (ACPI_HID_DEVICE_PATH) >> 8) + } + }, + EISA_PNP_ID(0x0A09), // CCIX + 0 + }, + { + END_DEVICE_PATH_TYPE, + END_ENTIRE_DEVICE_PATH_SUBTYPE, + { + END_DEVICE_PATH_LENGTH, + 0 + } + } + }, }; -STATIC PCI_ROOT_BRIDGE mPciRootBridge[] = { +STATIC PCI_ROOT_BRIDGE mPciRootBridge[ROOT_COMPLEX_NUM] = { { 0, // Segment 0, // Supports @@ -90,7 +115,43 @@ STATIC PCI_ROOT_BRIDGE mPciRootBridge[] = { 0 }, (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath[0] - } + }, + { + 1, // Segment + 0, // Supports + 0, // Attributes + TRUE, // DmaAbove4G + FALSE, // NoExtendedConfigSpace + FALSE, // ResourceAssigned + EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM | // AllocationAttributes + EFI_PCI_HOST_BRIDGE_MEM64_DECODE, + { + // Bus + FixedPcdGet32 (PcdCcixBusMin), + FixedPcdGet32 (PcdCcixBusMax) + }, { + // Io + FixedPcdGet64 (PcdCcixIoBase), + FixedPcdGet64 (PcdCcixIoBase) + FixedPcdGet64 (PcdCcixIoSize) - 1 + }, { + // Mem + FixedPcdGet32 (PcdCcixMmio32Base), + FixedPcdGet32 (PcdCcixMmio32Base) + FixedPcdGet32 (PcdCcixMmio32Size) - 1 + }, { + // MemAbove4G + FixedPcdGet64 (PcdCcixMmio64Base), + FixedPcdGet64 (PcdCcixMmio64Base) + FixedPcdGet64 (PcdCcixMmio64Size) - 1 + }, { + // PMem + MAX_UINT64, + 0 + }, { + // PMemAbove4G + MAX_UINT64, + 0 + }, + (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath[1] + }, }; /** diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf index 3ff1c592f2..f05bc563e6 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf @@ -1,7 +1,7 @@ ## @file # PCI Host Bridge Library instance for ARM Neoverse N1 platform. # -# Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. +# Copyright (c) 2019 - 2022, ARM Limited. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -42,6 +42,15 @@ gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Base gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Size + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size + [Protocols] gEfiCpuIo2ProtocolGuid -- 2.17.1