public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups
@ 2018-12-11 15:02 Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 1/6] Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses Ard Biesheuvel
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

Another day, another round of cleanups for Styx. Patch #1 was sent out
earlier, and has been updated to switch to a VOID* type PCD. Remaining
patches are various cleanups for Styx in general, and some for Overdrive
(+ Cello)

Ard Biesheuvel (6):
  Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses
  Silicon/Styx: drop ARM_CPU_AARCH64 define
  Silicon/Styx: get rid of NUM_CORES preprocessor define on command line
  Silicon/Styx: switch to device path protocol driver
  Platform/AMD/OverdriveBoard: enable support for IPv6 networking and
    HTTP boot
  Platform/AMD/OverdriveBoard: build device tree from source

 Silicon/AMD/Styx/AmdStyx.dec                  |   4 +-
 .../AMD/OverdriveBoard/OverdriveBoard.dsc     |  50 +++++--
 Platform/LeMaker/CelloBoard/CelloBoard.dsc    |  14 +-
 .../Overdrive1000Board/Overdrive1000Board.dsc |  13 +-
 .../AMD/OverdriveBoard/OverdriveBoard.fdf     |  29 ++--
 Platform/LeMaker/CelloBoard/CelloBoard.fdf    |   9 +-
 .../DeviceTree/OverdriveBoard.inf             |  28 ++++
 .../AcpiPlatformDxe/AcpiPlatformDxe.inf       |   2 +
 .../StyxDtbLoaderLib/StyxDtbLoaderLib.inf     |   2 +
 .../Drivers/AcpiPlatformDxe/AcpiPlatform.c    |   9 +-
 .../Styx/Drivers/PlatInitPei/PlatInitPei.c    |  24 +--
 .../PlatformSmbiosDxe/PlatformSmbiosDxe.c     |   4 -
 .../StyxDtbLoaderLib/StyxDtbLoaderLib.c       |  10 +-
 .../OverdriveBoard.dts}                       | 140 +++++-------------
 .../OverdriveBoard/FdtBlob/styx-overdrive.dtb | Bin 9357 -> 0 bytes
 .../AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl |   2 +
 .../Styx/Drivers/AcpiPlatformDxe/Pptt.aslc    |   2 +
 17 files changed, 180 insertions(+), 162 deletions(-)
 create mode 100644 Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
 rename Platform/AMD/OverdriveBoard/{FdtBlob/styx-overdrive.dts => DeviceTree/OverdriveBoard.dts} (77%)
 delete mode 100644 Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb

-- 
2.19.2



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 1/6] Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 2/6] Silicon/Styx: drop ARM_CPU_AARCH64 define Ard Biesheuvel
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

The PCDs containing the default MAC addresses are of type UINT64,
and so the byte order needs to be inverted. As they are currently,
both default MAC addresses are invalid since they have the multicast
bit set.

For readability, let's switch to a VOID* type PCD while at it.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Silicon/AMD/Styx/AmdStyx.dec                                 |  4 ++--
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc               |  4 ++--
 Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c      |  9 ++++----
 Silicon/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.c           | 24 ++++++++++++--------
 Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c |  8 +++----
 5 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/Silicon/AMD/Styx/AmdStyx.dec b/Silicon/AMD/Styx/AmdStyx.dec
index 902259dd7267..c2e691cb5ea4 100644
--- a/Silicon/AMD/Styx/AmdStyx.dec
+++ b/Silicon/AMD/Styx/AmdStyx.dec
@@ -42,8 +42,8 @@
   gAmdStyxTokenSpaceGuid.PcdSocCoreCount|1|UINT32|0x00000100
   gAmdStyxTokenSpaceGuid.PcdSocCpuId|1|UINT32|0x00000101
 
-  gAmdStyxTokenSpaceGuid.PcdEthMacA|0|UINT64|0x000d0001
-  gAmdStyxTokenSpaceGuid.PcdEthMacB|0|UINT64|0x000d0002
+  gAmdStyxTokenSpaceGuid.PcdEthMacA|{0x0,0x0,0x0,0x0,0x0,0x0}|VOID*|0x000d0001
+  gAmdStyxTokenSpaceGuid.PcdEthMacB|{0x0,0x0,0x0,0x0,0x0,0x0}|VOID*|0x000d0002
 
 [PcdsFixedAtBuild]
   # CPUID Register
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index ce909982c39b..3b9d70de2751 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -468,8 +468,8 @@ DEFINE DO_CAPSULE   = FALSE
   gAmdModulePkgTokenSpaceGuid.PcdPort1NetSpeed|1
 
 [PcdsDynamicDefault.common]
-  gAmdStyxTokenSpaceGuid.PcdEthMacA|0x02A1A2A3A4A5
-  gAmdStyxTokenSpaceGuid.PcdEthMacB|0x02B1B2B3B4B5
+  gAmdStyxTokenSpaceGuid.PcdEthMacA|{0x2,0xA1,0xA2,0xA3,0xA4,0xA5}
+  gAmdStyxTokenSpaceGuid.PcdEthMacB|{0x2,0xB1,0xB2,0xB3,0xB4,0xB5}
 
 [PcdsPatchableInModule]
   gAmdModulePkgTokenSpaceGuid.PcdXgbeUseMacFromIscp|TRUE
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c
index f1223ada2444..9c17c38a04bf 100644
--- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c
+++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c
@@ -60,15 +60,14 @@ STATIC
 VOID
 SetPackageAddress (
   UINT8         *Package,
-  UINT64        MacAddress,
+  UINT8         *MacAddress,
   UINTN         Size
   )
 {
   UINTN   Index;
 
   for (Index = PACKAGE_MAC_OFFSET; Index < Size; Index += PACKAGE_MAC_INCR) {
-    Package[Index] = (UINT8)MacAddress;
-    MacAddress >>= 8;
+    Package[Index] = *MacAddress++;
   }
 }
 
