Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
Platforms/ARM/Juno/ArmJuno.dsc | 17 +++++++++++------
Platforms/ARM/Juno/ArmJuno.fdf | 4 ++--
2 files changed, 13 insertions(+), 8 deletions(-)
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 {
- <LibraryClasses>
- 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
--
2.9.3
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
Platforms/ARM/Juno/ArmJuno.dsc | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
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 {
- <LibraryClasses>
- BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
- }
+ ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf
#
# SMBIOS/DMI
--
2.9.3
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/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 <ard.biesheuvel@linaro.org>
---
Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.c | 71 ++++++++++++++++++++
Platforms/ARM/Juno/Library/JunoDtPlatformDtbLoaderLib/JunoDtPlatformDtbLoaderLib.inf | 38 +++++++++++
2 files changed, 109 insertions(+)
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 <PiDxe.h>
+
+#include <Library/BaseLib.h>
+#include <Library/DebugLib.h>
+#include <Library/DxeServicesLib.h>
+#include <Library/IoLib.h>
+#include <Library/MemoryAllocationLib.h>
+
+#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
--
2.9.3
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/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 <ard.biesheuvel@linaro.org>
---
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/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 {
- <LibraryClasses>
- 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
#
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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
JaUY%D{{q3l0>A(O
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
© 2016 - 2024 Red Hat, Inc.