From patchwork Fri Mar 31 14:15:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96438 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250827obc; Fri, 31 Mar 2017 07:15:59 -0700 (PDT) X-Received: by 10.98.71.149 with SMTP id p21mr3209750pfi.94.1490969759395; Fri, 31 Mar 2017 07:15:59 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id z193si5368333pgd.261.2017.03.31.07.15.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:15:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 0B2EC2008030A; Fri, 31 Mar 2017 07:15:59 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x233.google.com (mail-wr0-x233.google.com [IPv6:2a00:1450:400c:c0c::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6024820080300 for ; Fri, 31 Mar 2017 07:15:57 -0700 (PDT) Received: by mail-wr0-x233.google.com with SMTP id w11so107082305wrc.3 for ; Fri, 31 Mar 2017 07:15:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VlgOSiPl1ZICUjOnRlcOT2UWHRDCV+8ORpC4OAncjbk=; b=eMRGIUfheLDxaqTvNCSAuKn7HVOlCVkSLlvERBvwq2+PGYAjMKsPNQYnZJZJwvXow4 Y+oDgVMVBbSsBPS9jKii6ihcP+wgbXq5I75zISVWbcdtVL2YvpoGAMcF1//6FEhPXZj/ /+bQlIN6IqzvsQ95pEe2710DTXOOHAw+dxqE8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VlgOSiPl1ZICUjOnRlcOT2UWHRDCV+8ORpC4OAncjbk=; b=q3hvzkgBurJVsUSRXrX9x9d6gUGB69YV6XPdS1rQxraMP3DdIEBXyOVJgQhyuK9Rt0 xgIoA0hITf84H+mmJSBAhrOMK+8ExQEBhi2cjmMHiJvC+ljJyjMpsnKprZwv0m8k2OLp saHGytIWCtr9bGdDtOih6wElRQ28bndu24ibRKVaWeekgn5xjWqjqHSgJdtQ/pFGsAMC Kq5vu5KK4X3MuM1pHWUZKOBWuUjlB5zFxhGBGf5AgvRc/JAHTk77ZNql4DB+GcjhltCC F6afuOeXM07/kwZnkDBHWbPOK+l4NZRb6Il0HKrDnC1+YzLZHpKK2LFbP1cZAi/5lO+r h98w== X-Gm-Message-State: AFeK/H0eJ+snq8s0p0D08pUwsIMrlGzBKx2NzHnpvuHezlyu9x5M47UeZPEIKxVMiVLDaM9+ X-Received: by 10.223.145.199 with SMTP id 65mr2954377wri.182.1490969756000; Fri, 31 Mar 2017 07:15:56 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.15.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:15:55 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:39 +0100 Message-Id: <20170331141547.20987-2-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 01/13] Platforms/VExpress: remove unused logo PCD X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" This file and associated PCD are no longer used by our BDS code, so remove them. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 7 ------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 7 ------- 2 files changed, 14 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 90746158351e..5c3a2316cb68 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -175,13 +175,6 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf - # - # TianoCore logo (splash screen) - # - FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { - SECTION RAW = MdeModulePkg/Logo/Logo.bmp - } - # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 2ace4d8e04c3..81966d2c3bce 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -167,13 +167,6 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf - # - # TianoCore logo (splash screen) - # - FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { - SECTION RAW = MdeModulePkg/Logo/Logo.bmp - } - # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf From patchwork Fri Mar 31 14:15:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96439 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250848obc; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) X-Received: by 10.98.87.1 with SMTP id l1mr3168066pfb.92.1490969761545; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id e27si5372196pfk.373.2017.03.31.07.16.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 400C720080317; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x232.google.com (mail-wr0-x232.google.com [IPv6:2a00:1450:400c:c0c::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8334520080300 for ; Fri, 31 Mar 2017 07:15:59 -0700 (PDT) Received: by mail-wr0-x232.google.com with SMTP id w11so107083768wrc.3 for ; Fri, 31 Mar 2017 07:15:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mFNmu2AidIlD0dtQe4hgVd8q/AFLQajEuoVZrcXLU5Y=; b=DHp1OI/tFOgLRsgFN3p4jBqceJfwj9seWaLpxNxBSv2pWhwwbL1BnXZrEXCmKinZUN BPmys5kdxi/iEc1VViovn5dpqLPqpO+bwiLka1UdxuxYvrmCqJwU32KD/W4BrGzHb5At Lhf/KvXArJgxYY1oUH2eimvWwm3M+Q4ICah+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mFNmu2AidIlD0dtQe4hgVd8q/AFLQajEuoVZrcXLU5Y=; b=ubEGcYjPfb1Bb+y5UMnvaWuJZqlikLBk3HRcTc1rQXKlQw1DaQiqrSoJdmmaHWdec8 JkuqiqteVyMI9cjuQPq1dXln7cijlZ5MseM9ZO20UrMB7ur5GwIe1LotGFnsCdm/q3kX 7id0hah8QgYpJSXQbvjrpjptNxMXHpx/UUCGewgxvg8ZnbeHyHgP14yVT1f8G1q2mkji rlJ+m7qaUYXy9WTrB+Ea1MFUyNTTMCsNRGvMk1XmL3nIFNe7ix9/muoF788e/IbsxiWy 73HHVQU31OYmfUpTrOiJUTAbzgg+IZrT8A8vrJ8VAkOQrp0vOO1nPlgX3r4aiuL6xVwY kbjw== X-Gm-Message-State: AFeK/H0VquuL01PrZURLmV1/d28VFpL7i7/CJB/WmKMYUnIgFLk7YoiV0jEXo8Jpy80J+9o0 X-Received: by 10.223.164.83 with SMTP id e19mr3386857wra.154.1490969758068; Fri, 31 Mar 2017 07:15:58 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.15.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:15:57 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:40 +0100 Message-Id: <20170331141547.20987-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 02/13] Platforms/VExpress: remove unused StatusCode references X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" We never use the status code facility, so remove the libraries and other references to it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 1 - Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 1 - Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 11 ++--------- 3 files changed, 2 insertions(+), 11 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 56feed48495f..f76893626e08 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -209,7 +209,6 @@ ArmPlatformPkg/PlatformPei/PlatformPeim.inf ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf ArmPkg/Drivers/CpuPei/CpuPei.inf - IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf Nt32Pkg/BootModePei/BootModePei.inf MdeModulePkg/Universal/Variable/Pei/VariablePei.inf MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 81966d2c3bce..fbf8e9b30c0e 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -229,7 +229,6 @@ READ_LOCK_STATUS = TRUE INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf INF ArmPkg/Drivers/CpuPei/CpuPei.inf INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf - INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf !endif diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index fdd5341971b7..aed889747b2e 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -155,6 +155,8 @@ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf + ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf + [LibraryClasses.common.SEC] ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf @@ -182,7 +184,6 @@ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf - ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf @@ -197,7 +198,6 @@ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf - ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf @@ -214,14 +214,12 @@ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf [LibraryClasses.common.DXE_DRIVER] - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -234,12 +232,10 @@ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf # UiApp dependencies - ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf [LibraryClasses.common.UEFI_DRIVER] - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -249,7 +245,6 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER] HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigRuntimeLib/ArmVExpressSysConfigRuntimeLib.inf !if $(SECURE_BOOT_ENABLE) == TRUE @@ -366,8 +361,6 @@ # DEBUG_ERROR 0x80000000 // Error gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F - gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 - gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|"" gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000 From patchwork Fri Mar 31 14:15:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96440 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250868obc; Fri, 31 Mar 2017 07:16:04 -0700 (PDT) X-Received: by 10.98.204.195 with SMTP id j64mr3121591pfk.213.1490969764562; Fri, 31 Mar 2017 07:16:04 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id c17si5371829pgg.109.2017.03.31.07.16.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 7A5BB2008031B; Fri, 31 Mar 2017 07:16:03 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x230.google.com (mail-wr0-x230.google.com [IPv6:2a00:1450:400c:c0c::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 999BF20080300 for ; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) Received: by mail-wr0-x230.google.com with SMTP id l43so109824688wre.1 for ; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=FB3+CZuUEFFry/yXwBXPeqIX25PrHDEb4NIluibtQJI=; b=V2rPHyaYc77Qjkm7WllC8JAbqhANAwxKuPavjX0m5uwLROEsYvdpXGLOdyhUBCqiV7 FcOJE2CUWkgB60asVDQVZm4lvT1slVqQCLeJZ1b1pjrPI6EW7c15J8ncwj0+dRFa52JN QX+oqpHj/iHijgW74TlyX3rU/1eQ85PzMMryo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=FB3+CZuUEFFry/yXwBXPeqIX25PrHDEb4NIluibtQJI=; b=TVgw1n6QjRVN1kn0o2RudkAqFNBrs8oVTz7xcJCbdgLm7Bc54n+kAiP9a0COVBjbbx QU4Xth5FTHb9s6arkH0w1PxavOsnG39hZbq2G2A1U79xl02hebTpUHHGtzFbWxrIxtuE JrNi+2OTZoI60RqCp/OkqiBKZ+e4CvyiGkWfs7lHwowMHDYwH4jiYMScuKnyNNcqnSmd zcMXDw9nboUn8J8NTsam7EdgMplN2Ygik6Om+yIyYxpMPOuggBj7CZ8qcemT67VD8UX0 Es54Nmg1XxJTHQYMj+WyNWHaNnvCwzEeqSVnQwZ0/BCHKAp5WxX21TGjjDXL3ejBZlbU 2iAw== X-Gm-Message-State: AFeK/H3gYk5/9rkkCBLKLYy05ifirInFJklg705r6/4hseNElIYqMfocbfPMJFPz71LfPLaA X-Received: by 10.28.134.70 with SMTP id i67mr3535576wmd.124.1490969760201; Fri, 31 Mar 2017 07:16:00 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.15.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:15:59 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:41 +0100 Message-Id: <20170331141547.20987-4-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 03/13] Platforms/VExpress: get rid of Tiano compression X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" There are some references to Tiano compression and to libraries that implement it, but we never use it. So get rid of it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 5 ----- 4 files changed, 32 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index beee7afd11fb..aadde45164a5 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -322,15 +322,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional } -[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 5c3a2316cb68..1903389c8edd 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -265,15 +265,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional } -[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index fbf8e9b30c0e..262515150dd9 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -286,15 +286,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional } -[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index aed889747b2e..9dfe2ac9e440 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -186,7 +186,6 @@ PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf @@ -201,7 +200,6 @@ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf @@ -215,7 +213,6 @@ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf @@ -226,7 +223,6 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf [LibraryClasses.common.UEFI_APPLICATION] - UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf @@ -236,7 +232,6 @@ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf [LibraryClasses.common.UEFI_DRIVER] - UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf From patchwork Fri Mar 31 14:15:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96441 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250893obc; Fri, 31 Mar 2017 07:16:07 -0700 (PDT) X-Received: by 10.84.143.195 with SMTP id 61mr3959900plz.46.1490969767715; Fri, 31 Mar 2017 07:16:07 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id f126si5393056pfg.135.2017.03.31.07.16.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id AF7D321DFA7AC; Fri, 31 Mar 2017 07:16:04 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-lf0-x235.google.com (mail-lf0-x235.google.com [IPv6:2a00:1450:4010:c07::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AFEC620080300 for ; Fri, 31 Mar 2017 07:16:03 -0700 (PDT) Received: by mail-lf0-x235.google.com with SMTP id z15so45020047lfd.1 for ; Fri, 31 Mar 2017 07:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/RHI30vEgLzaVl+gaajAc5psCD5aZ/yo+UEL/jCc9S8=; b=HIxEQluP+r77aXeOlLI4GkUger4Twegi4JOMxFO8QuBksvSf8K8zAdRpVcf7EkWdhM +RV31QTMp8bP1D4EUXx/jqJU39OgEA0aLUBm7vBvunv6lCEEsTEVTHHrC3/ceLmYv2qC DZeDfr0mj4sSe6IQd3OwO8nXhR/gvODGrrXYU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/RHI30vEgLzaVl+gaajAc5psCD5aZ/yo+UEL/jCc9S8=; b=T9W2LpjohRRuzUN1WC306j8mifiVwvl9DPGpNN07qEcEj5G5Gcb91KH5BztKpztebM A6W2HChCl4u3gjL+dgnLeiH33wplC+VCqacDEjUm3aflQH0iIFK1Hb/ZyMJBhPxsT+/S tOdoClRV8dk9UPYcCMr2dgE0fmYMZc0Vh67w/aoolLIxzaZdExqgM6yR7jR0OPBFkz5S 1ea5JFGSSqz3bAMnDBZxftgjNx9kwPIBWgzs6l50vvs9sczhRQWNdSVXGax7DUzkQ31r NH/T0O69qoSZbUgiZ5qgAsEzFmU0kK2QgqN3DmfcwjqF5+C2fnxvH+vlrz86yd1dauJB q+vQ== X-Gm-Message-State: AFeK/H3O/6J2HtNzyzf6wefabZJtwfq0EWyQ4iYtGdQFF4Y3sWmYP6jwv7+ZVBzxan9o2ZlC X-Received: by 10.28.166.133 with SMTP id p127mr3630122wme.62.1490969761828; Fri, 31 Mar 2017 07:16:01 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:01 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:42 +0100 Message-Id: <20170331141547.20987-5-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 04/13] Platforms/VExpress: remove BdsLib library class resolutions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" ArmHwDxe and ArmFvpDxe no longer require a BdsLib library class resolution, so remove the explicit ones from the various .DSCs. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 5 +---- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index ae91a78d2dd8..55640837ba7c 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -244,10 +244,7 @@ # # Platform # - ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf # # Filesystems diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index f76893626e08..1b3c770da03f 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -292,10 +292,7 @@ # # Platform Driver # - ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf OvmfPkg/VirtioBlkDxe/VirtioBlk.inf # From patchwork Fri Mar 31 14:15:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96442 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250921obc; Fri, 31 Mar 2017 07:16:11 -0700 (PDT) X-Received: by 10.84.194.1 with SMTP id g1mr3916917pld.98.1490969771622; Fri, 31 Mar 2017 07:16:11 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id f1si5387303plf.93.2017.03.31.07.16.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id DE6872008031F; Fri, 31 Mar 2017 07:16:08 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x22e.google.com (mail-wr0-x22e.google.com [IPv6:2a00:1450:400c:c0c::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id ECCD421BC6A24 for ; Fri, 31 Mar 2017 07:16:06 -0700 (PDT) Received: by mail-wr0-x22e.google.com with SMTP id k6so102859620wre.2 for ; Fri, 31 Mar 2017 07:16:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1x0lem+KTfH20KoSOFjrKSLpRYqd5pcT7uxFnAUAc+0=; b=hCzvQvNNMxfixcoEiXole5oLBuYAwkJ0cUbpSZfsCvGQvlWJtCRlzzOe0JLuF964iR JM/7Ol878vo5cpn7d72FPvIpmlyojR0YI6ic/APR7Fa2iLt0au+YboUoScCitkKIIo7V 8a9iz3oqpPnsvQHpOPRBQ5mz1rBDB6+Pk8yg8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1x0lem+KTfH20KoSOFjrKSLpRYqd5pcT7uxFnAUAc+0=; b=Uh0UhDERmAjtAwCOfIwThHQdmKBtf5WgEMTBOqjvSVbQ4YLw+KUQbRwI/MGOXkoa8U XNWdOzONqdlqsSx5pnyTHhQEceBSreiWffFeeC7H/kAtxmcN0O794lBD4au3lbmDcB0A IOQV5RyIwh6W5eRzSar0MSb9MPCQeCGM9v6k7VzdsSoZGNxI6WCuIM6virWy2JWtYpZL ZvI2UbFxOg8XvxKM8+YWv5vbdAJv7Omo1FCeHz/b+oUjMHmqMJYl102aOm8yUL3dgatD oqPpS2VtzfChmAkK6EycOIShehz0vmW53OBEIcB6BFA7wgvn9+gfftHHmK1Molmp0ei0 ztAg== X-Gm-Message-State: AFeK/H2G9iHqB+WzznI1B9NBDsMbmggwEo0/8SltoyUwdIrhSTwioxvV6D9HeUSdw2CRqKsM X-Received: by 10.223.136.125 with SMTP id e58mr3347652wre.14.1490969764671; Fri, 31 Mar 2017 07:16:04 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:03 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:43 +0100 Message-Id: <20170331141547.20987-6-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 05/13] Platforms/TC2: move to new DtPlatformDxe driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Replace the slightly overengineered FdtPlatformDxe driver with the new and simple DtPlatformDxe driver, which simply exposes a single builtin device tree binary to the OS. Note that this driver is configurable, i.e., it allows ACPI to be selected instead of device tree, in which case AcpiPlatformDxe is allowed to run. Note that this means we have to move the reference to FdtPlatformDxe.inf from the shared .DSC to the individual .DSCs for Juno and FVP that will keep using it for now. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.dsc | 8 + Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 17 +- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 13 +- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 + Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 8 - Platforms/ARM/VExpress/DeviceTree/vexpress-v2m-rs1.dtsi | 442 +++++++++++++ Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dtb | Bin 0 -> 19070 bytes Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dts | 659 ++++++++++++++++++++ 8 files changed, 1133 insertions(+), 22 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 1f56643ae996..71dc5463a84f 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -336,6 +336,14 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + # + # FDT installation + # + EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { + + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + } + [Components.AARCH64] # # EBC diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index 55640837ba7c..43856fe5c3ae 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -55,6 +55,8 @@ TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf + DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf + [BuildOptions] !ifdef ARM_BIGLITTLE_TC2 *_*_ARM_ARCHCC_FLAGS = -DARM_BIGLITTLE_TC2=1 @@ -173,11 +175,6 @@ gEmbeddedTokenSpaceGuid.PcdLan9118DefaultNegotiationTimeout|400000 # - # Define the device path to the FDT for the platform - # - gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/ca15a7" - - # # ARM Architectural Timer Frequency # !ifdef ARM_BIGLITTLE_TC2 @@ -269,7 +266,15 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf { + + NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf + } + + # + # FDT installation + # + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf # # Bds diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 1903389c8edd..8bdde76a2ad5 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -181,14 +181,11 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243 # # FDT installation # - # The UEFI driver is at the end of the list of the driver to be dispatched - # after the device drivers (eg: Ethernet) to ensure we have support for them. - INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf - - # Example to add a Device Tree to the Firmware Volume - #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressHwA15x2A7x3) { - # SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/vexpress-v2p-ca15_a7.dtb - #} + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dtb + } [FV.FVMAIN_COMPACT] FvBaseAddress = 0xB0000000 diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 1b3c770da03f..e6778aafe8c6 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -315,3 +315,11 @@ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + + # + # FDT installation + # + EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { + + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + } diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index 9dfe2ac9e440..8c4de54c8875 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -491,14 +491,6 @@ MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf # - # FDT installation - # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } - - # # UEFI application (Shell Embedded Boot Loader) # ShellPkg/Application/Shell/Shell.inf { diff --git a/Platforms/ARM/VExpress/DeviceTree/vexpress-v2m-rs1.dtsi b/Platforms/ARM/VExpress/DeviceTree/vexpress-v2m-rs1.dtsi new file mode 100644 index 000000000000..3086efacd00e --- /dev/null +++ b/Platforms/ARM/VExpress/DeviceTree/vexpress-v2m-rs1.dtsi @@ -0,0 +1,442 @@ +/* + * ARM Ltd. Versatile Express + * + * Motherboard Express uATX + * V2M-P1 + * + * HBI-0190D + * + * RS1 memory map ("ARM Cortex-A Series memory map" in the board's + * Technical Reference Manual) + * + * WARNING! The hardware described in this file is independent from the + * original variant (vexpress-v2m.dtsi), but there is a strong + * correspondence between the two configurations. + * + * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT + * CHANGES TO vexpress-v2m.dtsi! + */ + + motherboard { + model = "V2M-P1"; + arm,hbi = <0x190>; + arm,vexpress,site = <0>; + arm,v2m-memory-map = "rs1"; + compatible = "arm,vexpress,v2m-p1", "simple-bus"; + #address-cells = <2>; /* SMB chipselect number and offset */ + #size-cells = <1>; + #interrupt-cells = <1>; + ranges; + + flash@0,00000000 { + compatible = "arm,vexpress-flash", "cfi-flash"; + reg = <0 0x00000000 0x04000000>, + <4 0x00000000 0x04000000>; + bank-width = <4>; + }; + + psram@1,00000000 { + compatible = "arm,vexpress-psram", "mtd-ram"; + reg = <1 0x00000000 0x02000000>; + bank-width = <4>; + }; + + v2m_video_ram: vram@2,00000000 { + compatible = "arm,vexpress-vram"; + reg = <2 0x00000000 0x00800000>; + }; + + ethernet@2,02000000 { + compatible = "smsc,lan9118", "smsc,lan9115"; + reg = <2 0x02000000 0x10000>; + interrupts = <15>; + phy-mode = "mii"; + reg-io-width = <4>; + smsc,irq-active-high; + smsc,irq-push-pull; + vdd33a-supply = <&v2m_fixed_3v3>; + vddvario-supply = <&v2m_fixed_3v3>; + }; + + usb@2,03000000 { + compatible = "nxp,usb-isp1761"; + reg = <2 0x03000000 0x20000>; + interrupts = <16>; + port1-otg; + }; + + iofpga@3,00000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 3 0 0x200000>; + + v2m_sysreg: sysreg@010000 { + compatible = "arm,vexpress-sysreg"; + reg = <0x010000 0x1000>; + + v2m_led_gpios: sys_led { + compatible = "arm,vexpress-sysreg,sys_led"; + gpio-controller; + #gpio-cells = <2>; + }; + + v2m_mmc_gpios: sys_mci { + compatible = "arm,vexpress-sysreg,sys_mci"; + gpio-controller; + #gpio-cells = <2>; + }; + + v2m_flash_gpios: sys_flash { + compatible = "arm,vexpress-sysreg,sys_flash"; + gpio-controller; + #gpio-cells = <2>; + }; + }; + + v2m_sysctl: sysctl@020000 { + compatible = "arm,sp810", "arm,primecell"; + reg = <0x020000 0x1000>; + clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; + clock-names = "refclk", "timclk", "apb_pclk"; + #clock-cells = <1>; + clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; + assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>; + assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>; + }; + + /* PCI-E I2C bus */ + v2m_i2c_pcie: i2c@030000 { + compatible = "arm,versatile-i2c"; + reg = <0x030000 0x1000>; + + #address-cells = <1>; + #size-cells = <0>; + + pcie-switch@60 { + compatible = "idt,89hpes32h8"; + reg = <0x60>; + }; + }; + + aaci@040000 { + compatible = "arm,pl041", "arm,primecell"; + reg = <0x040000 0x1000>; + interrupts = <11>; + clocks = <&smbclk>; + clock-names = "apb_pclk"; + }; + + mmci@050000 { + compatible = "arm,pl180", "arm,primecell"; + reg = <0x050000 0x1000>; + interrupts = <9 10>; + cd-gpios = <&v2m_mmc_gpios 0 0>; + wp-gpios = <&v2m_mmc_gpios 1 0>; + max-frequency = <12000000>; + vmmc-supply = <&v2m_fixed_3v3>; + clocks = <&v2m_clk24mhz>, <&smbclk>; + clock-names = "mclk", "apb_pclk"; + }; + + kmi@060000 { + compatible = "arm,pl050", "arm,primecell"; + reg = <0x060000 0x1000>; + interrupts = <12>; + clocks = <&v2m_clk24mhz>, <&smbclk>; + clock-names = "KMIREFCLK", "apb_pclk"; + }; + + kmi@070000 { + compatible = "arm,pl050", "arm,primecell"; + reg = <0x070000 0x1000>; + interrupts = <13>; + clocks = <&v2m_clk24mhz>, <&smbclk>; + clock-names = "KMIREFCLK", "apb_pclk"; + }; + + v2m_serial0: uart@090000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x090000 0x1000>; + interrupts = <5>; + clocks = <&v2m_oscclk2>, <&smbclk>; + clock-names = "uartclk", "apb_pclk"; + }; + + v2m_serial1: uart@0a0000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0a0000 0x1000>; + interrupts = <6>; + clocks = <&v2m_oscclk2>, <&smbclk>; + clock-names = "uartclk", "apb_pclk"; + }; + + v2m_serial2: uart@0b0000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0b0000 0x1000>; + interrupts = <7>; + clocks = <&v2m_oscclk2>, <&smbclk>; + clock-names = "uartclk", "apb_pclk"; + }; + + v2m_serial3: uart@0c0000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0c0000 0x1000>; + interrupts = <8>; + clocks = <&v2m_oscclk2>, <&smbclk>; + clock-names = "uartclk", "apb_pclk"; + }; + + wdt@0f0000 { + compatible = "arm,sp805", "arm,primecell"; + reg = <0x0f0000 0x1000>; + interrupts = <0>; + clocks = <&v2m_refclk32khz>, <&smbclk>; + clock-names = "wdogclk", "apb_pclk"; + }; + + v2m_timer01: timer@110000 { + compatible = "arm,sp804", "arm,primecell"; + reg = <0x110000 0x1000>; + interrupts = <2>; + clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; + clock-names = "timclken1", "timclken2", "apb_pclk"; + }; + + v2m_timer23: timer@120000 { + compatible = "arm,sp804", "arm,primecell"; + reg = <0x120000 0x1000>; + interrupts = <3>; + clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; + clock-names = "timclken1", "timclken2", "apb_pclk"; + }; + + /* DVI I2C bus */ + v2m_i2c_dvi: i2c@160000 { + compatible = "arm,versatile-i2c"; + reg = <0x160000 0x1000>; + + #address-cells = <1>; + #size-cells = <0>; + + dvi-transmitter@39 { + compatible = "sil,sii9022-tpi", "sil,sii9022"; + reg = <0x39>; + }; + + dvi-transmitter@60 { + compatible = "sil,sii9022-cpi", "sil,sii9022"; + reg = <0x60>; + }; + }; + + rtc@170000 { + compatible = "arm,pl031", "arm,primecell"; + reg = <0x170000 0x1000>; + interrupts = <4>; + clocks = <&smbclk>; + clock-names = "apb_pclk"; + }; + + compact-flash@1a0000 { + compatible = "arm,vexpress-cf", "ata-generic"; + reg = <0x1a0000 0x100 + 0x1a0100 0xf00>; + reg-shift = <2>; + }; + + clcd@1f0000 { + compatible = "arm,pl111", "arm,primecell"; + reg = <0x1f0000 0x1000>; + interrupt-names = "combined"; + interrupts = <14>; + clocks = <&v2m_oscclk1>, <&smbclk>; + clock-names = "clcdclk", "apb_pclk"; + memory-region = <&v2m_video_ram>; + max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */ + + port { + v2m_clcd_pads: endpoint { + remote-endpoint = <&v2m_clcd_panel>; + arm,pl11x,tft-r0g0b0-pads = <0 8 16>; + }; + }; + + panel { + compatible = "panel-dpi"; + + port { + v2m_clcd_panel: endpoint { + remote-endpoint = <&v2m_clcd_pads>; + }; + }; + + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + hback-porch = <40>; + hfront-porch = <24>; + hsync-len = <96>; + vactive = <480>; + vback-porch = <32>; + vfront-porch = <11>; + vsync-len = <2>; + }; + }; + }; + }; + + v2m_fixed_3v3: fixed-regulator-0 { + compatible = "regulator-fixed"; + regulator-name = "3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + v2m_clk24mhz: clk24mhz { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "v2m:clk24mhz"; + }; + + v2m_refclk1mhz: refclk1mhz { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <1000000>; + clock-output-names = "v2m:refclk1mhz"; + }; + + v2m_refclk32khz: refclk32khz { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + clock-output-names = "v2m:refclk32khz"; + }; + + leds { + compatible = "gpio-leds"; + + user1 { + label = "v2m:green:user1"; + gpios = <&v2m_led_gpios 0 0>; + linux,default-trigger = "heartbeat"; + }; + + user2 { + label = "v2m:green:user2"; + gpios = <&v2m_led_gpios 1 0>; + linux,default-trigger = "mmc0"; + }; + + user3 { + label = "v2m:green:user3"; + gpios = <&v2m_led_gpios 2 0>; + linux,default-trigger = "cpu0"; + }; + + user4 { + label = "v2m:green:user4"; + gpios = <&v2m_led_gpios 3 0>; + linux,default-trigger = "cpu1"; + }; + + user5 { + label = "v2m:green:user5"; + gpios = <&v2m_led_gpios 4 0>; + linux,default-trigger = "cpu2"; + }; + + user6 { + label = "v2m:green:user6"; + gpios = <&v2m_led_gpios 5 0>; + linux,default-trigger = "cpu3"; + }; + + user7 { + label = "v2m:green:user7"; + gpios = <&v2m_led_gpios 6 0>; + linux,default-trigger = "cpu4"; + }; + + user8 { + label = "v2m:green:user8"; + gpios = <&v2m_led_gpios 7 0>; + linux,default-trigger = "cpu5"; + }; + }; + + mcc { + compatible = "arm,vexpress,config-bus"; + arm,vexpress,config-bridge = <&v2m_sysreg>; + + oscclk0 { + /* MCC static memory clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 0>; + freq-range = <25000000 60000000>; + #clock-cells = <0>; + clock-output-names = "v2m:oscclk0"; + }; + + v2m_oscclk1: oscclk1 { + /* CLCD clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 1>; + freq-range = <23750000 65000000>; + #clock-cells = <0>; + clock-output-names = "v2m:oscclk1"; + }; + + v2m_oscclk2: oscclk2 { + /* IO FPGA peripheral clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 2>; + freq-range = <24000000 24000000>; + #clock-cells = <0>; + clock-output-names = "v2m:oscclk2"; + }; + + volt-vio { + /* Logic level voltage */ + compatible = "arm,vexpress-volt"; + arm,vexpress-sysreg,func = <2 0>; + regulator-name = "VIO"; + regulator-always-on; + label = "VIO"; + }; + + temp-mcc { + /* MCC internal operating temperature */ + compatible = "arm,vexpress-temp"; + arm,vexpress-sysreg,func = <4 0>; + label = "MCC"; + }; + + reset { + compatible = "arm,vexpress-reset"; + arm,vexpress-sysreg,func = <5 0>; + }; + + muxfpga { + compatible = "arm,vexpress-muxfpga"; + arm,vexpress-sysreg,func = <7 0>; + }; + + shutdown { + compatible = "arm,vexpress-shutdown"; + arm,vexpress-sysreg,func = <8 0>; + }; + + reboot { + compatible = "arm,vexpress-reboot"; + arm,vexpress-sysreg,func = <9 0>; + }; + + dvimode { + compatible = "arm,vexpress-dvimode"; + arm,vexpress-sysreg,func = <11 0>; + }; + }; + }; diff --git a/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dtb b/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dtb new file mode 100644 index 0000000000000000000000000000000000000000..fe655a05cc6e48d2a9d4247c85c04472e1a146ab GIT binary patch literal 19070 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 literal 0 HcmV?d00001 diff --git a/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dts b/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dts new file mode 100644 index 000000000000..bd107c5a0226 --- /dev/null +++ b/Platforms/ARM/VExpress/DeviceTree/vexpress-v2p-ca15_a7.dts @@ -0,0 +1,659 @@ +/* + * ARM Ltd. Versatile Express + * + * CoreTile Express A15x2 A7x3 + * Cortex-A15_A7 MPCore (V2P-CA15_A7) + * + * HBI-0249A + */ + +/dts-v1/; + +/ { + model = "V2P-CA15_CA7"; + arm,hbi = <0x249>; + arm,vexpress,site = <0xf>; + compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + chosen { }; + + aliases { + serial0 = &v2m_serial0; + serial1 = &v2m_serial1; + serial2 = &v2m_serial2; + serial3 = &v2m_serial3; + i2c0 = &v2m_i2c_dvi; + i2c1 = &v2m_i2c_pcie; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a15"; + reg = <0>; + cci-control-port = <&cci_control1>; + cpu-idle-states = <&CLUSTER_SLEEP_BIG>; + capacity-dmips-mhz = <1024>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a15"; + reg = <1>; + cci-control-port = <&cci_control1>; + cpu-idle-states = <&CLUSTER_SLEEP_BIG>; + capacity-dmips-mhz = <1024>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x100>; + cci-control-port = <&cci_control2>; + cpu-idle-states = <&CLUSTER_SLEEP_LITTLE>; + capacity-dmips-mhz = <516>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x101>; + cci-control-port = <&cci_control2>; + cpu-idle-states = <&CLUSTER_SLEEP_LITTLE>; + capacity-dmips-mhz = <516>; + }; + + cpu4: cpu@4 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x102>; + cci-control-port = <&cci_control2>; + cpu-idle-states = <&CLUSTER_SLEEP_LITTLE>; + capacity-dmips-mhz = <516>; + }; + + idle-states { + CLUSTER_SLEEP_BIG: cluster-sleep-big { + compatible = "arm,idle-state"; + local-timer-stop; + entry-latency-us = <1000>; + exit-latency-us = <700>; + min-residency-us = <2000>; + }; + + CLUSTER_SLEEP_LITTLE: cluster-sleep-little { + compatible = "arm,idle-state"; + local-timer-stop; + entry-latency-us = <1000>; + exit-latency-us = <500>; + min-residency-us = <2500>; + }; + }; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0 0x80000000 0 0x40000000>; + }; + + wdt@2a490000 { + compatible = "arm,sp805", "arm,primecell"; + reg = <0 0x2a490000 0 0x1000>; + interrupts = <0 98 4>; + clocks = <&oscclk6a>, <&oscclk6a>; + clock-names = "wdogclk", "apb_pclk"; + }; + + hdlcd@2b000000 { + compatible = "arm,hdlcd"; + reg = <0 0x2b000000 0 0x1000>; + interrupts = <0 85 4>; + clocks = <&hdlcd_clk>; + clock-names = "pxlclk"; + }; + + memory-controller@2b0a0000 { + compatible = "arm,pl341", "arm,primecell"; + reg = <0 0x2b0a0000 0 0x1000>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + }; + + gic: interrupt-controller@2c001000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0 0x2c001000 0 0x1000>, + <0 0x2c002000 0 0x2000>, + <0 0x2c004000 0 0x2000>, + <0 0x2c006000 0 0x2000>; + interrupts = <1 9 0xf04>; + }; + + cci@2c090000 { + compatible = "arm,cci-400"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0 0x2c090000 0 0x1000>; + ranges = <0x0 0x0 0x2c090000 0x10000>; + + cci_control1: slave-if@4000 { + compatible = "arm,cci-400-ctrl-if"; + interface-type = "ace"; + reg = <0x4000 0x1000>; + }; + + cci_control2: slave-if@5000 { + compatible = "arm,cci-400-ctrl-if"; + interface-type = "ace"; + reg = <0x5000 0x1000>; + }; + + pmu@9000 { + compatible = "arm,cci-400-pmu,r0"; + reg = <0x9000 0x5000>; + interrupts = <0 105 4>, + <0 101 4>, + <0 102 4>, + <0 103 4>, + <0 104 4>; + }; + }; + + memory-controller@7ffd0000 { + compatible = "arm,pl354", "arm,primecell"; + reg = <0 0x7ffd0000 0 0x1000>; + interrupts = <0 86 4>, + <0 87 4>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + }; + + dma@7ff00000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0 0x7ff00000 0 0x1000>; + interrupts = <0 92 4>, + <0 88 4>, + <0 89 4>, + <0 90 4>, + <0 91 4>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + }; + + scc@7fff0000 { + compatible = "arm,vexpress-scc,v2p-ca15_a7", "arm,vexpress-scc"; + reg = <0 0x7fff0000 0 0x1000>; + interrupts = <0 95 4>; + }; + + timer { + compatible = "arm,armv7-timer"; + interrupts = <1 13 0xf08>, + <1 14 0xf08>, + <1 11 0xf08>, + <1 10 0xf08>; + }; + + pmu_a15 { + compatible = "arm,cortex-a15-pmu"; + interrupts = <0 68 4>, + <0 69 4>; + interrupt-affinity = <&cpu0>, + <&cpu1>; + }; + + pmu_a7 { + compatible = "arm,cortex-a7-pmu"; + interrupts = <0 128 4>, + <0 129 4>, + <0 130 4>; + interrupt-affinity = <&cpu2>, + <&cpu3>, + <&cpu4>; + }; + + oscclk6a: oscclk6a { + /* Reference 24MHz clock */ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "oscclk6a"; + }; + + dcc { + compatible = "arm,vexpress,config-bus"; + arm,vexpress,config-bridge = <&v2m_sysreg>; + + oscclk0 { + /* A15 PLL 0 reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 0>; + freq-range = <17000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk0"; + }; + + oscclk1 { + /* A15 PLL 1 reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 1>; + freq-range = <17000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk1"; + }; + + oscclk2 { + /* A7 PLL 0 reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 2>; + freq-range = <17000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk2"; + }; + + oscclk3 { + /* A7 PLL 1 reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 3>; + freq-range = <17000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk3"; + }; + + oscclk4 { + /* External AXI master clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 4>; + freq-range = <20000000 40000000>; + #clock-cells = <0>; + clock-output-names = "oscclk4"; + }; + + hdlcd_clk: oscclk5 { + /* HDLCD PLL reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 5>; + freq-range = <23750000 165000000>; + #clock-cells = <0>; + clock-output-names = "oscclk5"; + }; + + smbclk: oscclk6 { + /* Static memory controller clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 6>; + freq-range = <20000000 40000000>; + #clock-cells = <0>; + clock-output-names = "oscclk6"; + }; + + oscclk7 { + /* SYS PLL reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 7>; + freq-range = <17000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk7"; + }; + + oscclk8 { + /* DDR2 PLL reference clock */ + compatible = "arm,vexpress-osc"; + arm,vexpress-sysreg,func = <1 8>; + freq-range = <20000000 50000000>; + #clock-cells = <0>; + clock-output-names = "oscclk8"; + }; + + volt-a15 { + /* A15 CPU core voltage */ + compatible = "arm,vexpress-volt"; + arm,vexpress-sysreg,func = <2 0>; + regulator-name = "A15 Vcore"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1050000>; + regulator-always-on; + label = "A15 Vcore"; + }; + + volt-a7 { + /* A7 CPU core voltage */ + compatible = "arm,vexpress-volt"; + arm,vexpress-sysreg,func = <2 1>; + regulator-name = "A7 Vcore"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1050000>; + regulator-always-on; + label = "A7 Vcore"; + }; + + amp-a15 { + /* Total current for the two A15 cores */ + compatible = "arm,vexpress-amp"; + arm,vexpress-sysreg,func = <3 0>; + label = "A15 Icore"; + }; + + amp-a7 { + /* Total current for the three A7 cores */ + compatible = "arm,vexpress-amp"; + arm,vexpress-sysreg,func = <3 1>; + label = "A7 Icore"; + }; + + temp-dcc { + /* DCC internal temperature */ + compatible = "arm,vexpress-temp"; + arm,vexpress-sysreg,func = <4 0>; + label = "DCC"; + }; + + power-a15 { + /* Total power for the two A15 cores */ + compatible = "arm,vexpress-power"; + arm,vexpress-sysreg,func = <12 0>; + label = "A15 Pcore"; + }; + + power-a7 { + /* Total power for the three A7 cores */ + compatible = "arm,vexpress-power"; + arm,vexpress-sysreg,func = <12 1>; + label = "A7 Pcore"; + }; + + energy-a15 { + /* Total energy for the two A15 cores */ + compatible = "arm,vexpress-energy"; + arm,vexpress-sysreg,func = <13 0>, <13 1>; + label = "A15 Jcore"; + }; + + energy-a7 { + /* Total energy for the three A7 cores */ + compatible = "arm,vexpress-energy"; + arm,vexpress-sysreg,func = <13 2>, <13 3>; + label = "A7 Jcore"; + }; + }; + + etb@0,20010000 { + compatible = "arm,coresight-etb10", "arm,primecell"; + reg = <0 0x20010000 0 0x1000>; + + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + etb_in_port: endpoint { + slave-mode; + remote-endpoint = <&replicator_out_port0>; + }; + }; + }; + + tpiu@0,20030000 { + compatible = "arm,coresight-tpiu", "arm,primecell"; + reg = <0 0x20030000 0 0x1000>; + + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + tpiu_in_port: endpoint { + slave-mode; + remote-endpoint = <&replicator_out_port1>; + }; + }; + }; + + replicator { + /* non-configurable replicators don't show up on the + * AMBA bus. As such no need to add "arm,primecell". + */ + compatible = "arm,coresight-replicator"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* replicator output ports */ + port@0 { + reg = <0>; + replicator_out_port0: endpoint { + remote-endpoint = <&etb_in_port>; + }; + }; + + port@1 { + reg = <1>; + replicator_out_port1: endpoint { + remote-endpoint = <&tpiu_in_port>; + }; + }; + + /* replicator input port */ + port@2 { + reg = <0>; + replicator_in_port0: endpoint { + slave-mode; + remote-endpoint = <&funnel_out_port0>; + }; + }; + }; + }; + + funnel@0,20040000 { + compatible = "arm,coresight-funnel", "arm,primecell"; + reg = <0 0x20040000 0 0x1000>; + + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* funnel output port */ + port@0 { + reg = <0>; + funnel_out_port0: endpoint { + remote-endpoint = + <&replicator_in_port0>; + }; + }; + + /* funnel input ports */ + port@1 { + reg = <0>; + funnel_in_port0: endpoint { + slave-mode; + remote-endpoint = <&ptm0_out_port>; + }; + }; + + port@2 { + reg = <1>; + funnel_in_port1: endpoint { + slave-mode; + remote-endpoint = <&ptm1_out_port>; + }; + }; + + port@3 { + reg = <2>; + funnel_in_port2: endpoint { + slave-mode; + remote-endpoint = <&etm0_out_port>; + }; + }; + + /* Input port #3 is for ITM, not supported here */ + + port@4 { + reg = <4>; + funnel_in_port4: endpoint { + slave-mode; + remote-endpoint = <&etm1_out_port>; + }; + }; + + port@5 { + reg = <5>; + funnel_in_port5: endpoint { + slave-mode; + remote-endpoint = <&etm2_out_port>; + }; + }; + }; + }; + + ptm@0,2201c000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2201c000 0 0x1000>; + + cpu = <&cpu0>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + ptm0_out_port: endpoint { + remote-endpoint = <&funnel_in_port0>; + }; + }; + }; + + ptm@0,2201d000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2201d000 0 0x1000>; + + cpu = <&cpu1>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + ptm1_out_port: endpoint { + remote-endpoint = <&funnel_in_port1>; + }; + }; + }; + + etm@0,2203c000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2203c000 0 0x1000>; + + cpu = <&cpu2>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + etm0_out_port: endpoint { + remote-endpoint = <&funnel_in_port2>; + }; + }; + }; + + etm@0,2203d000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2203d000 0 0x1000>; + + cpu = <&cpu3>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + etm1_out_port: endpoint { + remote-endpoint = <&funnel_in_port4>; + }; + }; + }; + + etm@0,2203e000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2203e000 0 0x1000>; + + cpu = <&cpu4>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + etm2_out_port: endpoint { + remote-endpoint = <&funnel_in_port5>; + }; + }; + }; + + smb@08000000 { + compatible = "simple-bus"; + + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0 0x08000000 0x04000000>, + <1 0 0 0x14000000 0x04000000>, + <2 0 0 0x18000000 0x04000000>, + <3 0 0 0x1c000000 0x04000000>, + <4 0 0 0x0c000000 0x04000000>, + <5 0 0 0x10000000 0x04000000>; + + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 63>; + interrupt-map = <0 0 0 &gic 0 0 4>, + <0 0 1 &gic 0 1 4>, + <0 0 2 &gic 0 2 4>, + <0 0 3 &gic 0 3 4>, + <0 0 4 &gic 0 4 4>, + <0 0 5 &gic 0 5 4>, + <0 0 6 &gic 0 6 4>, + <0 0 7 &gic 0 7 4>, + <0 0 8 &gic 0 8 4>, + <0 0 9 &gic 0 9 4>, + <0 0 10 &gic 0 10 4>, + <0 0 11 &gic 0 11 4>, + <0 0 12 &gic 0 12 4>, + <0 0 13 &gic 0 13 4>, + <0 0 14 &gic 0 14 4>, + <0 0 15 &gic 0 15 4>, + <0 0 16 &gic 0 16 4>, + <0 0 17 &gic 0 17 4>, + <0 0 18 &gic 0 18 4>, + <0 0 19 &gic 0 19 4>, + <0 0 20 &gic 0 20 4>, + <0 0 21 &gic 0 21 4>, + <0 0 22 &gic 0 22 4>, + <0 0 23 &gic 0 23 4>, + <0 0 24 &gic 0 24 4>, + <0 0 25 &gic 0 25 4>, + <0 0 26 &gic 0 26 4>, + <0 0 27 &gic 0 27 4>, + <0 0 28 &gic 0 28 4>, + <0 0 29 &gic 0 29 4>, + <0 0 30 &gic 0 30 4>, + <0 0 31 &gic 0 31 4>, + <0 0 32 &gic 0 32 4>, + <0 0 33 &gic 0 33 4>, + <0 0 34 &gic 0 34 4>, + <0 0 35 &gic 0 35 4>, + <0 0 36 &gic 0 36 4>, + <0 0 37 &gic 0 37 4>, + <0 0 38 &gic 0 38 4>, + <0 0 39 &gic 0 39 4>, + <0 0 40 &gic 0 40 4>, + <0 0 41 &gic 0 41 4>, + <0 0 42 &gic 0 42 4>; + + /include/ "vexpress-v2m-rs1.dtsi" + }; + + site2: hsb@40000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0x40000000 0x3fef0000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 3>; + interrupt-map = <0 0 &gic 0 36 4>, + <0 1 &gic 0 37 4>, + <0 2 &gic 0 38 4>, + <0 3 &gic 0 39 4>; + }; +}; From patchwork Fri Mar 31 14:15:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96443 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250961obc; Fri, 31 Mar 2017 07:16:15 -0700 (PDT) X-Received: by 10.98.196.12 with SMTP id y12mr3121354pff.49.1490969775658; Fri, 31 Mar 2017 07:16:15 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id y11si5385248plg.82.2017.03.31.07.16.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 24C4C20080323; Fri, 31 Mar 2017 07:16:11 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-lf0-x22d.google.com (mail-lf0-x22d.google.com [IPv6:2a00:1450:4010:c07::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8203D2008031D for ; Fri, 31 Mar 2017 07:16:08 -0700 (PDT) Received: by mail-lf0-x22d.google.com with SMTP id h125so44937717lfe.0 for ; Fri, 31 Mar 2017 07:16:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=uB4xXQqqbiBiBe6qbgHf+yQehoIX3s+EnH9PLxIXb/Y=; b=X9j11V05Gyf7GrgTwt6jwYui8sp23DoiZD5J/lMiX0mley+maPDB1gJ50vcMcUd1Nn BRVI6hvLnMEZDLij1rGn0sqQEhAknpfO7OnUBca6fXF0+B+ccB/PeaTVTYMeMyDnJRZ0 Pea7NjnpSWuxbVV1ifX8254xabTyWd8W5+BGQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=uB4xXQqqbiBiBe6qbgHf+yQehoIX3s+EnH9PLxIXb/Y=; b=irj/DsaLc4vaZpa9Szn39xrHnQQY5aaVyc41xBfTeOMHWHQRQvk0slcP+GUWZlSgNS fDkMCc3h072noOQ0BHP5iNpEPyWncc24qoMoSDy5PGDBE+B8X8nYlmH0eE+g3bM+7TZW qtPmcJynbEQ3XS3KfjZvdP3Syn258swYYwfzTnnlh8385hrpm8oA+vYRSjMqxtP5FmAA 4hZ55QufMshyH4H8BFmFvu9QxisrgXEkRueSBnCJIxeqVvO+4ULVHtPIjcF6Na+4JPYL sCif9ve7I17zlAaliufQq4u/MSkVN6C1Q7Erohvm6Y22tDg/I2jVE0QPvfZa+ehdxGzd FEVQ== X-Gm-Message-State: AFeK/H0AoYnHRttsODfENTvViAt9ssr42c0RntdM0xOdA5tCw0RQbJ3LHyD4XO1RoUFE1KD7 X-Received: by 10.28.105.92 with SMTP id e89mr2947497wmc.93.1490969766718; Fri, 31 Mar 2017 07:16:06 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:06 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:44 +0100 Message-Id: <20170331141547.20987-7-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 06/13] Platforms/FVP: add DtPlatformDtbLoaderLib implementation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" In preparation of switching to DtPlatformDxe to supply the device tree image to the OS, add an implementation of DtPlatformDtbLoaderLib that loads the correct version from an FV. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c | 134 ++++++++++++++++++++ Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf | 39 ++++++ 2 files changed, 173 insertions(+) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c b/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c new file mode 100644 index 000000000000..3a5613c83709 --- /dev/null +++ b/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c @@ -0,0 +1,134 @@ +/** @file +* +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include + +#include +#include +#include +#include +#include +#include + +#include "ArmPlatform.h" + +typedef enum { + ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2, + ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2_LEGACY, + ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV3, + ARM_FVP_FOUNDATION_GICV2, + ARM_FVP_FOUNDATION_GICV2_LEGACY, + ARM_FVP_FOUNDATION_GICV3, + ARM_FVP_UNKNOWN, +} ARM_VEXPRESS_PLATFORM_ID; + +ARM_VEXPRESS_PLATFORM_ID +GetPlatformId ( + VOID + ) +{ + UINT32 SysId; + UINT32 FvpSysId; + UINT32 VariantSysId; + ARM_GIC_ARCH_REVISION GicRevision; + + SysId = MmioRead32 (ARM_VE_SYS_ID_REG); + + // Remove the GIC variant to identify if we are running on the FVP Base or + // Foundation models + FvpSysId = SysId & (ARM_FVP_SYS_ID_HBI_MASK | ARM_FVP_SYS_ID_PLAT_MASK ); + // Extract the variant from the SysId + VariantSysId = SysId & ARM_FVP_SYS_ID_VARIANT_MASK; + + if (FvpSysId == ARM_FVP_BASE_BOARD_SYS_ID) { + if (VariantSysId == ARM_FVP_GIC_VE_MMAP) { + // FVP Base Model with legacy GIC memory map -- no longer supported + return ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2_LEGACY; + } else { + GicRevision = ArmGicGetSupportedArchRevision (); + + if (GicRevision == ARM_GIC_ARCH_REVISION_2) { + // FVP Base Model with GICv2 support + return ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2; + } else { + // FVP Base Model with GICv3 support + return ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV3; + } + } + } else if (FvpSysId == ARM_FVP_FOUNDATION_BOARD_SYS_ID) { + if (VariantSysId == ARM_FVP_GIC_VE_MMAP) { + // FVP Foundation Model with legacy GIC memory map -- no longer supported + return ARM_FVP_FOUNDATION_GICV2_LEGACY; + } else { + GicRevision = ArmGicGetSupportedArchRevision (); + + if (GicRevision == ARM_GIC_ARCH_REVISION_2) { + // FVP Foundation Model with GICv2 + return ARM_FVP_FOUNDATION_GICV2; + } else { + // FVP Foundation Model with GICv3 + return ARM_FVP_FOUNDATION_GICV3; + } + } + } + return ARM_FVP_UNKNOWN; +} + +/** + Return a pool allocated copy of the DTB image that is appropriate for + booting the current platform via DT. + + @param[out] Dtb Pointer to the DTB copy + @param[out] DtbSize Size of the DTB copy + + @retval EFI_SUCCESS Operation completed successfully + @retval EFI_NOT_FOUND No suitable DTB image could be located + @retval EFI_OUT_OF_RESOURCES No pool memory available + +**/ +EFI_STATUS +EFIAPI +DtPlatformLoadDtb ( + OUT VOID **Dtb, + OUT UINTN *DtbSize + ) +{ + EFI_STATUS Status; + VOID *OrigDtb; + VOID *CopyDtb; + UINTN OrigDtbSize; + ARM_VEXPRESS_PLATFORM_ID PlatformId; + + PlatformId = GetPlatformId (); + ASSERT (PlatformId < ARM_FVP_UNKNOWN); + if (PlatformId >= ARM_FVP_UNKNOWN) { + return EFI_NOT_FOUND; + } + + Status = GetSectionFromAnyFv (&gDtPlatformDefaultDtbFileGuid, + EFI_SECTION_RAW, (UINTN)PlatformId, &OrigDtb, &OrigDtbSize); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + CopyDtb = AllocateCopyPool (OrigDtbSize, OrigDtb); + if (CopyDtb == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *Dtb = CopyDtb; + *DtbSize = OrigDtbSize; + + return EFI_SUCCESS; +} diff --git a/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf b/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf new file mode 100644 index 000000000000..5012101fe8db --- /dev/null +++ b/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf @@ -0,0 +1,39 @@ +/** @file +* +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +[Defines] + INF_VERSION = 0x00010019 + BASE_NAME = ArmVExpressDtPlatformDtbLoaderLib + FILE_GUID = 050d6041-1508-4ae7-a69f-250155ccb567 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = DtPlatformDtbLoaderLib|DXE_DRIVER + +[Sources] + ArmVExpressDtPlatformDtbLoaderLib.c + +[Packages] + ArmPkg/ArmPkg.dec + MdePkg/MdePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + +[LibraryClasses] + ArmGicLib + BaseLib + DxeServicesLib + IoLib + MemoryAllocationLib + +[Guids] + gDtPlatformDefaultDtbFileGuid From patchwork Fri Mar 31 14:15:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96444 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1250981obc; Fri, 31 Mar 2017 07:16:19 -0700 (PDT) X-Received: by 10.99.45.197 with SMTP id t188mr3610920pgt.209.1490969779211; Fri, 31 Mar 2017 07:16:19 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id 2si5386027pfv.94.2017.03.31.07.16.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5DA562008031E; Fri, 31 Mar 2017 07:16:11 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x22a.google.com (mail-wr0-x22a.google.com [IPv6:2a00:1450:400c:c0c::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6B8EB20080322 for ; Fri, 31 Mar 2017 07:16:10 -0700 (PDT) Received: by mail-wr0-x22a.google.com with SMTP id w43so107870816wrb.0 for ; Fri, 31 Mar 2017 07:16:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/9rHoFcMdJMlQ7/ybKAgq2h08leN6pY56V3d2W/Qr5o=; b=OzaKCFXb3enMXYCvJQOcXQA4yvqt1YC94xt9A3nSR9yYWWiQDLCGB0Pw/MyBSo8laY 2Fi1lLUU1PH1OFTbO2Us6imjH/8uhOfCcAWOboWz+Sx4A+MadYfxSsClOYpKJ+lLc6/q /uoKHtz0OUeCD9+TCItKI6iwV5wNDo5dWrTXk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/9rHoFcMdJMlQ7/ybKAgq2h08leN6pY56V3d2W/Qr5o=; b=PUbnwVsHfYYbHx4NNDS6MQOg7o6BNi7DkTyLCPy8s0Sb4LQNBW8FOSTiCBNN+oVzzR 854VStBhZx/bl1vuidEH/n4+ovu5jMQLxicd5M/9Mjc1n3CjwUNeVOlG/lh/tn0DpXaS msvtsjYLxh3GJAIhUyTOqOOR9z1m6kggvhzIRZBw++zttLufMMin5VKAVXey1FW4BESS 9sUvetbm/TaQ+WIS+WzM53IL8EIRz6jppUqDl0kN/a0lu0I7S87cq+9fohiis321Zkwf c+WES9NTn1jXQj7ohvAlyxYVC1utWwPzqlcHqoafr0JVX6KG+QezCrTdXWgdnJS2UYB9 z9KA== X-Gm-Message-State: AFeK/H2WDxtQ7vgZTPUIj0fZrXQvS08K8ZViR2ulpdLvozs2SrEsqovJP0rCQra8pQJKmwAg X-Received: by 10.223.154.199 with SMTP id a65mr3071921wrc.78.1490969768651; Fri, 31 Mar 2017 07:16:08 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:08 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:45 +0100 Message-Id: <20170331141547.20987-8-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 07/13] Platforms/FVP-AArch64: switch to simpler DT platform driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Replace the elaborate but awkward FdtPlatformDxe with the new DtPlatformDxe, which supports embedded DTBs only. This is sufficient for virtually all use cases, and if it is not, there are various way to override the device tree binary presented to the OS. As a bonus, this driver makes ACPI and DT mutually exclusive - this can be configured via the setup screen. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 27 +++++++------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 37 ++++++-------------- 2 files changed, 24 insertions(+), 40 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index e6778aafe8c6..1125f22f9172 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -35,6 +35,7 @@ DEFINE EDK2_SKIP_PEICORE=1 !endif + DT_SUPPORT = FALSE !include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -59,6 +60,8 @@ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf !endif + DtPlatformDtbLoaderLib|OpenPlatformPkg/Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf + [LibraryClasses.common.SEC] ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf @@ -173,15 +176,6 @@ # the entire FVP address space can be covered by 36 bit VAs gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|36 -[PcdsDynamicDefault.common] - # - # The size of a dynamic PCD of the (VOID*) type can not be increased at run - # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128 - # character "empty" string, to allow to be able to set FDT text device paths - # up to 128 characters long. - # - gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" " - ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform @@ -262,7 +256,13 @@ # # ACPI Support # - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf { +!if $(DT_SUPPORT) == TRUE + + NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf +!endif + } + MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf OpenPlatformPkg/Platforms/ARM/VExpress/AcpiTables/AcpiTables.inf @@ -316,10 +316,9 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } +!if $(DT_SUPPORT) == TRUE # # FDT installation # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf +!endif diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 262515150dd9..7b2397417534 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -170,35 +170,20 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf +!if $(DT_SUPPORT) == TRUE # # FDT installation # - # The UEFI driver is at the end of the list of the driver to be dispatched - # after the device drivers (eg: Ethernet) to ensure we have support for them. - INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf - -!ifdef $(DTB_DIR) - # - # Embed flattened device tree (FDT) images for all known - # variants of this platform - # - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2) { - $(DTB_DIR)/fvp-base-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy) { - $(DTB_DIR)/fvp-base-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3) { - $(DTB_DIR)/fvp-base-gicv3-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2) { - $(DTB_DIR)/fvp-foundation-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy) { - $(DTB_DIR)/fvp-foundation-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3) { - $(DTB_DIR)/fvp-foundation-gicv3-psci.dtb + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + # builtin device tree binaries -- order matches ARM_VEXPRESS_PLATFORM_ID + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-base-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-base-gicv2legacy-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-base-gicv3-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-foundation-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-foundation-gicv2legacy-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/VExpress/DeviceTree/fvp-foundation-gicv3-psci.dtb } !endif From patchwork Fri Mar 31 14:15:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96445 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1251015obc; Fri, 31 Mar 2017 07:16:23 -0700 (PDT) X-Received: by 10.84.214.23 with SMTP id h23mr3801652pli.65.1490969783086; Fri, 31 Mar 2017 07:16:23 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id x25si5388881pge.30.2017.03.31.07.16.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 9437020080322; Fri, 31 Mar 2017 07:16:14 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-lf0-x22c.google.com (mail-lf0-x22c.google.com [IPv6:2a00:1450:4010:c07::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B9BA420080305 for ; Fri, 31 Mar 2017 07:16:12 -0700 (PDT) Received: by mail-lf0-x22c.google.com with SMTP id h125so44939245lfe.0 for ; Fri, 31 Mar 2017 07:16:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/ISMskOLu0waH2eEqPsSLBQo5O4JQplPGSXs/MtN3hc=; b=cM/CxlN+1QXPurmINuJmAygJoFoJPaeKmsAeVJ5MdTtaqkg1qBVVNeq2yRaoGDqVQD 2no0eQg4NlOOcfDSjjzQ2sEBRlK8e/DxxvWQV7KoCH+6WEtKuJSb/sIhMBrhrcdSXzp2 tgyN7NVBP41b1TNzkEB7qaDlMf1rUtFWLTK9s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/ISMskOLu0waH2eEqPsSLBQo5O4JQplPGSXs/MtN3hc=; b=O4GasfD1EaUtcZfcKcf/sbSJUbLtt2YzqY79a5jlukw9oXiDFY/KRKjSAKD8f9bGzp roIo9TTY0fRho+7Un3tGMyFdjTG7lUPxrn43PtdBisDHNNiN6dsfUOseBF+q6kmSf0+W zc2D6usDxpTg4vwNZAVGoIPNtCw0uzT1vBPmWZClP484lyNIhdNmKyYjLFxWGZNSR3VW 87ZSTHLydoxedbyUBZv/bJgK0/qbUFsCB2FDr0Lj09NYIDmDnpFBu9tdMsEVE9ebnYYW h7sJom9NHZue7w8gij7tS7L/zE1K9o05kBDSTDaihrpGz6UYJfwlarAZSpvQkCJXwvgV kuIQ== X-Gm-Message-State: AFeK/H32HNhZ/d4GtjdPUYdsi3+gq2K/29dVE/u2dO2ALjBKK10a7dWj6zeOqtX53Ywn/G2r X-Received: by 10.28.29.138 with SMTP id d132mr3480229wmd.40.1490969770940; Fri, 31 Mar 2017 07:16:10 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:10 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:46 +0100 Message-Id: <20170331141547.20987-9-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 08/13] Platforms/Juno: add non-discoverable device driver and library X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" In preparation of moving ArmJunoDxe's support of the OHCI and EHCI controllers to the generic non-discoverable device infrastructure, add the prerequisite driver and library class resolution to the Juno platform description. Note that the FD image size needs to be increased slightly to accommodate the added code. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.dsc | 2 ++ Platforms/ARM/Juno/ArmJuno.fdf | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 71dc5463a84f..141616e13234 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -65,6 +65,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf [BuildOptions] *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include @@ -307,6 +308,7 @@ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf + MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf # # Juno platform driver diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index aadde45164a5..3f96266fb625 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -26,12 +26,12 @@ [FD.BL33_AP_UEFI] BaseAddress = 0xE0000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash. -Size = 0x000F0000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device +Size = 0x000F8000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 -NumBlocks = 0xF0 +NumBlocks = 0xF8 ################################################################################ # @@ -49,7 +49,7 @@ NumBlocks = 0xF0 # ################################################################################ -0x00000000|0x000F0000 +0x00000000|0x000F8000 gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT @@ -155,6 +155,7 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf + INF MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf # # PCI Support From patchwork Fri Mar 31 14:15:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96446 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1251046obc; Fri, 31 Mar 2017 07:16:26 -0700 (PDT) X-Received: by 10.99.38.2 with SMTP id m2mr3620241pgm.169.1490969786820; Fri, 31 Mar 2017 07:16:26 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id 5si1979795pfw.82.2017.03.31.07.16.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id CF95A20080329; Fri, 31 Mar 2017 07:16:16 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D556620080305 for ; Fri, 31 Mar 2017 07:16:14 -0700 (PDT) Received: by mail-wr0-x235.google.com with SMTP id k6so102864933wre.2 for ; Fri, 31 Mar 2017 07:16:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NWcEDDIg2WNclVfOC3uU2igem8aA0VCS17tJEcNIrUI=; b=d/1b38bCfir2yagAPXEdPjPIX587NJRpS9Tl6uFFzUoa9wgzyIsufhAQK11tXejx6Q Aij7oGzp40lkDn3WG6CiE02scGT8RIdI7YYhpuqwExuoBPDwQVTD0JOdQw/6OPMgZsrS 2F+XJ6BMrMOsKv+sUId++lvh8XjtThT2l863w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NWcEDDIg2WNclVfOC3uU2igem8aA0VCS17tJEcNIrUI=; b=eYaDIKkt6jfG9mna9Twfc1Pw8XfeA6PAh+pO90LklyZTi+XR0twzMBai4Dz9fWB7bV nfrt4npb7pe2Ho6JIZ2CIvVSKF2YtGWevcAXkXIU+D8WCaKc4kuaOxTC0TWlgj3pPNBw 4Glq/GeVuR4v/D4YtR82nz4FVldFiMG+3twa6msSIE2Ywr8lhgnswyM955GW21q+EHLj YPPMCoR09VRghwYowyWU+XFxZEELNJ8ogQlsJkoEXKheaas0yaou8M9BfTvt3tWsXMGs rdK5ifik++qpDp9VwA3QgR1dHqJXVWUuewMTE3Lgi0a+rCmK3SUM2ff87dCD6+uaAmVE QIGQ== X-Gm-Message-State: AFeK/H2WLA48duk6p5Qsl6yMSq5yxqUtRg3HcDtHmwY2w39rLKPF6FzLq6WU6VGI0jaRjKTD X-Received: by 10.28.198.132 with SMTP id w126mr3133154wmf.69.1490969773059; Fri, 31 Mar 2017 07:16:13 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id h187sm3057561wma.32.2017.03.31.07.16.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:16:12 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:15:47 +0100 Message-Id: <20170331141547.20987-10-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 09/13] Platforms/Juno: add PciHostBridgeLib implementation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" In order to be able to switch to the generic PCI host bridge driver, implement the glue library that exposes the PCIe parameters to the common driver. Since the Juno performs some initialization of the PCIe control registers as well, copy that code into the library's constructor. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.c | 185 +++++++++++++++++++ Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf | 77 ++++++++ Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.c | 191 ++++++++++++++++++++ Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.h | 107 +++++++++++ 4 files changed, 560 insertions(+) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.c b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.c new file mode 100644 index 000000000000..213b5ef64e6d --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.c @@ -0,0 +1,185 @@ +/** @file + PCI Host Bridge Library instance for ARM Juno + + Copyright (c) 2017, Linaro Ltd. All rights reserved.
+ + This program and the accompanying materials are licensed and made available + under the terms and conditions of the BSD License which accompanies this + distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ +#include +#include +#include +#include +#include +#include + +#include +#include + +#pragma pack(1) +typedef struct { + ACPI_HID_DEVICE_PATH AcpiDevicePath; + EFI_DEVICE_PATH_PROTOCOL EndDevicePath; +} EFI_PCI_ROOT_BRIDGE_DEVICE_PATH; +#pragma pack () + +STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath = { + { + { + ACPI_DEVICE_PATH, + ACPI_DP, + { + (UINT8) (sizeof(ACPI_HID_DEVICE_PATH)), + (UINT8) ((sizeof(ACPI_HID_DEVICE_PATH)) >> 8) + } + }, + EISA_PNP_ID(0x0A03), // PCI + 0 + }, { + END_DEVICE_PATH_TYPE, + END_ENTIRE_DEVICE_PATH_SUBTYPE, + { + END_DEVICE_PATH_LENGTH, + 0 + } + } +}; + +STATIC PCI_ROOT_BRIDGE mRootBridge = { + 0, // 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 (PcdPciBusMin), + FixedPcdGet32 (PcdPciBusMax) + }, { + // Io + FixedPcdGet64 (PcdPciIoBase), + FixedPcdGet64 (PcdPciIoBase) + FixedPcdGet64 (PcdPciIoSize) - 1 + }, { + // Mem + FixedPcdGet32 (PcdPciMmio32Base), + FixedPcdGet32 (PcdPciMmio32Base) + FixedPcdGet32 (PcdPciMmio32Size) - 1 + }, { + // MemAbove4G + FixedPcdGet64 (PcdPciMmio64Base), + FixedPcdGet64 (PcdPciMmio64Base) + FixedPcdGet64 (PcdPciMmio64Size) - 1 + }, { + // PMem + MAX_UINT64, + 0 + }, { + // PMemAbove4G + MAX_UINT64, + 0 + }, + (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath +}; + +/** + Return all the root bridge instances in an array. + + @param Count Return the count of root bridge instances. + + @return All the root bridge instances in an array. + The array should be passed into PciHostBridgeFreeRootBridges() + when it's not used. +**/ +PCI_ROOT_BRIDGE * +EFIAPI +PciHostBridgeGetRootBridges ( + UINTN *Count + ) +{ + *Count = 1; + + return &mRootBridge; +} + +/** + Free the root bridge instances array returned from PciHostBridgeGetRootBridges(). + + @param Bridges The root bridge instances array. + @param Count The count of the array. +**/ +VOID +EFIAPI +PciHostBridgeFreeRootBridges ( + PCI_ROOT_BRIDGE *Bridges, + UINTN Count + ) +{ +} + + +STATIC CONST CHAR16 mPciHostBridgeLibAcpiAddressSpaceTypeStr[][4] = { + L"Mem", L"I/O", L"Bus" +}; + +/** + Inform the platform that the resource conflict happens. + + @param HostBridgeHandle Handle of the Host Bridge. + @param Configuration Pointer to PCI I/O and PCI memory resource + descriptors. The Configuration contains the resources + for all the root bridges. The resource for each root + bridge is terminated with END descriptor and an + additional END is appended indicating the end of the + entire resources. The resource descriptor field + values follow the description in + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + .SubmitResources(). +**/ +VOID +EFIAPI +PciHostBridgeResourceConflict ( + EFI_HANDLE HostBridgeHandle, + VOID *Configuration + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + UINTN RootBridgeIndex; + DEBUG ((EFI_D_ERROR, "PciHostBridge: Resource conflict happens!\n")); + + RootBridgeIndex = 0; + Descriptor = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; + while (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) { + DEBUG ((EFI_D_ERROR, "RootBridge[%d]:\n", RootBridgeIndex++)); + for (; Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR; Descriptor++) { + ASSERT (Descriptor->ResType < + ARRAY_SIZE (mPciHostBridgeLibAcpiAddressSpaceTypeStr) + ); + DEBUG ((EFI_D_ERROR, " %s: Length/Alignment = 0x%lx / 0x%lx\n", + mPciHostBridgeLibAcpiAddressSpaceTypeStr[Descriptor->ResType], + Descriptor->AddrLen, Descriptor->AddrRangeMax + )); + if (Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) { + DEBUG ((EFI_D_ERROR, " Granularity/SpecificFlag = %ld / %02x%s\n", + Descriptor->AddrSpaceGranularity, Descriptor->SpecificFlag, + ((Descriptor->SpecificFlag & + EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE + ) != 0) ? L" (Prefetchable)" : L"" + )); + } + } + // + // Skip the END descriptor for root bridge + // + ASSERT (Descriptor->Desc == ACPI_END_TAG_DESCRIPTOR); + Descriptor = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *)( + (EFI_ACPI_END_TAG_DESCRIPTOR *)Descriptor + 1 + ); + } +} diff --git a/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf new file mode 100644 index 000000000000..ef502937f6c2 --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf @@ -0,0 +1,77 @@ +## @file +# PCI Host Bridge Library instance for ARM Juno +# +# Copyright (c) 2017, Linaro Ltd. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR +# IMPLIED. +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = AmdStyxPciHostBridgeLib + FILE_GUID = d92c722c-87f9-4988-843e-dffd6bc8c5e3 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = PciHostBridgeLib|DXE_DRIVER + CONSTRUCTOR = HWPciRbInit + +# +# The following information is for reference only and not required by the build +# tools. +# +# VALID_ARCHITECTURES = AARCH64 ARM +# + +[Sources] + JunoPciHostBridgeLib.c + XPressRich3.c + +[Packages] + ArmPlatformPkg/ArmJunoPkg/ArmJuno.dec + ArmPkg/ArmPkg.dec + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + BaseLib + DebugLib + DevicePathLib + IoLib + MemoryAllocationLib + UefiBootServicesTableLib + +[Pcd] + gArmTokenSpaceGuid.PcdSystemMemoryBase + gArmTokenSpaceGuid.PcdSystemMemorySize + +[FixedPcd] + gArmTokenSpaceGuid.PcdPciBusMin + gArmTokenSpaceGuid.PcdPciBusMax + gArmTokenSpaceGuid.PcdPciIoBase + gArmTokenSpaceGuid.PcdPciIoSize + gArmTokenSpaceGuid.PcdPciIoTranslation + gArmTokenSpaceGuid.PcdPciMmio32Base + gArmTokenSpaceGuid.PcdPciMmio32Size + gArmTokenSpaceGuid.PcdPciMmio32Translation + gArmTokenSpaceGuid.PcdPciMmio64Base + gArmTokenSpaceGuid.PcdPciMmio64Size + gArmTokenSpaceGuid.PcdPciMmio64Translation + + gArmJunoTokenSpaceGuid.PcdPcieControlBaseAddress + gArmJunoTokenSpaceGuid.PcdPcieRootPortBaseAddress + gArmJunoTokenSpaceGuid.PcdPciConfigurationSpaceBaseAddress + gArmJunoTokenSpaceGuid.PcdPciConfigurationSpaceSize + +[Protocols] + gEfiCpuIo2ProtocolGuid ## CONSUMES + +[Depex] + gEfiCpuIo2ProtocolGuid diff --git a/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.c b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.c new file mode 100644 index 000000000000..edfad300553e --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.c @@ -0,0 +1,191 @@ +/** @file +* Initialize the XPress-RICH3 PCIe Root complex +* +* Copyright (c) 2011-2015, ARM Ltd. All rights reserved. +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include + +#include +#include +#include +#include + +#include + +#include "XPressRich3.h" +#include "ArmPlatform.h" + +#define PCI_BRIDGE_REVISION_ID 1 +#define CLASS_CODE_REGISTER(Class, SubClass, ProgIf) ((Class << 16) | (SubClass << 8) | ProgIf) +#define PLDA_BRIDGE_CCR CLASS_CODE_REGISTER(PCI_CLASS_BRIDGE, \ + PCI_CLASS_BRIDGE_P2P, \ + PCI_IF_BRIDGE_P2P) + +STATIC +VOID +SetTranslationAddressEntry ( + IN EFI_CPU_IO2_PROTOCOL *CpuIo, + IN UINTN Entry, + IN UINT64 SourceAddress, + IN UINT64 TranslatedAddress, + IN UINT64 TranslationSize, + IN UINT64 TranslationParameter + ) +{ + UINTN Log2Size = HighBitSet64 (TranslationSize); + + // Ensure the size is a power of two. Restriction form the AXI Translation logic + // Othwerwise we increase the translation size + if (TranslationSize != (1ULL << Log2Size)) { + DEBUG ((EFI_D_WARN, "PCI: The size 0x%lX of the region 0x%lx has been increased to " + "be a power of two for the AXI translation table.\n", + TranslationSize, SourceAddress)); + Log2Size++; + } + + PCIE_ROOTPORT_WRITE32 (Entry + PCI_ATR_SRC_ADDR_LOW_SIZE, + (UINT32)SourceAddress | ((Log2Size - 1) << 1) | 0x1); + PCIE_ROOTPORT_WRITE32 (Entry + PCI_ATR_SRC_ADDR_HI, SourceAddress >> 32); + + PCIE_ROOTPORT_WRITE32 (Entry + PCI_ATR_TRSL_ADDR_LOW, (UINT32)TranslatedAddress); + PCIE_ROOTPORT_WRITE32 (Entry + PCI_ATR_TRSL_ADDR_HI, TranslatedAddress >> 32); + + PCIE_ROOTPORT_WRITE32 (Entry + PCI_ATR_TRSL_PARAM, TranslationParameter); +} + +EFI_STATUS +HWPciRbInit ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + UINT32 Value; + UINT32 Index; + UINTN TranslationTable; + EFI_CPU_IO2_PROTOCOL *CpuIo; + EFI_STATUS Status; + UINT32 JunoRevision; + + PCI_TRACE ("VExpressPciRbInit()"); + + // + // Juno R0 has no working PCIe + // + GetJunoRevision (JunoRevision); + if (JunoRevision < JUNO_REVISION_R1) { + return EFI_NOT_FOUND; + } + + PCI_TRACE ("PCIe Setting up Address Translation"); + + Status = gBS->LocateProtocol (&gEfiCpuIo2ProtocolGuid, NULL, + (VOID **)&CpuIo); + ASSERT_EFI_ERROR (Status); + + // The Juno PIO window is 8M, so we need full 32-bit PIO decoding. + PCIE_ROOTPORT_WRITE32 (PCIE_BAR_WIN, PCIE_BAR_WIN_SUPPORT_IO | PCIE_BAR_WIN_SUPPORT_IO32 | + PCIE_BAR_WIN_SUPPORT_MEM | PCIE_BAR_WIN_SUPPORT_MEM64); + + // Setup the PCI Configuration Registers + // Offset 0a: SubClass 04 PCI-PCI Bridge + // Offset 0b: BaseClass 06 Bridge Device + // The Class Code register is a 24 bit and can be configured by setting up the PCIE_PCI_IDS + // Refer [1] Chapter 13 + PCIE_ROOTPORT_WRITE32 (PCIE_PCI_IDS + PCIE_PCI_IDS_CLASSCODE_OFFSET, ((PLDA_BRIDGE_CCR << 8) | PCI_BRIDGE_REVISION_ID)); + + // + // PCIE Window 0 -> AXI4 Master 0 Address Translations + // + TranslationTable = VEXPRESS_ATR_PCIE_WIN0; + + // MSI Support + SetTranslationAddressEntry (CpuIo, TranslationTable, ARM_JUNO_GIV2M_MSI_BASE, ARM_JUNO_GIV2M_MSI_BASE, + ARM_JUNO_GIV2M_MSI_SZ, PCI_ATR_TRSLID_AXIDEVICE); + TranslationTable += PCI_ATR_ENTRY_SIZE; + + // System Memory Support + SetTranslationAddressEntry (CpuIo, TranslationTable, PcdGet64 (PcdSystemMemoryBase), PcdGet64 (PcdSystemMemoryBase), + PcdGet64 (PcdSystemMemorySize), PCI_ATR_TRSLID_AXIMEMORY); + TranslationTable += PCI_ATR_ENTRY_SIZE; + SetTranslationAddressEntry (CpuIo, TranslationTable, ARM_JUNO_EXTRA_SYSTEM_MEMORY_BASE, ARM_JUNO_EXTRA_SYSTEM_MEMORY_BASE, + ARM_JUNO_EXTRA_SYSTEM_MEMORY_SZ, PCI_ATR_TRSLID_AXIMEMORY); + + // + // AXI4 Slave 1 -> PCIE Window 0 Address Translations + // + TranslationTable = VEXPRESS_ATR_AXI4_SLV1; + + // PCI ECAM Support + SetTranslationAddressEntry (CpuIo, TranslationTable, PCI_ECAM_BASE, PCI_ECAM_BASE, PCI_ECAM_SIZE, PCI_ATR_TRSLID_PCIE_CONF); + TranslationTable += PCI_ATR_ENTRY_SIZE; + + // PCI IO Support, the PIO space is translated from the arm MMIO PCI_IO_BASE address to the PIO base address of 0 + // AKA, PIO addresses used by endpoints are generally in the range of 0-64K. + SetTranslationAddressEntry (CpuIo, TranslationTable, PCI_IO_BASE, 0, PCI_IO_SIZE, PCI_ATR_TRSLID_PCIE_IO); + TranslationTable += PCI_ATR_ENTRY_SIZE; + + // PCI MEM32 Support + SetTranslationAddressEntry (CpuIo, TranslationTable, PCI_MEM32_BASE, PCI_MEM32_BASE, PCI_MEM32_SIZE, PCI_ATR_TRSLID_PCIE_MEMORY); + TranslationTable += PCI_ATR_ENTRY_SIZE; + + // PCI MEM64 Support + SetTranslationAddressEntry (CpuIo, TranslationTable, PCI_MEM64_BASE, PCI_MEM64_BASE, PCI_MEM64_SIZE, PCI_ATR_TRSLID_PCIE_MEMORY); + + // Add credits + PCIE_ROOTPORT_WRITE32 (PCIE_VC_CRED, 0x00f0b818); + PCIE_ROOTPORT_WRITE32 (PCIE_VC_CRED + 4, 0x1); + + // Allow ECRC + PCIE_ROOTPORT_WRITE32 (PCIE_PEX_SPC2, 0x6006); + + // Reset controller + PCIE_CONTROL_WRITE32 (PCIE_CONTROL_RST_CTL, PCIE_CONTROL_RST_CTL_RCPHY_REL); + + // Wait for reset + for (Index = 0; Index < 1000; Index++) { + gBS->Stall (1000); + PCIE_CONTROL_READ32 (PCIE_CONTROL_RST_STS, Value); + if ((Value & PCIE_CONTROL_RST_STS_RCPHYPLL_OUT) == PCIE_CONTROL_RST_STS_RCPHYPLL_OUT) { + break; + } + } + + // Check for reset + if (!(Value & PCIE_CONTROL_RST_STS_RCPHYPLL_OUT)) { + DEBUG ((EFI_D_ERROR, "PCIe failed to come out of reset: %x.\n", Value)); + return EFI_NOT_READY; + } + + gBS->Stall (1000); + PCI_TRACE ("Checking link Status..."); + + // Wait for Link Up + for (Index = 0; Index < 1000; Index++) { + gBS->Stall (1000); + PCIE_ROOTPORT_READ32 (VEXPRESS_BASIC_STATUS, Value); + if (Value & LINK_UP) { + break; + } + } + + // Check for link up + if (!(Value & LINK_UP)) { + DEBUG ((EFI_D_ERROR, "PCIe link not up: %x.\n", Value)); + return EFI_NOT_READY; + } + + PCIE_ROOTPORT_WRITE32 (PCIE_IMASK_LOCAL, PCIE_INT_MSI | PCIE_INT_INTx); + + return EFI_SUCCESS; +} diff --git a/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.h b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.h new file mode 100644 index 000000000000..07f52c210ed9 --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/XPressRich3.h @@ -0,0 +1,107 @@ +/** @file +* Header containing the Xpress-RICH3 PCIe Root Complex specific values +* +* Copyright (c) 2011-2015, ARM Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#ifndef __XPRESS_RICH3_H__ +#define __XPRESS_RICH3_H__ + +#include +#include + +#define PCI_ECAM_BASE FixedPcdGet64 (PcdPciConfigurationSpaceBaseAddress) +#define PCI_ECAM_SIZE FixedPcdGet64 (PcdPciConfigurationSpaceSize) +#define PCI_IO_BASE FixedPcdGet64 (PcdPciIoTranslation) +#define PCI_IO_SIZE FixedPcdGet64 (PcdPciIoSize) +#define PCI_MEM32_BASE FixedPcdGet64 (PcdPciMmio32Base) +#define PCI_MEM32_SIZE FixedPcdGet64 (PcdPciMmio32Size) +#define PCI_MEM64_BASE FixedPcdGet64 (PcdPciMmio64Base) +#define PCI_MEM64_SIZE FixedPcdGet64 (PcdPciMmio64Size) + +#define PCI_TRACE(txt) DEBUG((EFI_D_VERBOSE, "ARM_PCI: " txt "\n")) + +#define PCIE_ROOTPORT_WRITE32(Add, Val) { UINT32 Value = (UINT32)(Val); CpuIo->Mem.Write (CpuIo,EfiCpuIoWidthUint32,(UINT64)(PcdGet64 (PcdPcieRootPortBaseAddress)+(Add)),1,&Value); } +#define PCIE_ROOTPORT_READ32(Add, Val) { CpuIo->Mem.Read (CpuIo,EfiCpuIoWidthUint32,(UINT64)(PcdGet64 (PcdPcieRootPortBaseAddress)+(Add)),1,&Val); } + +#define PCIE_CONTROL_WRITE32(Add, Val) { UINT32 Value = (UINT32)(Val); CpuIo->Mem.Write (CpuIo,EfiCpuIoWidthUint32,(UINT64)(PcdGet64 (PcdPcieControlBaseAddress)+(Add)),1,&Value); } +#define PCIE_CONTROL_READ32(Add, Val) { CpuIo->Mem.Read (CpuIo,EfiCpuIoWidthUint32,(UINT64)(PcdGet64 (PcdPcieControlBaseAddress)+(Add)),1,&Val); } + +/* + * Bridge Internal Registers + */ + +// PCIe Available Credit Settings +#define PCIE_VC_CRED 0x090 +// PCIe PCI Standard Configuration Identification Settings registers +#define PCIE_PCI_IDS 0x098 +#define PCIE_PCI_IDS_CLASSCODE_OFFSET 0x4 +// PCIe Specific 2 Capabilities Settings +#define PCIE_PEX_SPC2 0x0d8 +// PCIe Windows Settings register +#define PCIE_BAR_WIN 0x0FC +// Local Processor Interrupt Mask +#define PCIE_IMASK_LOCAL 0x180 + +#define PCIE_BAR_WIN_SUPPORT_IO BIT0 +#define PCIE_BAR_WIN_SUPPORT_IO32 BIT1 +#define PCIE_BAR_WIN_SUPPORT_MEM BIT2 +#define PCIE_BAR_WIN_SUPPORT_MEM64 BIT3 + +#define PCIE_INT_MSI BIT28 +#define PCIE_INT_A BIT24 +#define PCIE_INT_B BIT25 +#define PCIE_INT_C BIT26 +#define PCIE_INT_D BIT27 +#define PCIE_INT_INTx (PCIE_INT_A | PCIE_INT_B |\ + PCIE_INT_C | PCIE_INT_D) + +/* + * PCIe Control Registers + */ +#define PCIE_CONTROL_RST_CTL 0x1004 +#define PCIE_CONTROL_RST_STS 0x1008 + +/* + * PCI Express Address Translation registers + * All are offsets from PcdPcieControlBaseAddress + */ +#define VEXPRESS_ATR_PCIE_WIN0 0x600 +#define VEXPRESS_ATR_AXI4_SLV0 0x800 +#define VEXPRESS_ATR_AXI4_SLV1 0x820 + +#define PCI_ATR_ENTRY_SIZE 0x20 +#define PCI_ATR_SRC_ADDR_LOW_SIZE 0 +#define PCI_ATR_SRC_ADDR_HI 0x4 +#define PCI_ATR_TRSL_ADDR_LOW 0x8 +#define PCI_ATR_TRSL_ADDR_HI 0xc +#define PCI_ATR_TRSL_PARAM 0x10 + +#define PCI_ATR_TRSLID_AXIDEVICE 0x420004 +#define PCI_ATR_TRSLID_AXIMEMORY 0x4e0004 +#define PCI_ATR_TRSLID_PCIE_CONF 0x000001 +#define PCI_ATR_TRSLID_PCIE_IO 0x020000 +#define PCI_ATR_TRSLID_PCIE_MEMORY 0x000000 + +#define PCIE_CONTROL_RST_CTL_RC_REL (1 << 1) +#define PCIE_CONTROL_RST_CTL_PHY_REL (1 << 0) +#define PCIE_CONTROL_RST_CTL_RCPHY_REL (PCIE_CONTROL_RST_CTL_RC_REL | PCIE_CONTROL_RST_CTL_PHY_REL) + +#define PCIE_CONTROL_RST_STS_RC_ST (1 << 2) +#define PCIE_CONTROL_RST_STS_PHY_ST (1 << 1) +#define PCIE_CONTROL_RST_STS_PLL_ST (1 << 0) +#define PCIE_CONTROL_RST_STS_RCPHYPLL_OUT (PCIE_CONTROL_RST_STS_RC_ST | PCIE_CONTROL_RST_STS_PHY_ST | PCIE_CONTROL_RST_STS_PLL_ST) + +#define VEXPRESS_BASIC_STATUS 0x18 +#define LINK_UP 0xff + +#endif From patchwork Fri Mar 31 14:19:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96447 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1252579obc; Fri, 31 Mar 2017 07:19:44 -0700 (PDT) X-Received: by 10.99.232.21 with SMTP id s21mr3648560pgh.67.1490969983986; Fri, 31 Mar 2017 07:19:43 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id a1si5353177pgf.360.2017.03.31.07.19.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 4A98C20080308; Fri, 31 Mar 2017 07:19:43 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x232.google.com (mail-wr0-x232.google.com [IPv6:2a00:1450:400c:c0c::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5E9C121A0483B for ; Fri, 31 Mar 2017 07:19:41 -0700 (PDT) Received: by mail-wr0-x232.google.com with SMTP id k6so103000784wre.2 for ; Fri, 31 Mar 2017 07:19:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7PjTdgqsDYrmYskIW1Bvz8qjLXF5AL46fQ7TIG6hiDI=; b=c/+4KJid/nKWXWmwJQGATjfS7AyMlJVdizeVDV5wUgI6eLsQwheJHUztFF2jCfPGIc yTKdAwnevCheEMeGoIvEAZ0bnjL4B4L99CZep+QSboCAybeip/quqMHEnSW2SRwpZEYT LPUqe1iIl/awhVjQfxCmHaNEgqqrA5udCM1yc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7PjTdgqsDYrmYskIW1Bvz8qjLXF5AL46fQ7TIG6hiDI=; b=Ue8sALOrFNeY324UDOWJJCstPYkjd7rtmaDUabzASr6KIZl6622es8hvLGQaGgIbN+ U0BxLzcmU6QC7rLuGqBk1ukwbYvsN6TAIP/20S3PeAgwxKjiBvT4psUuJPXDHY6+JPJL Ivn9EEoBo/rBDtddQCgjSRUViIGghbAU9Qxmg0uXqCW/nPP7QlMRhavMk5rAVHyG6p1x PRKW+Sz7MaLCBOF53nU5hJpo7O/QIAEzNM0+/eSSUkMbnyq43jvyaGXarZ9uF+wBtmr4 Ivkt5v6ND/WKWecB1CS0h5I2B204fS+RoeJMJOb/ojlcJq7Q2pxzM6OstxwmDdIpYDCQ J8dQ== X-Gm-Message-State: AFeK/H3LGlFtj7ZXZ5yKnw6nB3AsI7Bk3cVkgFWzKlcCVv2xrRyakeQaPfESJY/w2cLYXZM4 X-Received: by 10.223.174.241 with SMTP id y104mr3412319wrc.79.1490969979971; Fri, 31 Mar 2017 07:19:39 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id w12sm6902962wra.21.2017.03.31.07.19.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:39 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:19:26 +0100 Message-Id: <20170331141929.21121-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141547.20987-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 10/13] Platforms/Juno: switch to generic PCI host bridge driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.dsc | 17 +++++++++++------ Platforms/ARM/Juno/ArmJuno.fdf | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 141616e13234..b7b1fb8c8935 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -66,6 +66,10 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf + PciHostBridgeLib|OpenPlatformPkg/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf + PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf + PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf + PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf [BuildOptions] *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include @@ -143,13 +147,17 @@ # PLDA PCI Root Complex # gArmTokenSpaceGuid.PcdPciBusMax|255 - gArmTokenSpaceGuid.PcdPciIoBase|0x5f800000 + gArmTokenSpaceGuid.PcdPciIoBase|0x0 gArmTokenSpaceGuid.PcdPciIoSize|0x00800000 gArmTokenSpaceGuid.PcdPciMmio32Base|0x50000000 gArmTokenSpaceGuid.PcdPciMmio32Size|0x08000000 gArmTokenSpaceGuid.PcdPciMmio64Base|0x4000000000 gArmTokenSpaceGuid.PcdPciMmio64Size|0x100000000 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x40000000 + gArmTokenSpaceGuid.PcdPciIoTranslation|0x5f800000 + gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24 + # List of Device Paths that support BootMonFs gArmPlatformTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)" @@ -270,16 +278,13 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf # Required by PCI - UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf + ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf # # PCI Support # MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf - ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf { - - DmaLib|EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf - } + MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf # # SATA Controller diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index 3f96266fb625..7de995a255b1 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -140,7 +140,7 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf # Required by PCI - INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf + INF ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf # FV FileSystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf @@ -161,7 +161,7 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # PCI Support # INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf - INF ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf + INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf # # SATA Controller From patchwork Fri Mar 31 14:19:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96448 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1252593obc; Fri, 31 Mar 2017 07:19:46 -0700 (PDT) X-Received: by 10.98.99.196 with SMTP id x187mr3217756pfb.168.1490969986264; Fri, 31 Mar 2017 07:19:46 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id s11si5386861pfi.311.2017.03.31.07.19.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 7AE8821DFA7B1; Fri, 31 Mar 2017 07:19:44 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x22e.google.com (mail-wr0-x22e.google.com [IPv6:2a00:1450:400c:c0c::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 4C3982008030A for ; Fri, 31 Mar 2017 07:19:43 -0700 (PDT) Received: by mail-wr0-x22e.google.com with SMTP id w43so108008375wrb.0 for ; Fri, 31 Mar 2017 07:19:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JdiSDQIqX+WSNxZkl8QlQML2BZUwfPHBtqA8bJF7L9g=; b=XCLB5ZJ+fbMfFgdKRn0kAYLr2pY+eO8vBL9+bx+16Gdjo4lkWBnCmFOmWF3SnDuZjT 9L0fhpeigc4iFtuU6ZVQ0CkZvW11sXeG0Eu1CYmROJMc8g1ZNBavm7GdfQnREaRslQWj x9XhtkkarDha0cO9buvEE2gDbM0/60qV5CXws= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JdiSDQIqX+WSNxZkl8QlQML2BZUwfPHBtqA8bJF7L9g=; b=kHGQr2WJUlq2w+nWCeA/pjlzQw3OA6iENbbkbXupZO+4vtqCyZhqS+awC945DFQe91 6MltSr/Z1YfwDVzFqV2Rq3tZfhG6+5PVsB5r20P0+Qff0OLeWA4rDv121gBMxPlQwd3B tIm5Lw+pfM44v95X3Q5EmwZt2dF9VfZ5jNmSA+FW4cVmIOjooPa0hL+KRpD5S+VTqEIQ KC/6k8pZAnxoWdNzh73scs0cFuPpT4EGdpBZVqnJuqcj/5dmVNxf+9yBYTkRdCMk7qkX 4yo3SJ2lBo4cYFmYZOHjr8OW8DG5IGS8KPUMrFGjDXal0/DBQc53valMoPxg7oaV9EEs 6xZA== X-Gm-Message-State: AFeK/H1f+PoO9kZds4hpe4mmxHGx/UHsgCi7eRx3f9hrFC/S3bOQB9xPQ1HlwiM0qnfRQWWm X-Received: by 10.28.63.22 with SMTP id m22mr3592570wma.142.1490969981872; Fri, 31 Mar 2017 07:19:41 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id w12sm6902962wra.21.2017.03.31.07.19.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:41 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:19:27 +0100 Message-Id: <20170331141929.21121-2-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141929.21121-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> <20170331141929.21121-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 11/13] Platforms/Juno: remove BdsLib dependency X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.dsc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index b7b1fb8c8935..4ff2246822e6 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -318,10 +318,7 @@ # # Juno platform driver # - ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf # # SMBIOS/DMI From patchwork Fri Mar 31 14:19:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96449 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1252605obc; Fri, 31 Mar 2017 07:19:48 -0700 (PDT) X-Received: by 10.99.127.29 with SMTP id a29mr3588128pgd.11.1490969988060; Fri, 31 Mar 2017 07:19:48 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id i8si5404978pll.24.2017.03.31.07.19.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id AF29F20080314; Fri, 31 Mar 2017 07:19:46 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 948E520080314 for ; Fri, 31 Mar 2017 07:19:45 -0700 (PDT) Received: by mail-wr0-x235.google.com with SMTP id l43so109973106wre.1 for ; Fri, 31 Mar 2017 07:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=n18Z5yORr6iHDxMXgPTp8ZCiLvRZbgEh2UZMHqfG//U=; b=SzVvTLrPbHiLOq9uqUysdQtUbtOLlSfNBCipoYNIJLsmeDTta4zbAe7VIXooi1X6pY Qxlxttc4BmCCR4YR/Q5t4V3FoLzt/i5Q/p7tqocRiRHmROTHbwqQzpShszUo4OY1XR01 taX1W9CNQ/36SOuob7eDIGeW6D1UNzVFoOvvc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=n18Z5yORr6iHDxMXgPTp8ZCiLvRZbgEh2UZMHqfG//U=; b=G5GMsTYUTWm7OKnFF8rfbV/9ZmAUkn0gQme+mKSm/DOf4pKeFGoK7uYPal0XEsXBkR 1/358/rPArtl5oGjcsfLVkGsd1+BFhDAunuzHAMUGaJ9m8GMNIncQseeU4l7T3Lh+O7R FYqaktJym88/LKA/qqHm/hyJ7hA6gUPbf8TfBWFDueYfOR/3mWtBeJqnGiRm32ZpsuqC JDvpdbf8a11RKpQdWtjdUo62eIi1DQjyRvY49Ts1DsTYcDqSXZ9b5MXhgZOpWBRC7Q4L hiNy0SOjI40wNT4rdlG59KwrfYn8V7S8YBkSnhp7FpP48gmPCX1Sv5BOK7O0MtgRlyOa UIBQ== X-Gm-Message-State: AFeK/H2vhx0JfD0vKtqposDBb0RvYWeJ6AHvjxrsdPhwR1LiVGxoto4w+22xLlx8PaTqhaaC X-Received: by 10.28.209.75 with SMTP id i72mr3342204wmg.31.1490969984159; Fri, 31 Mar 2017 07:19:44 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id w12sm6902962wra.21.2017.03.31.07.19.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:43 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:19:28 +0100 Message-Id: <20170331141929.21121-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141929.21121-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> <20170331141929.21121-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 12/13] Platforms/Juno: add DtPlatformDtbLoaderLib implementation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" In preparation of switching to DtPlatformDxe to supply the device tree image to the OS, add an implementation of DtPlatformDtbLoaderLib that loads the correct version from an FV. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.c | 71 ++++++++++++++++++++ Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf | 38 +++++++++++ 2 files changed, 109 insertions(+) -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.c b/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.c new file mode 100644 index 000000000000..8b4d1cbecffb --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.c @@ -0,0 +1,71 @@ +/** @file +* +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include + +#include +#include +#include +#include +#include + +#include "ArmPlatform.h" + +/** + Return a pool allocated copy of the DTB image that is appropriate for + booting the current platform via DT. + + @param[out] Dtb Pointer to the DTB copy + @param[out] DtbSize Size of the DTB copy + + @retval EFI_SUCCESS Operation completed successfully + @retval EFI_NOT_FOUND No suitable DTB image could be located + @retval EFI_OUT_OF_RESOURCES No pool memory available + +**/ +EFI_STATUS +EFIAPI +DtPlatformLoadDtb ( + OUT VOID **Dtb, + OUT UINTN *DtbSize + ) +{ + EFI_STATUS Status; + VOID *OrigDtb; + VOID *CopyDtb; + UINTN OrigDtbSize; + UINT32 JunoRevision; + + GetJunoRevision(JunoRevision); + ASSERT (JunoRevision >= JUNO_REVISION_R0 && JunoRevision <= JUNO_REVISION_R2); + if (JunoRevision < JUNO_REVISION_R0 || JunoRevision > JUNO_REVISION_R2) { + return EFI_NOT_FOUND; + } + + Status = GetSectionFromAnyFv (&gDtPlatformDefaultDtbFileGuid, + EFI_SECTION_RAW, (UINTN)JunoRevision - 1, &OrigDtb, &OrigDtbSize); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + CopyDtb = AllocateCopyPool (OrigDtbSize, OrigDtb); + if (CopyDtb == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + *Dtb = CopyDtb; + *DtbSize = OrigDtbSize; + + return EFI_SUCCESS; +} diff --git a/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf b/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf new file mode 100644 index 000000000000..8018278546fe --- /dev/null +++ b/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf @@ -0,0 +1,38 @@ +/** @file +* +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +[Defines] + INF_VERSION = 0x00010019 + BASE_NAME = JunoDtPlatformDtbLoaderLib + FILE_GUID = 050d6041-1508-4ae7-a69f-250155ccb567 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = DtPlatformDtbLoaderLib|DXE_DRIVER + +[Sources] + JunoDtPlatformDtbLoaderLib.c + +[Packages] + ArmPkg/ArmPkg.dec + MdePkg/MdePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + +[LibraryClasses] + BaseLib + DxeServicesLib + IoLib + MemoryAllocationLib + +[Guids] + gDtPlatformDefaultDtbFileGuid From patchwork Fri Mar 31 14:19:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96450 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1252622obc; Fri, 31 Mar 2017 07:19:52 -0700 (PDT) X-Received: by 10.99.61.201 with SMTP id k192mr3659987pga.68.1490969992212; Fri, 31 Mar 2017 07:19:52 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id 2si5392920pgy.24.2017.03.31.07.19.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id E34532008031E; Fri, 31 Mar 2017 07:19:51 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-lf0-x232.google.com (mail-lf0-x232.google.com [IPv6:2a00:1450:4010:c07::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0804521A0483B for ; Fri, 31 Mar 2017 07:19:50 -0700 (PDT) Received: by mail-lf0-x232.google.com with SMTP id x137so45226960lff.3 for ; Fri, 31 Mar 2017 07:19:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VmgKeH29zA7w61PDqHh28E8/Nm/6TmX5SnveI037Uzw=; b=hhp2H/MFlAhAPL/mjfUoNQ1z1KMFvXiFAVnM6tbdC6CQZnyOcbKZQTjKXS0wcN8iGD FHUI6BIQmjX2b+OSMhkG/yJyEeIRLNbzS7zHtLh/Bpkr56YnKpUVMFdXyfpEYhbw9Plh tBsBSE8sZsXI7g+1u8qP5T5BB6377V0NVsg0I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VmgKeH29zA7w61PDqHh28E8/Nm/6TmX5SnveI037Uzw=; b=f1PTwhTlQitdB+NYS47zSyDLWj4jQbJf5PVS/jrnLJ6gvNUrrjvc6qv12CqHZ1uHmu BIokU/6yXcPDJdme1CBOmqA/za/AO0E97+3aWJTm2iwArrk9jG69oadY5jFtu0mGlUrz rcQF1RZJ7AmBc2B//g+BDgYUTHXZNoTx1AKHACjGybjVH468fV8nQztwumOyd2kGuhDt nam6B2gc+Yirs+4Ed2c3JzDyyqB2Uw//GLOuOwd1OYn0sRufgWaJpUyxJEGbLehLJWPw ys+wJLAqHSCY0OOkIxFPw4ur8Abw2JtljqxYjHt8EpIG4jA9NwrK3Oj5Yu6j3NGEcOYG 2qKg== X-Gm-Message-State: AFeK/H1nOHYxacyY8UQNVmQAYOokKsol8MMmZGVaErh42VzVp7QDRWlVWfeSX0dAmVipnINh X-Received: by 10.28.196.68 with SMTP id u65mr3220535wmf.8.1490969986618; Fri, 31 Mar 2017 07:19:46 -0700 (PDT) Received: from localhost.localdomain ([160.171.180.74]) by smtp.gmail.com with ESMTPSA id w12sm6902962wra.21.2017.03.31.07.19.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 07:19:45 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ryan.harkin@linaro.org Date: Fri, 31 Mar 2017 15:19:29 +0100 Message-Id: <20170331141929.21121-4-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170331141929.21121-1-ard.biesheuvel@linaro.org> References: <20170331141547.20987-1-ard.biesheuvel@linaro.org> <20170331141929.21121-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 13/13] Platforms/Juno: switch to DtPlatformDxe X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Switch to DtPLatformDxe, which uses embedded DTB binaries, or ACPI, but does not have the elaborate (but awkward) tooling to load FDT files from device paths. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Juno/ArmJuno.dsc | 15 +++------------ Platforms/ARM/Juno/ArmJuno.fdf | 11 ++++++++--- Platforms/ARM/Juno/DeviceTree/juno-r1.dtb | Bin 0 -> 23627 bytes Platforms/ARM/Juno/DeviceTree/juno-r2.dtb | Bin 0 -> 23627 bytes Platforms/ARM/Juno/DeviceTree/juno.dtb | Bin 0 -> 22431 bytes 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Platforms/ARM/Juno/DeviceTree/juno-r1.dtb b/Platforms/ARM/Juno/DeviceTree/juno-r1.dtb new file mode 100644 index 0000000000000000000000000000000000000000..28f35d28d21fe11689bb97f53cd1646d8e94f1b5 GIT binary patch literal 23627 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 literal 0 HcmV?d00001 diff --git a/Platforms/ARM/Juno/DeviceTree/juno-r2.dtb b/Platforms/ARM/Juno/DeviceTree/juno-r2.dtb new file mode 100644 index 0000000000000000000000000000000000000000..fae2058a81ac73ecb695bf73f8fb5c2cd929bf3b GIT binary patch literal 23627 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 literal 0 HcmV?d00001 diff --git a/Platforms/ARM/Juno/DeviceTree/juno.dtb b/Platforms/ARM/Juno/DeviceTree/juno.dtb new file mode 100644 index 0000000000000000000000000000000000000000..c408eb1640d5ca00070605323bfcafdb63da7010 GIT binary patch literal 22431 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 QU(6`yez3hA57FrT4>m=JhX4Qo literal 0 HcmV?d00001 -- 2.9.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4ff2246822e6..683992af32e9 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -50,6 +50,8 @@ # USB Requirements UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf + DtPlatformDtbLoaderLib|OpenPlatformPkg/Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf + [LibraryClasses.common.SEC] PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf @@ -196,14 +198,6 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|1080 [PcdsDynamicDefault.common] - # - # The size of a dynamic PCD of the (VOID*) type can not be increased at run - # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128 - # character "empty" string, to allow to be able to set FDT text device paths - # up to 128 characters long. - # - gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" " - # Not all Juno platforms support PCI. This dynamic PCD disables or enable # PCI support. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE @@ -343,10 +337,7 @@ # # FDT installation # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf [Components.AARCH64] # diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index 7de995a255b1..2f6cf62558ea 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -220,9 +220,14 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # # FDT installation # - # The UEFI driver is at the end of the list of the driver to be dispatched - # after the device drivers (eg: Ethernet) to ensure we have support for them. - INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + # builtin device tree binaries -- for rev 0/1/2, respectively. + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Juno/DeviceTree/juno.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Juno/DeviceTree/juno-r1.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Juno/DeviceTree/juno-r2.dtb + } !if $(ARCH) == AARCH64 #