@@ -165,11 +164,11 @@ InstallSystemDescriptionTables (
       //
       CopyMem (MacPackage, mDefaultMacPackageA, sizeof (MacPackage));
 
-      SetPackageAddress (MacPackage, PcdGet64 (PcdEthMacA), sizeof (MacPackage));
+      SetPackageAddress (MacPackage, PcdGetPtr (PcdEthMacA), sizeof (MacPackage));
       PatchAmlPackage (mDefaultMacPackageA, MacPackage, sizeof (MacPackage),
         (UINT8 *)Table, TableSize);
 
-      SetPackageAddress (MacPackage, PcdGet64 (PcdEthMacB), sizeof (MacPackage));
+      SetPackageAddress (MacPackage, PcdGetPtr (PcdEthMacB), sizeof (MacPackage));
       PatchAmlPackage (mDefaultMacPackageB, MacPackage, sizeof (MacPackage),
         (UINT8 *)Table, TableSize);
 
diff --git a/Silicon/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.c b/Silicon/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.c
index 4ea1dd4b3577..3cd650eee36b 100644
--- a/Silicon/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.c
+++ b/Silicon/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.c
@@ -123,7 +123,7 @@ PlatInitPeiEntryPoint (
   ISCP_CPU_RESET_INFO         CpuResetInfo = {0};
 #if DO_XGBE == 1
   ISCP_MAC_INFO               MacAddrInfo = {0};
-  UINT64                      MacAddr0, MacAddr1;
+  UINTN                       MacSize;
 #endif
   UINTN                       CpuCoreCount, CpuMap, CpuMapSize;
   UINTN                       Index, CoreNum;
@@ -223,16 +223,20 @@ PlatInitPeiEntryPoint (
              PeiServices, &MacAddrInfo );
   ASSERT_EFI_ERROR (Status);
 
-  MacAddr0 = MacAddr1 = 0;
-  for (Index = 0; Index < 6; ++Index) {
-    MacAddr0 |= (UINT64)MacAddrInfo.MacAddress0[Index] << (Index * 8);
-    MacAddr1 |= (UINT64)MacAddrInfo.MacAddress1[Index] << (Index * 8);
-  }
-  PcdSet64 (PcdEthMacA, MacAddr0);
-  PcdSet64 (PcdEthMacB, MacAddr1);
+  MacSize = sizeof(MacAddrInfo.MacAddress0);
+  Status = PcdSetPtrS (PcdEthMacA, &MacSize, MacAddrInfo.MacAddress0);
+  ASSERT_EFI_ERROR (Status);
+  Status = PcdSetPtrS (PcdEthMacB, &MacSize, MacAddrInfo.MacAddress1);
+  ASSERT_EFI_ERROR (Status);
 
-  DEBUG ((EFI_D_ERROR, "EthMacA = 0x%lX\n", PcdGet64 (PcdEthMacA)));
-  DEBUG ((EFI_D_ERROR, "EthMacB = 0x%lX\n", PcdGet64 (PcdEthMacB)));
+  DEBUG ((EFI_D_ERROR, "EthMacA = %02x:%02x:%02x:%02x:%02x:%02x\n",
+    ((UINT8 *)PcdGetPtr (PcdEthMacA))[0], ((UINT8 *)PcdGetPtr (PcdEthMacA))[1],
+    ((UINT8 *)PcdGetPtr (PcdEthMacA))[2], ((UINT8 *)PcdGetPtr (PcdEthMacA))[3],
+    ((UINT8 *)PcdGetPtr (PcdEthMacA))[4], ((UINT8 *)PcdGetPtr (PcdEthMacA))[5]));
+  DEBUG ((EFI_D_ERROR, "EthMacB = %02x:%02x:%02x:%02x:%02x:%02x\n",
+    ((UINT8 *)PcdGetPtr (PcdEthMacB))[0], ((UINT8 *)PcdGetPtr (PcdEthMacB))[1],
+    ((UINT8 *)PcdGetPtr (PcdEthMacB))[2], ((UINT8 *)PcdGetPtr (PcdEthMacB))[3],
+    ((UINT8 *)PcdGetPtr (PcdEthMacB))[4], ((UINT8 *)PcdGetPtr (PcdEthMacB))[5]));
 #endif
 
   // Let other PEI modules know we're done!
diff --git a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
index b9dfa2367ab2..4ca5d9bebed6 100644
--- a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
+++ b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
@@ -168,7 +168,7 @@ VOID
 SetMacAddress (
   IN VOID           *Fdt,
   IN CONST CHAR8    *Device,
-  IN UINT64         MacAddress
+  IN UINT8          *MacAddress
   )
 {
   INT32     Node;
@@ -179,7 +179,7 @@ SetMacAddress (
   if (Node >= 0) {
     SubNode = fdt_subnode_offset (Fdt, Node, Device);
     if (SubNode >= 0) {
-      Rc = fdt_setprop (Fdt, SubNode, "mac-address", (VOID *)&MacAddress,
+      Rc = fdt_setprop (Fdt, SubNode, "mac-address", MacAddress,
              MAC_ADDRESS_BYTES);
       if (Rc) {
         DEBUG ((DEBUG_ERROR,
@@ -289,8 +289,8 @@ SetXgbeStatus (
   SetDeviceStatus (Fdt, "xgmac@e0900000", TRUE);
   SetDeviceStatus (Fdt, "phy@e1240c00", TRUE);
 
-  SetMacAddress (Fdt, "xgmac@e0700000", PcdGet64 (PcdEthMacA));
-  SetMacAddress (Fdt, "xgmac@e0900000", PcdGet64 (PcdEthMacB));
+  SetMacAddress (Fdt, "xgmac@e0700000", PcdGetPtr (PcdEthMacA));
+  SetMacAddress (Fdt, "xgmac@e0900000", PcdGetPtr (PcdEthMacB));
 #else
   SetDeviceStatus (Fdt, "xgmac@e0700000", FALSE);
   SetDeviceStatus (Fdt, "phy@e1240800", FALSE);
-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 2/6] Silicon/Styx: drop ARM_CPU_AARCH64 define
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 1/6] Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 3/6] Silicon/Styx: get rid of NUM_CORES preprocessor define on command line Ard Biesheuvel
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

The define ARM_CPU_AARCH64 is only tested once, in the SMBIOS driver,
to decide whether to emit 'v8' or 'v7' as processor architecture.
However, this platform has no 32-bit addressable DRAM, and so it
cannot be built or executed in 32-bit mode anyway, making the test
rather pointless.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc                 | 4 ++--
 Platform/LeMaker/CelloBoard/CelloBoard.dsc                     | 4 ++--
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc    | 4 ++--
 Silicon/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c | 4 ----
 4 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 3b9d70de2751..9172c82fdeba 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -268,8 +268,8 @@ DEFINE DO_CAPSULE   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index 29e740695366..f556591b9e25 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -260,8 +260,8 @@ DEFINE DO_FLASHER   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
index f342cf82d251..5abf1d52f916 100644
--- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
@@ -258,8 +258,8 @@ DEFINE DO_FLASHER   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Silicon/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c b/Silicon/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
index bcb6e020a5fd..8fe806c18ac3 100644
--- a/Silicon/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
+++ b/Silicon/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
@@ -309,11 +309,7 @@ STATIC SMBIOS_TABLE_TYPE4 mProcessorInfoType4 = {
 STATIC CHAR8 CONST * CONST mProcessorInfoType4Strings[] = {
   "Socket",
   "ARM",
-#ifdef ARM_CPU_AARCH64
   "v8",
-#else
-  "v7",
-#endif
   "1.0",
   "1.0",
   "1.0",
-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 3/6] Silicon/Styx: get rid of NUM_CORES preprocessor define on command line
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 1/6] Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 2/6] Silicon/Styx: drop ARM_CPU_AARCH64 define Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 4/6] Silicon/Styx: switch to device path protocol driver Ard Biesheuvel
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

Instead of relying on the compiler command line to pass the value
of NUM_CORES as a preprocessor define, use the value of the PcdCoreCount
PCD that we already set in the platform .DSC.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc                 | 4 ++--
 Platform/LeMaker/CelloBoard/CelloBoard.dsc                     | 4 ++--
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc    | 4 ++--
 Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf   | 2 ++
 Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf | 2 ++
 Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c   | 2 ++
 Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl              | 2 ++
 Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc             | 2 ++
 8 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 9172c82fdeba..696090cfb2dd 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -268,8 +268,8 @@ DEFINE DO_CAPSULE   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_XGBE=$(DO_XGBE) -DDO_KCS=$(DO_KCS)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index f556591b9e25..5056122aa681 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -260,8 +260,8 @@ DEFINE DO_FLASHER   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
index 5abf1d52f916..8187e799a6fc 100644
--- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
@@ -258,8 +258,8 @@ DEFINE DO_FLASHER   = FALSE
   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
 
-  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
-  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES)
+  GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS)
+  GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS)
 
 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
index 2a42d76d4883..be885d6aea90 100644
--- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
+++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
@@ -42,6 +42,7 @@
   SsdtXgbe.asl
 
 [Packages]
+  ArmPlatformPkg/ArmPlatformPkg.dec
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
@@ -84,6 +85,7 @@
   gAmdStyxTokenSpaceGuid.PcdSbsaWakeUpGSIV
   gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogGSIV
   gAmdStyxTokenSpaceGuid.PcdSerialDbgRegisterBase
+  gArmPlatformTokenSpaceGuid.PcdCoreCount
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
   gArmTokenSpaceGuid.PcdGicDistributorBase
   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
diff --git a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf
index 3f36799f5df1..87cdcb3e6b25 100644
--- a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf
+++ b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf
@@ -24,6 +24,7 @@
   StyxDtbLoaderLib.c
 
 [Packages]
+  ArmPlatformPkg/ArmPlatformPkg.dec
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
@@ -49,6 +50,7 @@
   gArmTokenSpaceGuid.PcdSystemMemoryBase
 
 [FixedPcd]
+  gArmPlatformTokenSpaceGuid.PcdCoreCount
   gArmTokenSpaceGuid.PcdArmLinuxFdtMaxOffset
   gArmTokenSpaceGuid.PcdArmLinuxFdtAlignment
   gAmdStyxTokenSpaceGuid.PcdSata1PortCount
diff --git a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
index 4ca5d9bebed6..b1e4984d3fd0 100644
--- a/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
+++ b/Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.c
@@ -33,6 +33,8 @@
 #define PMU_INT_FLAG_SPI        0
 #define PMU_INT_TYPE_HIGH_LEVEL 4
 
+#define NUM_CORES               FixedPcdGet32 (PcdCoreCount)
+
 //
 // PMU interrupts per core
 //
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl
index c1417e7e1cd7..60288114aeab 100644
--- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl
+++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl
@@ -21,6 +21,8 @@
 
 **/
 
+#define NUM_CORES                           FixedPcdGet32 (PcdCoreCount)
+
 DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC", "SEATTLE ", 3)
 {
     Scope (_SB)
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc
index 64a6cda7fd87..031307fa3c36 100644
--- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc
+++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc
@@ -18,6 +18,8 @@
 
 #define FIELD_OFFSET(type, name)            __builtin_offsetof(type, name)
 
+#define NUM_CORES                           FixedPcdGet32 (PcdCoreCount)
+
 #pragma pack(1)
 typedef struct {
   EFI_ACPI_6_2_PPTT_STRUCTURE_PROCESSOR                     Core;
-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 4/6] Silicon/Styx: switch to device path protocol driver
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
                   ` (2 preceding siblings ...)
  2018-12-11 15:02 ` [PATCH edk2-platforms 3/6] Silicon/Styx: get rid of NUM_CORES preprocessor define on command line Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 5/6] Platform/AMD/OverdriveBoard: enable support for IPv6 networking and HTTP boot Ard Biesheuvel
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

Replace the default resolution of the DevicePathLib library with
the version that invokes the DevicePathDxe protocol driver, which
was created to avoid having to carry a copy of the entire library
in each module.

Note that this driver itself incorporates on the NULL PcdLib instance,
to avoid creating a circular dependency on the PCD DXE driver. The
driver itself nor the DXE core can depend on the protocol, so they
keep using the library directly.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc              | 9 +++++++--
 Platform/LeMaker/CelloBoard/CelloBoard.dsc                  | 9 +++++++--
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc | 9 +++++++--
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 696090cfb2dd..4b7342b3e3ce 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -63,7 +63,7 @@ DEFINE DO_CAPSULE   = FALSE
   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
@@ -545,12 +545,18 @@ DEFINE DO_CAPSULE   = FALSE
   #
   MdeModulePkg/Core/Dxe/DxeMain.inf {
     <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
   }
   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
     <LibraryClasses>
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   }
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
 
   #
   # Architectural Protocols
@@ -703,7 +709,6 @@ DEFINE DO_CAPSULE   = FALSE
   #
   # Bds
   #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index 5056122aa681..37daef4f82e6 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -59,7 +59,7 @@ DEFINE DO_FLASHER   = FALSE
   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
@@ -498,12 +498,18 @@ DEFINE DO_FLASHER   = FALSE
   #
   MdeModulePkg/Core/Dxe/DxeMain.inf {
     <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
   }
   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
     <LibraryClasses>
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   }
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
 
   #
   # Architectural Protocols
@@ -633,7 +639,6 @@ DEFINE DO_FLASHER   = FALSE
   #
   # Bds
   #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
index 8187e799a6fc..5264346a375c 100644
--- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
@@ -59,7 +59,7 @@ DEFINE DO_FLASHER   = FALSE
   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
@@ -482,12 +482,18 @@ DEFINE DO_FLASHER   = FALSE
   #
   MdeModulePkg/Core/Dxe/DxeMain.inf {
     <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
   }
   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
     <LibraryClasses>
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   }
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
 
   #
   # Architectural Protocols
@@ -628,7 +634,6 @@ DEFINE DO_FLASHER   = FALSE
   #
   # Bds
   #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 5/6] Platform/AMD/OverdriveBoard: enable support for IPv6 networking and HTTP boot
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
                   ` (3 preceding siblings ...)
  2018-12-11 15:02 ` [PATCH edk2-platforms 4/6] Silicon/Styx: switch to device path protocol driver Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:02 ` [PATCH edk2-platforms 6/6] Platform/AMD/OverdriveBoard: build device tree from source Ard Biesheuvel
  2018-12-11 15:53 ` [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Leif Lindholm
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

Enable the various bits and pieces that implement IPv6 networking
and HTTP/HTTPS boot from UEFI.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 32 ++++++++++++++------
 Platform/AMD/OverdriveBoard/OverdriveBoard.fdf | 19 +++++++++---
 2 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 4b7342b3e3ce..04d655440d5b 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -128,7 +128,6 @@ DEFINE DO_CAPSULE   = FALSE
   DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf
 !if $(DO_CAPSULE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
   EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf
   FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
@@ -136,6 +135,11 @@ DEFINE DO_CAPSULE   = FALSE
   PlatformFlashAccessLib|Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.inf
 !endif
 
+  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
+  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
+  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
+  TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
+
   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
   PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
@@ -459,6 +463,8 @@ DEFINE DO_CAPSULE   = FALSE
   # map the stack as non-executable when entering the DXE phase
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
 
+  gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
+
 !if $(DO_XGBE)
   gAmdModulePkgTokenSpaceGuid.PcdXgbeEnable|TRUE
 
@@ -658,23 +664,29 @@ DEFINE DO_CAPSULE   = FALSE
   #
   # Networking stack
   #
-  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-# MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf {
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-  }
+  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
+  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
   NetworkPkg/TcpDxe/TcpDxe.inf
-## Bug https://bugs.linaro.org/show_bug.cgi?id=2239
-# NetworkPkg/IScsiDxe/IScsiDxe.inf
+  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
+  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
+  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
+  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+  NetworkPkg/IScsiDxe/IScsiDxe.inf
+  NetworkPkg/DnsDxe/DnsDxe.inf
+  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
+  NetworkPkg/HttpDxe/HttpDxe.inf
+  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
+  NetworkPkg/TlsDxe/TlsDxe.inf
+  NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
 
   #
   # Core Info
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
index c7e27e20ad4a..5dcf67d819f6 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
@@ -195,20 +195,29 @@ READ_LOCK_STATUS   = TRUE
   #
   # Networking stack
   #
-  INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
   INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
   INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
   INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-# INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
   INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
   INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
+  INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
   INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
   INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
   INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+  INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
   INF NetworkPkg/TcpDxe/TcpDxe.inf
-## Bug https://bugs.linaro.org/show_bug.cgi?id=2239
-# INF NetworkPkg/IScsiDxe/IScsiDxe.inf
+  INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
+  INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
+  INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
+  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+  INF NetworkPkg/IScsiDxe/IScsiDxe.inf
+  INF NetworkPkg/DnsDxe/DnsDxe.inf
+  INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
+  INF NetworkPkg/HttpDxe/HttpDxe.inf
+  INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
+  INF NetworkPkg/TlsDxe/TlsDxe.inf
+  INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+  INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
 
   #
   # Core Info
-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH edk2-platforms 6/6] Platform/AMD/OverdriveBoard: build device tree from source
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
                   ` (4 preceding siblings ...)
  2018-12-11 15:02 ` [PATCH edk2-platforms 5/6] Platform/AMD/OverdriveBoard: enable support for IPv6 networking and HTTP boot Ard Biesheuvel
@ 2018-12-11 15:02 ` Ard Biesheuvel
  2018-12-11 15:53 ` [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Leif Lindholm
  6 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 15:02 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, alan, Ard Biesheuvel

Instead of incorporating the prebuilt device tree binary as a
FREEFORM FFS file into the build, define a module that contains
the source so that the device tree compiler is invoked at build
time.

The original .dts file is moved into the new module, and cleaned
up a little so that explicit phandle properties are dropped, and
unused clocks and other redudant pieces are removed as well. The
existing prebuilt binary is deleted.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc                                            |   1 +
 Platform/LeMaker/CelloBoard/CelloBoard.dsc                                                |   1 +
 Platform/AMD/OverdriveBoard/OverdriveBoard.fdf                                            |  10 +-
 Platform/LeMaker/CelloBoard/CelloBoard.fdf                                                |   9 +-
 Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf                                 |  28 ++++
 Platform/AMD/OverdriveBoard/{FdtBlob/styx-overdrive.dts => DeviceTree/OverdriveBoard.dts} | 140 ++++++--------------
 Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb                                    | Bin 9357 -> 0 bytes
 7 files changed, 81 insertions(+), 108 deletions(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 04d655440d5b..3b680e22cd36 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -622,6 +622,7 @@ DEFINE DO_CAPSULE   = FALSE
       FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
       DtPlatformDtbLoaderLib|Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf
   }
+  Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
 
   #
   # PCI support
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index 37daef4f82e6..6362ab5a17fb 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -562,6 +562,7 @@ DEFINE DO_FLASHER   = FALSE
       FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
       DtPlatformDtbLoaderLib|Silicon/AMD/Styx/Library/StyxDtbLoaderLib/StyxDtbLoaderLib.inf
   }
+  Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
 
   #
   # PCI support
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
index 5dcf67d819f6..e7788c42782f 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
@@ -149,10 +149,7 @@ READ_LOCK_STATUS   = TRUE
   # FDT support
   #
   INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
-
-  FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 {
-    SECTION RAW = Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
-  }
+  INF RuleOverride = DTB Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
 
   #
   # PCI support
@@ -514,3 +511,8 @@ CAPSULE_HEADER_INIT_VERSION = 0x1
      UI       STRING="$(MODULE_NAME)" Optional
      VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
   }
+
+[Rule.Common.USER_DEFINED.DTB]
+  FILE FREEFORM = $(NAMED_GUID) {
+    RAW BIN                |.dtb
+  }
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.fdf b/Platform/LeMaker/CelloBoard/CelloBoard.fdf
index 6362257deb8c..0f5880cfa4ac 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.fdf
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.fdf
@@ -145,10 +145,7 @@ READ_LOCK_STATUS   = TRUE
   # FDT support
   #
   INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
-
-  FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 {
-    SECTION RAW = Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
-  }
+  INF RuleOverride = DTB Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
 
   #
   # PCI support
@@ -408,3 +405,7 @@ READ_LOCK_STATUS   = TRUE
     RAW ASL                |.aml
   }
 
+[Rule.Common.USER_DEFINED.DTB]
+  FILE FREEFORM = $(NAMED_GUID) {
+    RAW BIN                |.dtb
+  }
diff --git a/Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf b/Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
new file mode 100644
index 000000000000..d908ff03fda9
--- /dev/null
+++ b/Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
@@ -0,0 +1,28 @@
+## @file
+#
+#  Device tree description of the AMD Overdrive platform
+#
+#  Copyright (c) 2018, 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    = 0x0001001A
+  BASE_NAME      = OverdriveBoardDeviceTree
+  FILE_GUID      = 25462CDA-221F-47DF-AC1D-259CFAA4E326 # gDtPlatformDefaultDtbFileGuid
+  MODULE_TYPE    = USER_DEFINED
+  VERSION_STRING = 1.0
+
+[Sources]
+  OverdriveBoard.dts
+
+[Packages]
+  MdePkg/MdePkg.dec
diff --git a/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dts b/Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.dts
similarity index 77%
rename from Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dts
rename to Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.dts
index 4039f666004a..3ae323a9f0a7 100644
--- a/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dts
+++ b/Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.dts
@@ -19,11 +19,11 @@
 / {
 	model = "AMD Seattle (Rev.B) Development Board (Overdrive)";
 	compatible = "amd,seattle-overdrive", "amd,seattle";
-	interrupt-parent = <0x1>;
+	interrupt-parent = <&gic>;
 	#address-cells = <0x2>;
 	#size-cells = <0x2>;
 
-	interrupt-controller@e1101000 {
+	gic: interrupt-controller@e1101000 {
 		compatible = "arm,gic-400", "arm,cortex-a15-gic";
 		interrupt-controller;
 		#interrupt-cells = <0x3>;
@@ -35,15 +35,11 @@
 		      <0x0 0xe1160000 0x0 0x2000>;
 		interrupts = <0x1 0x9 0xf04>;
 		ranges = <0x0 0x0 0x0 0xe1100000 0x0 0x100000>;
-		linux,phandle = <0x1>;
-		phandle = <0x1>;
 
-		v2m@e0080000 {
+		msi: v2m@e0080000 {
 			compatible = "arm,gic-v2m-frame";
 			msi-controller;
 			reg = <0x0 0x80000 0x0 0x1000>;
-			linux,phandle = <0x4>;
-			phandle = <0x4>;
 		};
 	};
 
@@ -67,59 +63,25 @@
 		 */
 		dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
 
-		clk100mhz_0 {
-			compatible = "fixed-clock";
-			#clock-cells = <0x0>;
-			clock-frequency = <100000000>;
-			clock-output-names = "adl3clk_100mhz";
-		};
-
-		clk375mhz {
-			compatible = "fixed-clock";
-			#clock-cells = <0x0>;
-			clock-frequency = <375000000>;
-			clock-output-names = "ccpclk_375mhz";
-		};
-
-		clk333mhz {
+		sata_clk: clk333mhz {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <333000000>;
 			clock-output-names = "sataclk_333mhz";
-			linux,phandle = <0x2>;
-			phandle = <0x2>;
 		};
 
-		clk500mhz_0 {
-			compatible = "fixed-clock";
-			#clock-cells = <0x0>;
-			clock-frequency = <500000000>;
-			clock-output-names = "pcieclk_500mhz";
-		};
-
-		clk500mhz_1 {
-			compatible = "fixed-clock";
-			#clock-cells = <0x0>;
-			clock-frequency = <500000000>;
-			clock-output-names = "dmaclk_500mhz";
-		};
-
-		clk250mhz_4 {
+		i2c_clk: clk250mhz_4 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <250000000>;
 			clock-output-names = "miscclk_250mhz";
-			linux,phandle = <0xd>;
-			phandle = <0xd>;
 		};
 
-		clk100mhz_1 {
+		apb_clk: clk100mhz_1 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <100000000>;
 			clock-output-names = "uartspiclk_100mhz";
-			linux,phandle = <0x3>;
-			phandle = <0x3>;
 		};
 
 		sata0_smmu: smmu@e0200000 {
@@ -152,7 +114,7 @@
 			compatible = "snps,dwc-ahci";
 			reg = <0x0 0xe0300000 0x0 0xf0000>;
 			interrupts = <0x0 0x163 0x4>;
-			clocks = <0x2>;
+			clocks = <&sata_clk>;
 			dma-coherent;
 			iommus = <&sata0_smmu 0x00 0x1f>; /* 0-31 */
 		};
@@ -162,7 +124,7 @@
 			compatible = "snps,dwc-ahci";
 			reg = <0x0 0xe0d00000 0x0 0xf0000>;
 			interrupts = <0x0 0x162 0x4>;
-			clocks = <0x2>;
+			clocks = <&sata_clk>;
 			dma-coherent;
 			iommus = <&sata1_smmu 0x00 0x1f>; /* 0-31 */
 		};
@@ -171,21 +133,21 @@
 			compatible = "snps,designware-i2c";
 			reg = <0x0 0xe1000000 0x0 0x1000>;
 			interrupts = <0x0 0x165 0x4>;
-			clocks = <0xd>;
+			clocks = <&i2c_clk>;
 		};
 
 		i2c@e0050000 {
 			compatible = "snps,designware-i2c";
 			reg = <0x0 0xe0050000 0x0 0x1000>;
 			interrupts = <0x0 0x154 0x4>;
-			clocks = <0xd>;
+			clocks = <&i2c_clk>;
 		};
 
 		serial@e1010000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x0 0xe1010000 0x0 0x1000>;
 			interrupts = <0x0 0x148 0x4>;
-			clocks = <0x3 0x3>;
+			clocks = <&apb_clk &apb_clk>;
 			clock-names = "uartclk", "apb_pclk";
 		};
 
@@ -194,7 +156,7 @@
 			reg = <0x0 0xe1020000 0x0 0x1000>;
 			spi-controller;
 			interrupts = <0x0 0x14a 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 		};
 
@@ -203,7 +165,7 @@
 			reg = <0x0 0xe1030000 0x0 0x1000>;
 			spi-controller;
 			interrupts = <0x0 0x149 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 			num-cs = <0x1>;
 			#address-cells = <0x1>;
@@ -230,7 +192,7 @@
 			interrupt-controller;
 			#interrupt-cells = <0x2>;
 			interrupts = <0x0 0x166 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 		};
 
@@ -243,7 +205,7 @@
 			interrupt-controller;
 			#interrupt-cells = <0x2>;
 			interrupts = <0x0 0x16e 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 		};
 
@@ -256,7 +218,7 @@
 			interrupt-controller;
 			#interrupt-cells = <0x2>;
 			interrupts = <0x0 0x16d 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 		};
 
@@ -268,7 +230,7 @@
 			interrupt-controller;
 			#interrupt-cells = <0x2>;
 			interrupts = <0x0 0x169 0x4>;
-			clocks = <0x3>;
+			clocks = <&apb_clk>;
 			clock-names = "apb_pclk";
 		};
 
@@ -288,23 +250,23 @@
 			iommu-map = <0x0 &pcie_smmu 0x0 0x10000>;
 			device_type = "pci";
 			bus-range = <0x0 0x7f>;
-			msi-parent = <0x4>;
+			msi-parent = <&msi>;
 			reg = <0x0 0xf0000000 0x0 0x10000000>;
 			interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
-			interrupt-map = <0x1100 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x120 0x1>,
-					<0x1100 0x0 0x0 0x2 0x1 0x0 0x0 0x0 0x121 0x1>,
-					<0x1100 0x0 0x0 0x3 0x1 0x0 0x0 0x0 0x122 0x1>,
-					<0x1100 0x0 0x0 0x4 0x1 0x0 0x0 0x0 0x123 0x1>,
+			interrupt-map = <0x1100 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x120 0x1>,
+					<0x1100 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x121 0x1>,
+					<0x1100 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x122 0x1>,
+					<0x1100 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x123 0x1>,
 
-					<0x1200 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x124 0x1>,
-					<0x1200 0x0 0x0 0x2 0x1 0x0 0x0 0x0 0x125 0x1>,
-					<0x1200 0x0 0x0 0x3 0x1 0x0 0x0 0x0 0x126 0x1>,
-					<0x1200 0x0 0x0 0x4 0x1 0x0 0x0 0x0 0x127 0x1>,
+					<0x1200 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x124 0x1>,
+					<0x1200 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x125 0x1>,
+					<0x1200 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x126 0x1>,
+					<0x1200 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x127 0x1>,
 
-					<0x1300 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x128 0x1>,
-					<0x1300 0x0 0x0 0x2 0x1 0x0 0x0 0x0 0x129 0x1>,
-					<0x1300 0x0 0x0 0x3 0x1 0x0 0x0 0x0 0x12a 0x1>,
-					<0x1300 0x0 0x0 0x4 0x1 0x0 0x0 0x0 0x12b 0x1>;
+					<0x1300 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x128 0x1>,
+					<0x1300 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x129 0x1>,
+					<0x1300 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x12a 0x1>,
+					<0x1300 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x12b 0x1>;
 			dma-coherent;
 			dma-ranges = <0x43000000 0x0 0x0 0x0 0x0 0x100 0x0>;
 			ranges = <0x1000000 0x0 0x00000000 0x0 0xefff0000 0x00 0x00010000>, /* I/O Memory (size=64K) */
@@ -352,43 +314,35 @@
 			reg-spacing = <4>;
 		};
 
-		clk250mhz_0 {
+		xgmacclk0_dma: clk250mhz_0 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <250000000>;
 			clock-output-names = "xgmacclk0_dma_250mhz";
-			linux,phandle = <0x5>;
-			phandle = <0x5>;
 		};
 
-		clk250mhz_1 {
+		xgmacclk0_ptp: clk250mhz_1 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <250000000>;
 			clock-output-names = "xgmacclk0_ptp_250mhz";
-			linux,phandle = <0x6>;
-			phandle = <0x6>;
 		};
 
-		clk250mhz_2 {
+		xgmacclk1_dma: clk250mhz_2 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <250000000>;
 			clock-output-names = "xgmacclk1_dma_250mhz";
-			linux,phandle = <0x7>;
-			phandle = <0x7>;
 		};
 
-		clk250mhz_3 {
+		xgmacclk1_ptp: clk250mhz_3 {
 			compatible = "fixed-clock";
 			#clock-cells = <0x0>;
 			clock-frequency = <250000000>;
 			clock-output-names = "xgmacclk1_ptp_250mhz";
-			linux,phandle = <0x8>;
-			phandle = <0x8>;
 		};
 
-		phy@e1240800 {
+		xgmac0_phy: phy@e1240800 {
 			status = "disabled";
 			compatible = "amd,xgbe-phy-seattle-v1a";
 			reg = <0x0 0xe1240800 0x0 0x0400>, /* SERDES RX/TX0 */
@@ -402,11 +356,9 @@
 			amd,serdes-tx-amp = <0xf 0xf 0xa>;
 			amd,serdes-dfe-tap-config = <0x3 0x3 0x1>;
 			amd,serdes-dfe-tap-enable = <0x0 0x0 0x7f>;
-			linux,phandle = <0x9>;
-			phandle = <0x9>;
 		};
 
-		phy@e1240c00 {
+		xgmac1_phy: phy@e1240c00 {
 			status = "disabled";
 			compatible = "amd,xgbe-phy-seattle-v1a";
 			reg = <0x0 0xe1240c00 0x0 0x0400>, /* SERDES RX/TX0 */
@@ -420,8 +372,6 @@
 			amd,serdes-tx-amp = <0xf 0xf 0xa>;
 			amd,serdes-dfe-tap-config = <0x3 0x3 0x1>;
 			amd,serdes-dfe-tap-enable = <0x0 0x0 0x7f>;
-			linux,phandle = <0xa>;
-			phandle = <0xa>;
 		};
 
 		xgmac0_smmu: smmu@e0600000 {
@@ -461,14 +411,12 @@
 				     <0x0 0x15d 0x1>;
 			amd,per-channel-interrupt;
 			mac-address = [02 a1 a2 a3 a4 a5];
-			clocks = <0x5 0x6>;
+			clocks = <&xgmacclk0_dma &xgmacclk0_ptp>;
 			clock-names = "dma_clk", "ptp_clk";
-			phy-handle = <0x9>;
+			phy-handle = <&xgmac0_phy>;
 			phy-mode = "xgmii";
 			dma-coherent;
 			iommus = <&xgmac0_smmu 0x00 0x1f>; /* 0-31 */
-			linux,phandle = <0xb>;
-			phandle = <0xb>;
 		};
 
 		xgmac@e0900000 {
@@ -482,25 +430,17 @@
 				     <0x0 0x158 0x1>;
 			amd,per-channel-interrupt;
 			mac-address = [02 b1 b2 b3 b4 b5];
-			clocks = <0x7 0x8>;
+			clocks = <&xgmacclk1_dma &xgmacclk1_ptp>;
 			clock-names = "dma_clk", "ptp_clk";
-			phy-handle = <0xa>;
+			phy-handle = <&xgmac1_phy>;
 			phy-mode = "xgmii";
 			dma-coherent;
 			iommus = <&xgmac1_smmu 0x00 0x1f>; /* 0-31 */
-			linux,phandle = <0xc>;
-			phandle = <0xc>;
 		};
 	};
 
 	chosen {
 		stdout-path = "/smb/serial@e1010000";
-		/* Note:
-		 * Linux support for pci-probe-only DT is not
-		 * stable. Disable this for now and let Linux
-		 * take care of the resource assignment.
-		 */
-		// linux,pci-probe-only;
 	};
 
 	psci {
diff --git a/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb b/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
deleted file mode 100644
index c8e5fd980bce305186214aab10a7d399faa22500..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9357
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

-- 
2.19.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups
  2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
                   ` (5 preceding siblings ...)
  2018-12-11 15:02 ` [PATCH edk2-platforms 6/6] Platform/AMD/OverdriveBoard: build device tree from source Ard Biesheuvel
@ 2018-12-11 15:53 ` Leif Lindholm
  2018-12-11 16:46   ` Ard Biesheuvel
  6 siblings, 1 reply; 9+ messages in thread
From: Leif Lindholm @ 2018-12-11 15:53 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: edk2-devel, alan

On Tue, Dec 11, 2018 at 04:02:31PM +0100, Ard Biesheuvel wrote:
> Another day, another round of cleanups for Styx. Patch #1 was sent out
> earlier, and has been updated to switch to a VOID* type PCD. Remaining
> patches are various cleanups for Styx in general, and some for Overdrive
> (+ Cello)

For the series:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


> Ard Biesheuvel (6):
>   Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses
>   Silicon/Styx: drop ARM_CPU_AARCH64 define
>   Silicon/Styx: get rid of NUM_CORES preprocessor define on command line
>   Silicon/Styx: switch to device path protocol driver
>   Platform/AMD/OverdriveBoard: enable support for IPv6 networking and
>     HTTP boot
>   Platform/AMD/OverdriveBoard: build device tree from source
> 
>  Silicon/AMD/Styx/AmdStyx.dec                  |   4 +-
>  .../AMD/OverdriveBoard/OverdriveBoard.dsc     |  50 +++++--
>  Platform/LeMaker/CelloBoard/CelloBoard.dsc    |  14 +-
>  .../Overdrive1000Board/Overdrive1000Board.dsc |  13 +-
>  .../AMD/OverdriveBoard/OverdriveBoard.fdf     |  29 ++--
>  Platform/LeMaker/CelloBoard/CelloBoard.fdf    |   9 +-
>  .../DeviceTree/OverdriveBoard.inf             |  28 ++++
>  .../AcpiPlatformDxe/AcpiPlatformDxe.inf       |   2 +
>  .../StyxDtbLoaderLib/StyxDtbLoaderLib.inf     |   2 +
>  .../Drivers/AcpiPlatformDxe/AcpiPlatform.c    |   9 +-
>  .../Styx/Drivers/PlatInitPei/PlatInitPei.c    |  24 +--
>  .../PlatformSmbiosDxe/PlatformSmbiosDxe.c     |   4 -
>  .../StyxDtbLoaderLib/StyxDtbLoaderLib.c       |  10 +-
>  .../OverdriveBoard.dts}                       | 140 +++++-------------
>  .../OverdriveBoard/FdtBlob/styx-overdrive.dtb | Bin 9357 -> 0 bytes
>  .../AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl |   2 +
>  .../Styx/Drivers/AcpiPlatformDxe/Pptt.aslc    |   2 +
>  17 files changed, 180 insertions(+), 162 deletions(-)
>  create mode 100644 Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
>  rename Platform/AMD/OverdriveBoard/{FdtBlob/styx-overdrive.dts => DeviceTree/OverdriveBoard.dts} (77%)
>  delete mode 100644 Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
> 
> -- 
> 2.19.2
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups
  2018-12-11 15:53 ` [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Leif Lindholm
@ 2018-12-11 16:46   ` Ard Biesheuvel
  0 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2018-12-11 16:46 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org, Alan Ott

On Tue, 11 Dec 2018 at 16:53, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>
> On Tue, Dec 11, 2018 at 04:02:31PM +0100, Ard Biesheuvel wrote:
> > Another day, another round of cleanups for Styx. Patch #1 was sent out
> > earlier, and has been updated to switch to a VOID* type PCD. Remaining
> > patches are various cleanups for Styx in general, and some for Overdrive
> > (+ Cello)
>
> For the series:
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>

Thanks

Pushed as 852195e6f553..006c241447cd

>
> > Ard Biesheuvel (6):
> >   Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses
> >   Silicon/Styx: drop ARM_CPU_AARCH64 define
> >   Silicon/Styx: get rid of NUM_CORES preprocessor define on command line
> >   Silicon/Styx: switch to device path protocol driver
> >   Platform/AMD/OverdriveBoard: enable support for IPv6 networking and
> >     HTTP boot
> >   Platform/AMD/OverdriveBoard: build device tree from source
> >
> >  Silicon/AMD/Styx/AmdStyx.dec                  |   4 +-
> >  .../AMD/OverdriveBoard/OverdriveBoard.dsc     |  50 +++++--
> >  Platform/LeMaker/CelloBoard/CelloBoard.dsc    |  14 +-
> >  .../Overdrive1000Board/Overdrive1000Board.dsc |  13 +-
> >  .../AMD/OverdriveBoard/OverdriveBoard.fdf     |  29 ++--
> >  Platform/LeMaker/CelloBoard/CelloBoard.fdf    |   9 +-
> >  .../DeviceTree/OverdriveBoard.inf             |  28 ++++
> >  .../AcpiPlatformDxe/AcpiPlatformDxe.inf       |   2 +
> >  .../StyxDtbLoaderLib/StyxDtbLoaderLib.inf     |   2 +
> >  .../Drivers/AcpiPlatformDxe/AcpiPlatform.c    |   9 +-
> >  .../Styx/Drivers/PlatInitPei/PlatInitPei.c    |  24 +--
> >  .../PlatformSmbiosDxe/PlatformSmbiosDxe.c     |   4 -
> >  .../StyxDtbLoaderLib/StyxDtbLoaderLib.c       |  10 +-
> >  .../OverdriveBoard.dts}                       | 140 +++++-------------
> >  .../OverdriveBoard/FdtBlob/styx-overdrive.dtb | Bin 9357 -> 0 bytes
> >  .../AMD/Styx/Drivers/AcpiPlatformDxe/Dsdt.asl |   2 +
> >  .../Styx/Drivers/AcpiPlatformDxe/Pptt.aslc    |   2 +
> >  17 files changed, 180 insertions(+), 162 deletions(-)
> >  create mode 100644 Platform/AMD/OverdriveBoard/DeviceTree/OverdriveBoard.inf
> >  rename Platform/AMD/OverdriveBoard/{FdtBlob/styx-overdrive.dts => DeviceTree/OverdriveBoard.dts} (77%)
> >  delete mode 100644 Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
> >
> > --
> > 2.19.2
> >


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-12-11 16:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-11 15:02 [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 1/6] Platform/AMD/OverdriveBoard: fix byte order of default MAC addresses Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 2/6] Silicon/Styx: drop ARM_CPU_AARCH64 define Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 3/6] Silicon/Styx: get rid of NUM_CORES preprocessor define on command line Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 4/6] Silicon/Styx: switch to device path protocol driver Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 5/6] Platform/AMD/OverdriveBoard: enable support for IPv6 networking and HTTP boot Ard Biesheuvel
2018-12-11 15:02 ` [PATCH edk2-platforms 6/6] Platform/AMD/OverdriveBoard: build device tree from source Ard Biesheuvel
2018-12-11 15:53 ` [PATCH edk2-platforms 0/6] Silicon/Styx: another round of cleanups Leif Lindholm
2018-12-11 16:46   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox