public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
@ 2019-10-21 11:25 Pete Batard
  2019-10-21 12:28 ` [edk2-devel] " Philippe Mathieu-Daudé
  0 siblings, 1 reply; 10+ messages in thread
From: Pete Batard @ 2019-10-21 11:25 UTC (permalink / raw)
  To: devel; +Cc: ard.biesheuvel, leif.lindholm

In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
is restructured by factorizing all the drivers and libraries that are
going to be commonly used by the two platforms.

Because much of the Pi 4 SoC is an extension of the Pi 3 one this
means that almost everything, except the ACPI tables, is moved up
into a new common RaspberryPi/ subdirectory that will serve both
platforms. The .dec is also moved to this directory, under a new
RaspberryPi.dec name, and existing references to it are updated.

No other changes are being applied at this stage.

Signed-off-by: Pete Batard <pete@akeo.ie>
---
 Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c               |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h               |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf             |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxe.c                             |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxe.inf                           |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h                  |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeHii.uni                        |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeHii.vfr                        |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/ComponentName.c                        |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.c                           |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.h                           |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.inf                         |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/Screenshot.c                           |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/ComponentName.c                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DriverBinding.c                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.c                       |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.h                       |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf                     |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwcHw.h                              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/FdtDxe/FdtDxe.c                                   |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/FdtDxe/FdtDxe.inf                                 |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/ComponentName.c                |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsole.c              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsole.h              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf         |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni         |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni    |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/NewFont.c                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/ComponentName.c                            |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Diagnostics.c                              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Mmc.c                                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Mmc.h                                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcBlockIo.c                               |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcDebug.c                                 |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcDxe.inf                                 |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcIdentification.c                        |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c             |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf           |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c                   |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf                 |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/SdHostDxe/SdHostDxe.c                             |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/SdHostDxe/SdHostDxe.inf                           |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/FileIo.c                       |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/FvbInfo.c                      |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockService.c              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockService.h              |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c           |  0
 Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf         |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Include/IndustryStandard/RpiMbox.h                        |  0
 Platform/RaspberryPi/{RPi3 => }/Include/Protocol/DwUsb.h                                  |  0
 Platform/RaspberryPi/{RPi3 => }/Include/Protocol/ExtendedTextOut.h                        |  0
 Platform/RaspberryPi/{RPi3 => }/Include/Protocol/RpiFirmware.h                            |  0
 Platform/RaspberryPi/{RPi3 => }/Include/Protocol/RpiMmcHost.h                             |  0
 Platform/RaspberryPi/{RPi3 => }/Library/MemoryInitPeiLib/MemoryInitPeiLib.c               |  0
 Platform/RaspberryPi/{RPi3 => }/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf             |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBm.c               |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBm.h               |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/AArch64/RaspberryPiHelper.S           |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/PlatformLib.inf                       |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/RaspberryPi.c                         |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/RaspberryPiMem.c                      |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformUiAppLib/PlatformUiAppLib.c               |  0
 Platform/RaspberryPi/{RPi3 => }/Library/PlatformUiAppLib/PlatformUiAppLib.inf             |  2 +-
 Platform/RaspberryPi/{RPi3 => }/Library/ResetLib/ResetLib.c                               |  0
 Platform/RaspberryPi/{RPi3 => }/Library/ResetLib/ResetLib.inf                             |  2 +-
 Platform/RaspberryPi/RPi3/RPi3.dsc                                                        | 34 ++++++++++----------
 Platform/RaspberryPi/RPi3/RPi3.fdf                                                        | 24 +++++++-------
 Platform/RaspberryPi/{RPi3/RPi3.dec => RaspberryPi.dec}                                   |  2 +-
 69 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
index 487b7e3592ab..3f0d7b6b9e9d 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
+++ b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
@@ -23,7 +23,7 @@ [Packages]
   MdePkg/MdePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   PcdLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c
rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
similarity index 94%
rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
index 24112d517467..28fc2682b585 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
@@ -33,7 +33,7 @@ [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni
rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr
rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c
rename to Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c
rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h
rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
similarity index 93%
rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
index 31da2090b402..4261f383e12a 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
+++ b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
@@ -35,7 +35,7 @@ [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   ArmPkg/ArmPkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c b/Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c
rename to Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
index f86480c035ba..e880c2fb0261 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
+++ b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
@@ -28,7 +28,7 @@ [Packages]
   EmbeddedPkg/EmbeddedPkg.dec
   MdeModulePkg/MdeModulePkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h
rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
index 570b05b62564..bf9912b4f7d8 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
+++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
@@ -22,7 +22,7 @@ [Packages]
   EmbeddedPkg/EmbeddedPkg.dec
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
similarity index 94%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
index 51d1eed12ea2..8a8c5a44b6a0 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+++ b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
@@ -36,7 +36,7 @@ [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c
rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c b/Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h
rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
index 0690f9da9c4f..b7a31dd43916 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
+++ b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
@@ -26,7 +26,7 @@ [Sources.common]
   Diagnostics.c
 
 [Packages]
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
   MdePkg/MdePkg.dec
 
 [LibraryClasses]
diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c
rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
rename to Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
similarity index 93%
rename from Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
rename to Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
index 485450625b54..0bd72c3ba6a1 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
+++ b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
@@ -26,7 +26,7 @@ [Packages]
   MdeModulePkg/MdeModulePkg.dec
   ArmPlatformPkg/ArmPlatformPkg.dec
   ArmPkg/ArmPkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
similarity index 91%
rename from Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
index bba00070764c..87bca98fec28 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
+++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
@@ -23,7 +23,7 @@ [Packages]
   MdePkg/MdePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   ArmLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c
rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
index 4a950dc05d6c..7386ff251864 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
+++ b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
@@ -25,7 +25,7 @@ [Packages]
   MdePkg/MdePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   PcdLib
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
similarity index 95%
rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
index 394a4f61a5b8..ecfb8f85c9c1 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
+++ b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
@@ -36,7 +36,7 @@ [Packages]
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h
rename to Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h b/Platform/RaspberryPi/Include/Protocol/DwUsb.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h
rename to Platform/RaspberryPi/Include/Protocol/DwUsb.h
diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h b/Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h
rename to Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h b/Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h
rename to Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h b/Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h
rename to Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
diff --git a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
rename to Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
diff --git a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
rename to Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c
rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h
rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
similarity index 94%
rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
index e1b132a0ae3a..79b75d667f55 100644
--- a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
@@ -32,7 +32,7 @@ [Packages]
   MdeModulePkg/MdeModulePkg.dec
   MdePkg/MdePkg.dec
   ShellPkg/ShellPkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S
rename to Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
similarity index 94%
rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
rename to Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
index 5c1f55e2df88..ed986034b957 100644
--- a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
+++ b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
@@ -23,7 +23,7 @@ [Packages]
   ArmPkg/ArmPkg.dec
   ArmPlatformPkg/ArmPlatformPkg.dec
   Silicon/Broadcom/Bcm283x/Bcm283x.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   ArmLib
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c
rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c
rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c
rename to Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
similarity index 91%
rename from Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
rename to Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
index 27b0c30c3917..ab1a917f7e92 100644
--- a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
+++ b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
@@ -22,7 +22,7 @@ [Sources]
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   UefiLib
diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c b/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
similarity index 100%
rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c
rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.c
diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
similarity index 92%
rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
index f58020bf912d..b02a06d9d0bf 100644
--- a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
+++ b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
@@ -27,7 +27,7 @@ [Packages]
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
-  Platform/RaspberryPi/RPi3/RPi3.dec
+  Platform/RaspberryPi/RaspberryPi.dec
 
 [LibraryClasses]
   DebugLib
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc
index e3dc2d494f6f..a0365c5cf606 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dsc
+++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
@@ -162,7 +162,7 @@ [LibraryClasses.common]
 [LibraryClasses.common.SEC]
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  MemoryInitPeiLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
+  MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
   PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
   ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
   LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
@@ -202,7 +202,7 @@ [LibraryClasses.common.UEFI_DRIVER]
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-  EfiResetSystemLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/ResetLib/ResetLib.inf
+  EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
   ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
 
 !if $(SECURE_BOOT_ENABLE) == TRUE
@@ -332,12 +332,12 @@ [PcdsFixedAtBuild.common]
 [LibraryClasses.common]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
-  ArmPlatformLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformLib/PlatformLib.inf
+  ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
-  PlatformBootManagerLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+  PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
 
@@ -479,7 +479,7 @@ [Components.common]
   #
   ArmPkg/Drivers/CpuDxe/CpuDxe.inf
   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
+  Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
     <LibraryClasses>
@@ -506,18 +506,18 @@ [Components.common]
 
   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+  Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
+  Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
 
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
 
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
+  Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
+  Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
+  Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
@@ -541,7 +541,7 @@ [Components.common]
   #
   # SMBIOS Support
   #
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
+  Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 
   #
@@ -557,12 +557,12 @@ [Components.common]
   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
+  Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
   MdeModulePkg/Application/UiApp/UiApp.inf {
     <LibraryClasses>
       NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
-      NULL|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformUiAppLib/PlatformUiAppLib.inf
+      NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
   }
 
@@ -575,7 +575,7 @@ [Components.common]
   #
   # USB Support
   #
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
+  Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
@@ -584,9 +584,9 @@ [Components.common]
   #
   # SD/MMC support
   #
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
-  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
+  Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
+  Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
+  Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
 
   #
   # Networking stack
diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf b/Platform/RaspberryPi/RPi3/RPi3.fdf
index b06a15fb8ec3..fd4e490fdcdf 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.fdf
+++ b/Platform/RaspberryPi/RPi3/RPi3.fdf
@@ -189,7 +189,7 @@ [FV.FvMain]
   INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
   INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
   INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
+  INF Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
   INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
   INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 !if $(SECURE_BOOT_ENABLE) == TRUE
@@ -206,16 +206,16 @@ [FV.FvMain]
   #
   INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
   INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+  INF Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
   INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
   INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
+  INF Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
 
   INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   INF Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
+  INF Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
+  INF Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
+  INF Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
   INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
   INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
   INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
@@ -247,7 +247,7 @@ [FV.FvMain]
   #
   # SMBIOS Support
   #
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
+  INF Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
   INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 
   #
@@ -284,7 +284,7 @@ [FV.FvMain]
   #
   # USB Support
   #
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
+  INF Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
   INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
   INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
   INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
@@ -293,14 +293,14 @@ [FV.FvMain]
   #
   # SD/MMC support
   #
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
+  INF Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
+  INF Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
+  INF Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
 
   #
   # Pi logo (splash screen)
   #
-  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
+  INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
 
   #
   # Device Tree support (used by FdtDxe)
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dec b/Platform/RaspberryPi/RaspberryPi.dec
similarity index 97%
rename from Platform/RaspberryPi/RPi3/RPi3.dec
rename to Platform/RaspberryPi/RaspberryPi.dec
index 0554ee20bac5..3e9171eccb13 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dec
+++ b/Platform/RaspberryPi/RaspberryPi.dec
@@ -9,7 +9,7 @@
 
 [Defines]
   DEC_SPECIFICATION              = 0x0001001A
-  PACKAGE_NAME                   = RPi3Pkg
+  PACKAGE_NAME                   = RaspberryPi
   PACKAGE_GUID                   = DFA0CA8B-F3AC-4607-96AC-46FA04B84DCC
   PACKAGE_VERSION                = 1.0
 
-- 
2.21.0.windows.1


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 11:25 [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4 Pete Batard
@ 2019-10-21 12:28 ` Philippe Mathieu-Daudé
  2019-10-21 12:52   ` Pete Batard
  0 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-21 12:28 UTC (permalink / raw)
  To: devel, pete; +Cc: ard.biesheuvel, leif.lindholm

Hi Pete,

On 10/21/19 1:25 PM, Pete Batard wrote:
> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
> is restructured by factorizing all the drivers and libraries that are
> going to be commonly used by the two platforms.
> 
> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
> means that almost everything, except the ACPI tables, is moved up
> into a new common RaspberryPi/ subdirectory that will serve both
> platforms. The .dec is also moved to this directory, under a new
> RaspberryPi.dec name, and existing references to it are updated.
> 
> No other changes are being applied at this stage.
> 
> Signed-off-by: Pete Batard <pete@akeo.ie>
> ---
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c               |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h               |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf             |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxe.c                             |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxe.inf                           |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h                  |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeHii.uni                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/ConfigDxe/ConfigDxeHii.vfr                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/ComponentName.c                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.c                           |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.h                           |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/DisplayDxe.inf                         |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DisplayDxe/Screenshot.c                           |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/ComponentName.c                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DriverBinding.c                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.c                       |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.h                       |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf                     |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/DwUsbHostDxe/DwcHw.h                              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/FdtDxe/FdtDxe.c                                   |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/FdtDxe/FdtDxe.inf                                 |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/ComponentName.c                |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsole.c              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsole.h              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf         |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni         |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni    |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/GraphicsConsoleDxe/NewFont.c                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/ComponentName.c                            |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Diagnostics.c                              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Mmc.c                                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/Mmc.h                                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcBlockIo.c                               |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcDebug.c                                 |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcDxe.inf                                 |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/MmcDxe/MmcIdentification.c                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c             |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf           |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c                   |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf                 |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/SdHostDxe/SdHostDxe.c                             |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/SdHostDxe/SdHostDxe.inf                           |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/FileIo.c                       |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/FvbInfo.c                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockService.c              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockService.h              |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c           |  0
>   Platform/RaspberryPi/{RPi3 => }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf         |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Include/IndustryStandard/RpiMbox.h                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Include/Protocol/DwUsb.h                                  |  0
>   Platform/RaspberryPi/{RPi3 => }/Include/Protocol/ExtendedTextOut.h                        |  0
>   Platform/RaspberryPi/{RPi3 => }/Include/Protocol/RpiFirmware.h                            |  0
>   Platform/RaspberryPi/{RPi3 => }/Include/Protocol/RpiMmcHost.h                             |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/MemoryInitPeiLib/MemoryInitPeiLib.c               |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf             |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBm.c               |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBm.h               |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/AArch64/RaspberryPiHelper.S           |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/PlatformLib.inf                       |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/RaspberryPi.c                         |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformLib/RaspberryPiMem.c                      |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformUiAppLib/PlatformUiAppLib.c               |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/PlatformUiAppLib/PlatformUiAppLib.inf             |  2 +-
>   Platform/RaspberryPi/{RPi3 => }/Library/ResetLib/ResetLib.c                               |  0
>   Platform/RaspberryPi/{RPi3 => }/Library/ResetLib/ResetLib.inf                             |  2 +-
>   Platform/RaspberryPi/RPi3/RPi3.dsc                                                        | 34 ++++++++++----------
>   Platform/RaspberryPi/RPi3/RPi3.fdf                                                        | 24 +++++++-------
>   Platform/RaspberryPi/{RPi3/RPi3.dec => RaspberryPi.dec}                                   |  2 +-
>   69 files changed, 45 insertions(+), 45 deletions(-)
> 
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
> rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
> rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> rename to Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> index 487b7e3592ab..3f0d7b6b9e9d 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> @@ -23,7 +23,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     EmbeddedPkg/EmbeddedPkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     PcdLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c
> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
> similarity index 94%
> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
> index 24112d517467..28fc2682b585 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
> @@ -33,7 +33,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     BaseLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni
> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr
> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c
> rename to Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c
> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h
> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
> similarity index 93%
> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
> index 31da2090b402..4261f383e12a 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
> @@ -35,7 +35,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
>     ArmPkg/ArmPkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     BaseLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c b/Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c
> rename to Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> index f86480c035ba..e880c2fb0261 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> @@ -28,7 +28,7 @@ [Packages]
>     EmbeddedPkg/EmbeddedPkg.dec
>     MdeModulePkg/MdeModulePkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     MemoryAllocationLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h
> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> index 570b05b62564..bf9912b4f7d8 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> @@ -22,7 +22,7 @@ [Packages]
>     EmbeddedPkg/EmbeddedPkg.dec
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     BaseLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> similarity index 94%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> index 51d1eed12ea2..8a8c5a44b6a0 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> @@ -36,7 +36,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     UefiBootServicesTableLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c
> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c b/Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h
> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
> index 0690f9da9c4f..b7a31dd43916 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
> @@ -26,7 +26,7 @@ [Sources.common]
>     Diagnostics.c
>   
>   [Packages]
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>     MdePkg/MdePkg.dec
>   
>   [LibraryClasses]
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c b/Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c
> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
> rename to Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> similarity index 93%
> rename from Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> rename to Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> index 485450625b54..0bd72c3ba6a1 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> @@ -26,7 +26,7 @@ [Packages]
>     MdeModulePkg/MdeModulePkg.dec
>     ArmPlatformPkg/ArmPlatformPkg.dec
>     ArmPkg/ArmPkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     UefiBootServicesTableLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> similarity index 91%
> rename from Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> index bba00070764c..87bca98fec28 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> @@ -23,7 +23,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     EmbeddedPkg/EmbeddedPkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     ArmLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c
> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> index 4a950dc05d6c..7386ff251864 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> @@ -25,7 +25,7 @@ [Packages]
>     MdePkg/MdePkg.dec
>     EmbeddedPkg/EmbeddedPkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     PcdLib
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
> diff --git a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> similarity index 95%
> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> index 394a4f61a5b8..ecfb8f85c9c1 100644
> --- a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> +++ b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> @@ -36,7 +36,7 @@ [Packages]
>     ArmPkg/ArmPkg.dec
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     BaseLib
> diff --git a/Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h
> rename to Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h b/Platform/RaspberryPi/Include/Protocol/DwUsb.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h
> rename to Platform/RaspberryPi/Include/Protocol/DwUsb.h
> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h b/Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h
> rename to Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h b/Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h
> rename to Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h b/Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h
> rename to Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
> diff --git a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
> rename to Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
> rename to Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c
> rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h
> rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> similarity index 94%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> rename to Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> index e1b132a0ae3a..79b75d667f55 100644
> --- a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> @@ -32,7 +32,7 @@ [Packages]
>     MdeModulePkg/MdeModulePkg.dec
>     MdePkg/MdePkg.dec
>     ShellPkg/ShellPkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     BaseLib
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S
> rename to Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
> similarity index 94%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
> rename to Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
> index 5c1f55e2df88..ed986034b957 100644
> --- a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
> +++ b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
> @@ -23,7 +23,7 @@ [Packages]
>     ArmPkg/ArmPkg.dec
>     ArmPlatformPkg/ArmPlatformPkg.dec
>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     ArmLib
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c
> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c
> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c
> rename to Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> similarity index 91%
> rename from Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> rename to Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> index 27b0c30c3917..ab1a917f7e92 100644
> --- a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> +++ b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> @@ -22,7 +22,7 @@ [Sources]
>   [Packages]
>     MdePkg/MdePkg.dec
>     MdeModulePkg/MdeModulePkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     UefiLib
> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c b/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
> similarity index 100%
> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c
> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.c
> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> similarity index 92%
> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> index f58020bf912d..b02a06d9d0bf 100644
> --- a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
> +++ b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> @@ -27,7 +27,7 @@ [Packages]
>     ArmPkg/ArmPkg.dec
>     MdePkg/MdePkg.dec
>     EmbeddedPkg/EmbeddedPkg.dec
> -  Platform/RaspberryPi/RPi3/RPi3.dec
> +  Platform/RaspberryPi/RaspberryPi.dec
>   
>   [LibraryClasses]
>     DebugLib
> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc
> index e3dc2d494f6f..a0365c5cf606 100644
> --- a/Platform/RaspberryPi/RPi3/RPi3.dsc
> +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
> @@ -162,7 +162,7 @@ [LibraryClasses.common]
>   [LibraryClasses.common.SEC]
>     PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>     BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  MemoryInitPeiLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
> +  MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>     PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
>     ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
>     LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
> @@ -202,7 +202,7 @@ [LibraryClasses.common.UEFI_DRIVER]
>   [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>     MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>     CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
> -  EfiResetSystemLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/ResetLib/ResetLib.inf
> +  EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>     ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
>   
>   !if $(SECURE_BOOT_ENABLE) == TRUE
> @@ -332,12 +332,12 @@ [PcdsFixedAtBuild.common]
>   [LibraryClasses.common]
>     ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>     ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> -  ArmPlatformLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformLib/PlatformLib.inf
> +  ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>     TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
>     CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>     UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>     BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> -  PlatformBootManagerLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +  PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>     CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>     FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
>   
> @@ -479,7 +479,7 @@ [Components.common]
>     #
>     ArmPkg/Drivers/CpuDxe/CpuDxe.inf
>     MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> +  Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>     MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>     MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
>       <LibraryClasses>
> @@ -506,18 +506,18 @@ [Components.common]
>   
>     MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>     MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> +  Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>     MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>     MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
> +  Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>   
>     MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>   
>     UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>     Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
> +  Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> +  Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> +  Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>     ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>     MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>     MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
> @@ -541,7 +541,7 @@ [Components.common]
>     #
>     # SMBIOS Support
>     #
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> +  Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>     MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>   
>     #
> @@ -557,12 +557,12 @@ [Components.common]
>     MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>     MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
>     MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
> +  Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf

This change seems not related to the rest of your refactor.

>     MdeModulePkg/Application/UiApp/UiApp.inf {
>       <LibraryClasses>
>         NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>         NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
> -      NULL|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> +      NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>         NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
>     }
>   
> @@ -575,7 +575,7 @@ [Components.common]
>     #
>     # USB Support
>     #
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> +  Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>     MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>     MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>     MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> @@ -584,9 +584,9 @@ [Components.common]
>     #
>     # SD/MMC support
>     #
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
> +  Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> +  Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> +  Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>   
>     #
>     # Networking stack
> diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf b/Platform/RaspberryPi/RPi3/RPi3.fdf
> index b06a15fb8ec3..fd4e490fdcdf 100644
> --- a/Platform/RaspberryPi/RPi3/RPi3.fdf
> +++ b/Platform/RaspberryPi/RPi3/RPi3.fdf
> @@ -189,7 +189,7 @@ [FV.FvMain]
>     INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>     INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>     INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> +  INF Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>     INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>     INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
>   !if $(SECURE_BOOT_ENABLE) == TRUE
> @@ -206,16 +206,16 @@ [FV.FvMain]
>     #
>     INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>     INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> +  INF Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>     INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>     INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
> +  INF Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>   
>     INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>     INF Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
> +  INF Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> +  INF Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> +  INF Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>     INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>     INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>     INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
> @@ -247,7 +247,7 @@ [FV.FvMain]
>     #
>     # SMBIOS Support
>     #
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> +  INF Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>     INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>   
>     #
> @@ -284,7 +284,7 @@ [FV.FvMain]
>     #
>     # USB Support
>     #
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> +  INF Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>     INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>     INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>     INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> @@ -293,14 +293,14 @@ [FV.FvMain]
>     #
>     # SD/MMC support
>     #
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
> +  INF Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> +  INF Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> +  INF Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>   
>     #
>     # Pi logo (splash screen)
>     #
> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
> +  INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf

Ditto.

The rest of the patch looks OK.

>   
>     #
>     # Device Tree support (used by FdtDxe)
> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dec b/Platform/RaspberryPi/RaspberryPi.dec
> similarity index 97%
> rename from Platform/RaspberryPi/RPi3/RPi3.dec
> rename to Platform/RaspberryPi/RaspberryPi.dec
> index 0554ee20bac5..3e9171eccb13 100644
> --- a/Platform/RaspberryPi/RPi3/RPi3.dec
> +++ b/Platform/RaspberryPi/RaspberryPi.dec
> @@ -9,7 +9,7 @@
>   
>   [Defines]
>     DEC_SPECIFICATION              = 0x0001001A
> -  PACKAGE_NAME                   = RPi3Pkg
> +  PACKAGE_NAME                   = RaspberryPi
>     PACKAGE_GUID                   = DFA0CA8B-F3AC-4607-96AC-46FA04B84DCC
>     PACKAGE_VERSION                = 1.0
>   
> 


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 12:28 ` [edk2-devel] " Philippe Mathieu-Daudé
@ 2019-10-21 12:52   ` Pete Batard
  2019-10-21 13:09     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 10+ messages in thread
From: Pete Batard @ 2019-10-21 12:52 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, devel; +Cc: ard.biesheuvel, leif.lindholm

Hi Philippe,

On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
> Hi Pete,
> 
> On 10/21/19 1:25 PM, Pete Batard wrote:
>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
>> is restructured by factorizing all the drivers and libraries that are
>> going to be commonly used by the two platforms.
>>
>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
>> means that almost everything, except the ACPI tables, is moved up
>> into a new common RaspberryPi/ subdirectory that will serve both
>> platforms. The .dec is also moved to this directory, under a new
>> RaspberryPi.dec name, and existing references to it are updated.
>>
>> No other changes are being applied at this stage.
>>
>> Signed-off-by: Pete Batard <pete@akeo.ie>
>> ---
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf             |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ConfigDxe/ConfigDxe.c                             |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ConfigDxe/ConfigDxe.inf                           |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h                  |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ConfigDxe/ConfigDxeHii.uni                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/ConfigDxe/ConfigDxeHii.vfr                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DisplayDxe/ComponentName.c                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DisplayDxe/DisplayDxe.c                           |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DisplayDxe/DisplayDxe.h                           |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DisplayDxe/DisplayDxe.inf                         |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DisplayDxe/Screenshot.c                           |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/ComponentName.c                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/DriverBinding.c                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.c                       |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.h                       |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf                     |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/DwUsbHostDxe/DwcHw.h                              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/FdtDxe/FdtDxe.c                                   |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/FdtDxe/FdtDxe.inf                                 |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/ComponentName.c                |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/GraphicsConsole.c              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/GraphicsConsole.h              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf         |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni         |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni    |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/GraphicsConsoleDxe/NewFont.c                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/ComponentName.c                            |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/Diagnostics.c                              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/Mmc.c                                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/Mmc.h                                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/MmcBlockIo.c                               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/MmcDebug.c                                 |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/MmcDxe.inf                                 |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/MmcDxe/MmcIdentification.c                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c             |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf           |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c                   |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf                 |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/SdHostDxe/SdHostDxe.c                             |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/SdHostDxe/SdHostDxe.inf                           |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/FileIo.c                       |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/FvbInfo.c                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/VarBlockService.c              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/VarBlockService.h              |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c           |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf         |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Include/IndustryStandard/RpiMbox.h                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Include/Protocol/DwUsb.h                                  |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Include/Protocol/ExtendedTextOut.h                        |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Include/Protocol/RpiFirmware.h                            |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Include/Protocol/RpiMmcHost.h                             |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/MemoryInitPeiLib/MemoryInitPeiLib.c               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf             |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformBootManagerLib/PlatformBm.c               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformBootManagerLib/PlatformBm.h               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformLib/AArch64/RaspberryPiHelper.S           |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformLib/PlatformLib.inf                       |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformLib/RaspberryPi.c                         |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformLib/RaspberryPiMem.c                      |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformUiAppLib/PlatformUiAppLib.c               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/PlatformUiAppLib/PlatformUiAppLib.inf             |  2 +-
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/ResetLib/ResetLib.c                               |  0
>>   Platform/RaspberryPi/{RPi3 => 
>> }/Library/ResetLib/ResetLib.inf                             |  2 +-
>>   
>> Platform/RaspberryPi/RPi3/RPi3.dsc                                                        
>> | 34 ++++++++++----------
>>   
>> Platform/RaspberryPi/RPi3/RPi3.fdf                                                        
>> | 24 +++++++-------
>>   Platform/RaspberryPi/{RPi3/RPi3.dec => 
>> RaspberryPi.dec}                                   |  2 +-
>>   69 files changed, 45 insertions(+), 45 deletions(-)
>>
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
>> rename to 
>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
>> rename to 
>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>> b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> similarity index 92%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> rename to 
>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> index 487b7e3592ab..3f0d7b6b9e9d 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> @@ -23,7 +23,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     EmbeddedPkg/EmbeddedPkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     PcdLib
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c 
>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c
>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf 
>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>> similarity index 94%
>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>> index 24112d517467..28fc2682b585 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>> @@ -33,7 +33,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     BaseLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h 
>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni 
>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni
>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr 
>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr
>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c 
>> b/Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c
>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c 
>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c
>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h 
>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h
>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf 
>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>> similarity index 93%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>> index 31da2090b402..4261f383e12a 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>> @@ -35,7 +35,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>>     ArmPkg/ArmPkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     BaseLib
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c 
>> b/Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c
>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>> similarity index 92%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>> index f86480c035ba..e880c2fb0261 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>> @@ -28,7 +28,7 @@ [Packages]
>>     EmbeddedPkg/EmbeddedPkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     MemoryAllocationLib
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h 
>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h
>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c 
>> b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
>> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf 
>> b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>> similarity index 92%
>> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
>> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>> index 570b05b62564..bf9912b4f7d8 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>> @@ -22,7 +22,7 @@ [Packages]
>>     EmbeddedPkg/EmbeddedPkg.dec
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     BaseLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c
>> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>> rename to 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>> rename to 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>> similarity index 94%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>
>> rename to 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>> index 51d1eed12ea2..8a8c5a44b6a0 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>
>> +++ 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>> @@ -36,7 +36,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     UefiBootServicesTableLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni 
>>
>> rename to 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>
>> rename to 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c 
>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c
>> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>> similarity index 92%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>> index 0690f9da9c4f..b7a31dd43916 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>> @@ -26,7 +26,7 @@ [Sources.common]
>>     Diagnostics.c
>>   [Packages]
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>     MdePkg/MdePkg.dec
>>   [LibraryClasses]
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c 
>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c
>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c 
>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>> rename to 
>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>> similarity index 93%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>> rename to 
>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>> index 485450625b54..0bd72c3ba6a1 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>
>> +++ 
>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>> @@ -26,7 +26,7 @@ [Packages]
>>     MdeModulePkg/MdeModulePkg.dec
>>     ArmPlatformPkg/ArmPlatformPkg.dec
>>     ArmPkg/ArmPkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     UefiBootServicesTableLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c 
>> b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>> b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> similarity index 91%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> index bba00070764c..87bca98fec28 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> @@ -23,7 +23,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     EmbeddedPkg/EmbeddedPkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     ArmLib
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c 
>> b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c
>> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf 
>> b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>> similarity index 92%
>> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
>> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>> index 4a950dc05d6c..7386ff251864 100644
>> --- a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
>> +++ b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>> @@ -25,7 +25,7 @@ [Packages]
>>     MdePkg/MdePkg.dec
>>     EmbeddedPkg/EmbeddedPkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     PcdLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c
>> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c
>> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c
>> rename to 
>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h
>> rename to 
>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
>> rename to 
>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>> similarity index 95%
>> rename from 
>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>
>> rename to 
>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>> index 394a4f61a5b8..ecfb8f85c9c1 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>
>> +++ 
>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>> @@ -36,7 +36,7 @@ [Packages]
>>     ArmPkg/ArmPkg.dec
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     BaseLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h 
>> b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h
>> rename to Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h 
>> b/Platform/RaspberryPi/Include/Protocol/DwUsb.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h
>> rename to Platform/RaspberryPi/Include/Protocol/DwUsb.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h 
>> b/Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h
>> rename to Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h 
>> b/Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h
>> rename to Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h 
>> b/Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h
>> rename to Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
>> rename to 
>> Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>> b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>> rename to 
>> Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c
>> rename to 
>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h
>> rename to 
>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> similarity index 94%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> rename to 
>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> index e1b132a0ae3a..79b75d667f55 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> +++ 
>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> @@ -32,7 +32,7 @@ [Packages]
>>     MdeModulePkg/MdeModulePkg.dec
>>     MdePkg/MdePkg.dec
>>     ShellPkg/ShellPkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     BaseLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S 
>> b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S
>> rename to 
>> Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf 
>> b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>> similarity index 94%
>> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
>> rename to Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>> index 5c1f55e2df88..ed986034b957 100644
>> --- a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
>> +++ b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>> @@ -23,7 +23,7 @@ [Packages]
>>     ArmPkg/ArmPkg.dec
>>     ArmPlatformPkg/ArmPlatformPkg.dec
>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     ArmLib
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c 
>> b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c
>> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c 
>> b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c
>> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c 
>>
>> similarity index 100%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c
>> rename to 
>> Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
>> diff --git 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf 
>> b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>> similarity index 91%
>> rename from 
>> Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>> rename to 
>> Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>> index 27b0c30c3917..ab1a917f7e92 100644
>> --- 
>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>> +++ b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>> @@ -22,7 +22,7 @@ [Sources]
>>   [Packages]
>>     MdePkg/MdePkg.dec
>>     MdeModulePkg/MdeModulePkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     UefiLib
>> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c 
>> b/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
>> similarity index 100%
>> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c
>> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.c
>> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf 
>> b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>> similarity index 92%
>> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
>> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>> index f58020bf912d..b02a06d9d0bf 100644
>> --- a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
>> +++ b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>> @@ -27,7 +27,7 @@ [Packages]
>>     ArmPkg/ArmPkg.dec
>>     MdePkg/MdePkg.dec
>>     EmbeddedPkg/EmbeddedPkg.dec
>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>> +  Platform/RaspberryPi/RaspberryPi.dec
>>   [LibraryClasses]
>>     DebugLib
>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc 
>> b/Platform/RaspberryPi/RPi3/RPi3.dsc
>> index e3dc2d494f6f..a0365c5cf606 100644
>> --- a/Platform/RaspberryPi/RPi3/RPi3.dsc
>> +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
>> @@ -162,7 +162,7 @@ [LibraryClasses.common]
>>   [LibraryClasses.common.SEC]
>>     PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>>     BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
>> -  
>> MemoryInitPeiLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>>
>> +  
>> MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>>
>>     PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
>>     
>> ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 
>>
>>     
>> LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf 
>>
>> @@ -202,7 +202,7 @@ [LibraryClasses.common.UEFI_DRIVER]
>>   [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>>     
>> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 
>>
>>     
>> CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>> -  
>> EfiResetSystemLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/ResetLib/ResetLib.inf 
>>
>> +  EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>>     ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
>>   !if $(SECURE_BOOT_ENABLE) == TRUE
>> @@ -332,12 +332,12 @@ [PcdsFixedAtBuild.common]
>>   [LibraryClasses.common]
>>     ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>>     ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>> -  
>> ArmPlatformLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformLib/PlatformLib.inf 
>>
>> +  
>> ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>>     TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
>>     
>> CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>>     
>> UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf 
>>
>>     BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
>> -  
>> PlatformBootManagerLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>> +  
>> PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>
>>     
>> CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf 
>>
>>     
>> FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
>> @@ -479,7 +479,7 @@ [Components.common]
>>     #
>>     ArmPkg/Drivers/CpuDxe/CpuDxe.inf
>>     MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>
>> +  Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>     
>> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>>     MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
>>       <LibraryClasses>
>> @@ -506,18 +506,18 @@ [Components.common]
>>     MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>>     MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>
>> +  Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>     MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>>     MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
>> +  Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>     MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>>     UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>>     Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>>
>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
>> +  Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> +  Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>> +  Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>     ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>>     MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>>     MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
>> @@ -541,7 +541,7 @@ [Components.common]
>>     #
>>     # SMBIOS Support
>>     #
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>
>> +  Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>     MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>     #
>> @@ -557,12 +557,12 @@ [Components.common]
>>     MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>>     
>> MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
>>     MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
>> +  Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
> 
> This change seems not related to the rest of your refactor.

It is. See https://edk2.groups.io/g/devel/message/49288

The problem is we have no choice but to break the patch in two sections, 
one that applies to edk2-platforms and the other to edk2-non-osi, since 
these are separate repos, and the LogoDxe changes belong to non-osi.

We need to have part of the non-osi patch that is applied to 
edk2-platforms, and it would make little sense to break it down into the 
non-osi related and platforms related, since it still relies on the 
non-osi changes having been applied.

If anything, I guess we could consider that the non-osi patch should 
come first. Still, whatever we do here, as long as only one of non-osi 
and platform is applied, builds are going to be broken, and there is no 
way to fix that unless you do consider the set of platforms + non-osi as 
a single patch.

>>     MdeModulePkg/Application/UiApp/UiApp.inf {
>>       <LibraryClasses>
>>         
>> NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>>         NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
>> -      
>> NULL|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformUiAppLib/PlatformUiAppLib.inf 
>>
>> +      
>> NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>         
>> NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf 
>>
>>     }
>> @@ -575,7 +575,7 @@ [Components.common]
>>     #
>>     # USB Support
>>     #
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>>
>> +  Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>     MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>>     MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>>     MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>> @@ -584,9 +584,9 @@ [Components.common]
>>     #
>>     # SD/MMC support
>>     #
>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
>> -  
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>
>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
>> +  Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>> +  Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> +  Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>     #
>>     # Networking stack
>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf 
>> b/Platform/RaspberryPi/RPi3/RPi3.fdf
>> index b06a15fb8ec3..fd4e490fdcdf 100644
>> --- a/Platform/RaspberryPi/RPi3/RPi3.fdf
>> +++ b/Platform/RaspberryPi/RPi3/RPi3.fdf
>> @@ -189,7 +189,7 @@ [FV.FvMain]
>>     INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>>     INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>>     INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>
>> +  INF 
>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>     INF 
>> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>>     INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
>>   !if $(SECURE_BOOT_ENABLE) == TRUE
>> @@ -206,16 +206,16 @@ [FV.FvMain]
>>     #
>>     INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>>     INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>
>> +  INF 
>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>     INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>>     INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>     INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>>     INF Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>>
>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>     INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>>     INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>>     INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
>> @@ -247,7 +247,7 @@ [FV.FvMain]
>>     #
>>     # SMBIOS Support
>>     #
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>
>> +  INF 
>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>     INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>     #
>> @@ -284,7 +284,7 @@ [FV.FvMain]
>>     #
>>     # USB Support
>>     #
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>>
>> +  INF Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>     INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>>     INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>>     INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>> @@ -293,14 +293,14 @@ [FV.FvMain]
>>     #
>>     # SD/MMC support
>>     #
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
>> -  INF 
>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>
>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>     #
>>     # Pi logo (splash screen)
>>     #
>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
>> +  INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
> 
> Ditto.

Same comment as above. The platforms + non-osi set of patches I sent 
should be considered as one, because, if you try to see them as 
independent patches, you will introduce platform breakage, no matter 
what you do. It's just the byproduct of having to contend with two 
separate repos. And even if we may somehow be able to skirt around 
platform breakage when applying only one patch, I don't think it would 
make much sense to do so just for the Logo driver. It really makes no 
sense to me to go great length to consider Platforms and non-OSI as to 
independent entities, when the only reason we have this split in the 
first place is for licensing issues, and absolutely nothing else. In 
other words, it is in my opinion a complete waste of time to go out of 
our ways to pretend the repos are independent, when they are very much 
intertwined.

Also, IIRC, last time I tried to present a platforms + non-osi patchset 
as 1/2, 2/2, I got some pushback on account that these were separate 
repos, which is why I send these as 1/1, 1/1.

Regards,

/Pete

> 
> The rest of the patch looks OK.
> 
>>     #
>>     # Device Tree support (used by FdtDxe)
>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dec 
>> b/Platform/RaspberryPi/RaspberryPi.dec
>> similarity index 97%
>> rename from Platform/RaspberryPi/RPi3/RPi3.dec
>> rename to Platform/RaspberryPi/RaspberryPi.dec
>> index 0554ee20bac5..3e9171eccb13 100644
>> --- a/Platform/RaspberryPi/RPi3/RPi3.dec
>> +++ b/Platform/RaspberryPi/RaspberryPi.dec
>> @@ -9,7 +9,7 @@
>>   [Defines]
>>     DEC_SPECIFICATION              = 0x0001001A
>> -  PACKAGE_NAME                   = RPi3Pkg
>> +  PACKAGE_NAME                   = RaspberryPi
>>     PACKAGE_GUID                   = DFA0CA8B-F3AC-4607-96AC-46FA04B84DCC
>>     PACKAGE_VERSION                = 1.0
>>
> 


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 12:52   ` Pete Batard
@ 2019-10-21 13:09     ` Philippe Mathieu-Daudé
  2019-10-21 13:24       ` Ard Biesheuvel
  0 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-21 13:09 UTC (permalink / raw)
  To: devel, pete; +Cc: ard.biesheuvel, leif.lindholm

On 10/21/19 2:52 PM, Pete Batard wrote:
> Hi Philippe,
> 
> On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
>> Hi Pete,
>>
>> On 10/21/19 1:25 PM, Pete Batard wrote:
>>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
>>> is restructured by factorizing all the drivers and libraries that are
>>> going to be commonly used by the two platforms.
>>>
>>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
>>> means that almost everything, except the ACPI tables, is moved up
>>> into a new common RaspberryPi/ subdirectory that will serve both
>>> platforms. The .dec is also moved to this directory, under a new
>>> RaspberryPi.dec name, and existing references to it are updated.
>>>
>>> No other changes are being applied at this stage.
>>>
>>> Signed-off-by: Pete Batard <pete@akeo.ie>
>>> ---
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf             |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ConfigDxe/ConfigDxe.c                             |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ConfigDxe/ConfigDxe.inf                           |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h                  |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ConfigDxe/ConfigDxeHii.uni                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/ConfigDxe/ConfigDxeHii.vfr                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DisplayDxe/ComponentName.c                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DisplayDxe/DisplayDxe.c                           |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DisplayDxe/DisplayDxe.h                           |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DisplayDxe/DisplayDxe.inf                         |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DisplayDxe/Screenshot.c                           |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/ComponentName.c                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/DriverBinding.c                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.c                       |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.h                       |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf                     |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/DwUsbHostDxe/DwcHw.h                              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/FdtDxe/FdtDxe.c                                   |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/FdtDxe/FdtDxe.inf                                 |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/ComponentName.c                |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/GraphicsConsole.c              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/GraphicsConsole.h              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf         |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni         |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni    |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/GraphicsConsoleDxe/NewFont.c                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/ComponentName.c                            |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/Diagnostics.c                              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/Mmc.c                                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/Mmc.h                                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/MmcBlockIo.c                               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/MmcDebug.c                                 |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/MmcDxe.inf                                 |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/MmcDxe/MmcIdentification.c                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c             |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf           |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c                   |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf                 |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/SdHostDxe/SdHostDxe.c                             |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/SdHostDxe/SdHostDxe.inf                           |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/FileIo.c                       |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/FvbInfo.c                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/VarBlockService.c              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/VarBlockService.h              |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c           |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf         |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Include/IndustryStandard/RpiMbox.h                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Include/Protocol/DwUsb.h                                  |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Include/Protocol/ExtendedTextOut.h                        |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Include/Protocol/RpiFirmware.h                            |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Include/Protocol/RpiMmcHost.h                             |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/MemoryInitPeiLib/MemoryInitPeiLib.c               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf             |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformBootManagerLib/PlatformBm.c               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformBootManagerLib/PlatformBm.h               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformLib/AArch64/RaspberryPiHelper.S           |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformLib/PlatformLib.inf                       |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformLib/RaspberryPi.c                         |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformLib/RaspberryPiMem.c                      |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformUiAppLib/PlatformUiAppLib.c               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/PlatformUiAppLib/PlatformUiAppLib.inf             |  2 +-
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/ResetLib/ResetLib.c                               |  0
>>>   Platform/RaspberryPi/{RPi3 => 
>>> }/Library/ResetLib/ResetLib.inf                             |  2 +-
>>> Platform/RaspberryPi/RPi3/RPi3.dsc | 34 ++++++++++----------
>>> Platform/RaspberryPi/RPi3/RPi3.fdf | 24 +++++++-------
>>>   Platform/RaspberryPi/{RPi3/RPi3.dec => 
>>> RaspberryPi.dec}                                   |  2 +-
>>>   69 files changed, 45 insertions(+), 45 deletions(-)
>>>
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c 
>>> b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
>>> rename to 
>>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h 
>>> b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
>>> rename to 
>>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> similarity index 92%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> rename to 
>>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> index 487b7e3592ab..3f0d7b6b9e9d 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>>
>>> +++ b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> @@ -23,7 +23,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     PcdLib
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c 
>>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.c
>>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>> similarity index 94%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>> index 24112d517467..28fc2682b585 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>> @@ -33,7 +33,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     BaseLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h 
>>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni 
>>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.uni
>>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr 
>>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/ConfigDxe/ConfigDxeHii.vfr
>>> rename to Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c 
>>> b/Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/ComponentName.c
>>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/ComponentName.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c 
>>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.c
>>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h 
>>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.h
>>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>> similarity index 93%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>> index 31da2090b402..4261f383e12a 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/DisplayDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>> @@ -35,7 +35,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     ArmPkg/ArmPkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     BaseLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c 
>>> b/Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DisplayDxe/Screenshot.c
>>> rename to Platform/RaspberryPi/Drivers/DisplayDxe/Screenshot.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/ComponentName.c
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/ComponentName.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DriverBinding.c
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DriverBinding.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>> similarity index 92%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>> index f86480c035ba..e880c2fb0261 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>> @@ -28,7 +28,7 @@ [Packages]
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     MemoryAllocationLib
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h 
>>> b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwcHw.h
>>> rename to Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwcHw.h
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c 
>>> b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
>>> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>>> similarity index 92%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>>> index 570b05b62564..bf9912b4f7d8 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>>> @@ -22,7 +22,7 @@ [Packages]
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     BaseLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c 
>>>
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/ComponentName.c
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/ComponentName.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsole.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>> similarity index 94%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>> index 51d1eed12ea2..8a8c5a44b6a0 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>>
>>> +++ 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>> @@ -36,7 +36,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     UefiBootServicesTableLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>>
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni 
>>>
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c 
>>> b/Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/GraphicsConsoleDxe/NewFont.c
>>> rename to Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/NewFont.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/ComponentName.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/ComponentName.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Diagnostics.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Diagnostics.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/Mmc.h
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/Mmc.h
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcBlockIo.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcBlockIo.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDebug.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDebug.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>> similarity index 92%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>> index 0690f9da9c4f..b7a31dd43916 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>> @@ -26,7 +26,7 @@ [Sources.common]
>>>     Diagnostics.c
>>>   [Packages]
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>     MdePkg/MdePkg.dec
>>>   [LibraryClasses]
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c 
>>> b/Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/MmcDxe/MmcIdentification.c
>>> rename to Platform/RaspberryPi/Drivers/MmcDxe/MmcIdentification.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c 
>>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>>> rename to 
>>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>> similarity index 93%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>> index 485450625b54..0bd72c3ba6a1 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>>
>>> +++ 
>>> b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>> @@ -26,7 +26,7 @@ [Packages]
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     ArmPlatformPkg/ArmPlatformPkg.dec
>>>     ArmPkg/ArmPkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     UefiBootServicesTableLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c 
>>> b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>>> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> similarity index 91%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> index bba00070764c..87bca98fec28 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> @@ -23,7 +23,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     ArmLib
>>> diff --git a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c 
>>> b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.c
>>> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>>> similarity index 92%
>>> rename from Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
>>> rename to Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>>> index 4a950dc05d6c..7386ff251864 100644
>>> --- a/Platform/RaspberryPi/RPi3/Drivers/SdHostDxe/SdHostDxe.inf
>>> +++ b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>>> @@ -25,7 +25,7 @@ [Packages]
>>>     MdePkg/MdePkg.dec
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     PcdLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FileIo.c
>>> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FileIo.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/FvbInfo.c
>>> rename to Platform/RaspberryPi/Drivers/VarBlockServiceDxe/FvbInfo.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.c
>>> rename to 
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockService.h
>>> rename to 
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>> similarity index 95%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>> index 394a4f61a5b8..ecfb8f85c9c1 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>>
>>> +++ 
>>> b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>> @@ -36,7 +36,7 @@ [Packages]
>>>     ArmPkg/ArmPkg.dec
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     BaseLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h 
>>> b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Include/IndustryStandard/RpiMbox.h
>>> rename to Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
>>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h 
>>> b/Platform/RaspberryPi/Include/Protocol/DwUsb.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/DwUsb.h
>>> rename to Platform/RaspberryPi/Include/Protocol/DwUsb.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h 
>>> b/Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/ExtendedTextOut.h
>>> rename to Platform/RaspberryPi/Include/Protocol/ExtendedTextOut.h
>>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h 
>>> b/Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiFirmware.h
>>> rename to Platform/RaspberryPi/Include/Protocol/RpiFirmware.h
>>> diff --git a/Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h 
>>> b/Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Include/Protocol/RpiMmcHost.h
>>> rename to Platform/RaspberryPi/Include/Protocol/RpiMmcHost.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c 
>>> b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
>>> rename to 
>>> Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>>> b/Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>>> rename to 
>>> Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c 
>>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.c
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h 
>>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBm.h
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.h
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> similarity index 94%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> index e1b132a0ae3a..79b75d667f55 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> +++ 
>>> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> @@ -32,7 +32,7 @@ [Packages]
>>>     MdeModulePkg/MdeModulePkg.dec
>>>     MdePkg/MdePkg.dec
>>>     ShellPkg/ShellPkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     BaseLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S 
>>> b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S 
>>>
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf 
>>> b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>>> similarity index 94%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
>>> rename to Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>>> index 5c1f55e2df88..ed986034b957 100644
>>> --- a/Platform/RaspberryPi/RPi3/Library/PlatformLib/PlatformLib.inf
>>> +++ b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>>> @@ -23,7 +23,7 @@ [Packages]
>>>     ArmPkg/ArmPkg.dec
>>>     ArmPlatformPkg/ArmPlatformPkg.dec
>>>     Silicon/Broadcom/Bcm283x/Bcm283x.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     ArmLib
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c 
>>> b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPi.c
>>> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPi.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c 
>>> b/Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformLib/RaspberryPiMem.c
>>> rename to Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c 
>>> b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
>>> similarity index 100%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.c
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.c
>>> diff --git 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf 
>>> b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>> similarity index 91%
>>> rename from 
>>> Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>> rename to 
>>> Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>> index 27b0c30c3917..ab1a917f7e92 100644
>>> --- 
>>> a/Platform/RaspberryPi/RPi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf 
>>>
>>> +++ b/Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>> @@ -22,7 +22,7 @@ [Sources]
>>>   [Packages]
>>>     MdePkg/MdePkg.dec
>>>     MdeModulePkg/MdeModulePkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     UefiLib
>>> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c 
>>> b/Platform/RaspberryPi/Library/ResetLib/ResetLib.c
>>> similarity index 100%
>>> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.c
>>> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.c
>>> diff --git a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf 
>>> b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>>> similarity index 92%
>>> rename from Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
>>> rename to Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>>> index f58020bf912d..b02a06d9d0bf 100644
>>> --- a/Platform/RaspberryPi/RPi3/Library/ResetLib/ResetLib.inf
>>> +++ b/Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>>> @@ -27,7 +27,7 @@ [Packages]
>>>     ArmPkg/ArmPkg.dec
>>>     MdePkg/MdePkg.dec
>>>     EmbeddedPkg/EmbeddedPkg.dec
>>> -  Platform/RaspberryPi/RPi3/RPi3.dec
>>> +  Platform/RaspberryPi/RaspberryPi.dec
>>>   [LibraryClasses]
>>>     DebugLib
>>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc 
>>> b/Platform/RaspberryPi/RPi3/RPi3.dsc
>>> index e3dc2d494f6f..a0365c5cf606 100644
>>> --- a/Platform/RaspberryPi/RPi3/RPi3.dsc
>>> +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
>>> @@ -162,7 +162,7 @@ [LibraryClasses.common]
>>>   [LibraryClasses.common.SEC]
>>>     PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>>>     BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
>>> - 
>>> MemoryInitPeiLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>>>
>>> + 
>>> MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf 
>>>
>>>     PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
>>> ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 
>>>
>>> LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf 
>>>
>>> @@ -202,7 +202,7 @@ [LibraryClasses.common.UEFI_DRIVER]
>>>   [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>>> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 
>>>
>>> CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>>> - 
>>> EfiResetSystemLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/ResetLib/ResetLib.inf 
>>>
>>> +  EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
>>>     ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
>>>   !if $(SECURE_BOOT_ENABLE) == TRUE
>>> @@ -332,12 +332,12 @@ [PcdsFixedAtBuild.common]
>>>   [LibraryClasses.common]
>>>     ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>>>     ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>>> - 
>>> ArmPlatformLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformLib/PlatformLib.inf 
>>>
>>> + 
>>> ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
>>>     TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
>>> CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>>> UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf 
>>>
>>>     BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
>>> - 
>>> PlatformBootManagerLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> + 
>>> PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>>>
>>> CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf 
>>>
>>> FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
>>> @@ -479,7 +479,7 @@ [Components.common]
>>>     #
>>>     ArmPkg/Drivers/CpuDxe/CpuDxe.inf
>>>     MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>>
>>> +
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>>>     MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
>>>       <LibraryClasses>
>>> @@ -506,18 +506,18 @@ [Components.common]
>>>     MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>>>     MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>>
>>> +
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>>     MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>>>     MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
>>> +  Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>>     MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>>>     UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>>>     Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>>>
>>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
>>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
>>> +  Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> +  Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>>> +  Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>>     ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>>>     MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>>>     MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
>>> @@ -541,7 +541,7 @@ [Components.common]
>>>     #
>>>     # SMBIOS Support
>>>     #
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>>
>>> +  Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>>     MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>>     #
>>> @@ -557,12 +557,12 @@ [Components.common]
>>>     MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>>> MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
>>>     MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
>>> +  Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
>>
>> This change seems not related to the rest of your refactor.
> 
> It is. See https://edk2.groups.io/g/devel/message/49288
> 
> The problem is we have no choice but to break the patch in two sections, 
> one that applies to edk2-platforms and the other to edk2-non-osi, since 
> these are separate repos, and the LogoDxe changes belong to non-osi.
> 
> We need to have part of the non-osi patch that is applied to 
> edk2-platforms, and it would make little sense to break it down into the 
> non-osi related and platforms related, since it still relies on the 
> non-osi changes having been applied.

I see.

> 
> If anything, I guess we could consider that the non-osi patch should 
> come first. Still, whatever we do here, as long as only one of non-osi 
> and platform is applied, builds are going to be broken, and there is no 
> way to fix that unless you do consider the set of platforms + non-osi as 
> a single patch.

Agreed, this is a egg/chicken problem.

> 
>>>     MdeModulePkg/Application/UiApp/UiApp.inf {
>>>       <LibraryClasses>
>>> NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>>>         NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
>>> - 
>>> NULL|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/PlatformUiAppLib/PlatformUiAppLib.inf 
>>>
>>> + 
>>> NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
>>> NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf 
>>>
>>>     }
>>> @@ -575,7 +575,7 @@ [Components.common]
>>>     #
>>>     # USB Support
>>>     #
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>>>
>>> +  Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>>     MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>>>     MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>>>     MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>>> @@ -584,9 +584,9 @@ [Components.common]
>>>     #
>>>     # SD/MMC support
>>>     #
>>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
>>> - 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>>
>>> -  Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
>>> +  Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>>> +  Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> +  Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>>     #
>>>     # Networking stack
>>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf 
>>> b/Platform/RaspberryPi/RPi3/RPi3.fdf
>>> index b06a15fb8ec3..fd4e490fdcdf 100644
>>> --- a/Platform/RaspberryPi/RPi3/RPi3.fdf
>>> +++ b/Platform/RaspberryPi/RPi3/RPi3.fdf
>>> @@ -189,7 +189,7 @@ [FV.FvMain]
>>>     INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>>>     INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>>>     INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf 
>>>
>>> +  INF 
>>> Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
>>>     INF 
>>> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>>>     INF 
>>> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
>>>   !if $(SECURE_BOOT_ENABLE) == TRUE
>>> @@ -206,16 +206,16 @@ [FV.FvMain]
>>>     #
>>>     INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>>>     INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 
>>>
>>> +  INF 
>>> Platform/RaspberryPi/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
>>>     INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>>>     INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DisplayDxe/DisplayDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
>>>     INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>>>     INF Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf 
>>>
>>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/FdtDxe/FdtDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ConfigDxe/ConfigDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
>>>     INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>>>     INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>>>     INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
>>> @@ -247,7 +247,7 @@ [FV.FvMain]
>>>     #
>>>     # SMBIOS Support
>>>     #
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>>
>>> +  INF 
>>> Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
>>>     INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>>     #
>>> @@ -284,7 +284,7 @@ [FV.FvMain]
>>>     #
>>>     # USB Support
>>>     #
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf 
>>>
>>> +  INF Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
>>>     INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>>>     INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>>>     INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>>> @@ -293,14 +293,14 @@ [FV.FvMain]
>>>     #
>>>     # SD/MMC support
>>>     #
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/SdHostDxe/SdHostDxe.inf
>>> -  INF 
>>> Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf 
>>>
>>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/MmcDxe/MmcDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
>>> +  INF 
>>> Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
>>>     #
>>>     # Pi logo (splash screen)
>>>     #
>>> -  INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf
>>> +  INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
>>
>> Ditto.
> 
> Same comment as above. The platforms + non-osi set of patches I sent 
> should be considered as one, because, if you try to see them as 
> independent patches, you will introduce platform breakage, no matter 
> what you do. It's just the byproduct of having to contend with two 
> separate repos. And even if we may somehow be able to skirt around 
> platform breakage when applying only one patch, I don't think it would 
> make much sense to do so just for the Logo driver. It really makes no 
> sense to me to go great length to consider Platforms and non-OSI as to 
> independent entities, when the only reason we have this split in the 
> first place is for licensing issues, and absolutely nothing else. In 
> other words, it is in my opinion a complete waste of time to go out of 
> our ways to pretend the repos are independent, when they are very much 
> intertwined.

I understand.

> 
> Also, IIRC, last time I tried to present a platforms + non-osi patchset 
> as 1/2, 2/2, I got some pushback on account that these were separate 
> repos, which is why I send these as 1/1, 1/1.

Fine by me.

Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>

> 
> Regards,
> 
> /Pete
> 
>>
>> The rest of the patch looks OK.
>>
>>>     #
>>>     # Device Tree support (used by FdtDxe)
>>> diff --git a/Platform/RaspberryPi/RPi3/RPi3.dec 
>>> b/Platform/RaspberryPi/RaspberryPi.dec
>>> similarity index 97%
>>> rename from Platform/RaspberryPi/RPi3/RPi3.dec
>>> rename to Platform/RaspberryPi/RaspberryPi.dec
>>> index 0554ee20bac5..3e9171eccb13 100644
>>> --- a/Platform/RaspberryPi/RPi3/RPi3.dec
>>> +++ b/Platform/RaspberryPi/RaspberryPi.dec
>>> @@ -9,7 +9,7 @@
>>>   [Defines]
>>>     DEC_SPECIFICATION              = 0x0001001A
>>> -  PACKAGE_NAME                   = RPi3Pkg
>>> +  PACKAGE_NAME                   = RaspberryPi
>>>     PACKAGE_GUID                   = 
>>> DFA0CA8B-F3AC-4607-96AC-46FA04B84DCC
>>>     PACKAGE_VERSION                = 1.0
>>>
>>
> 
> 
> 
> 


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 13:09     ` Philippe Mathieu-Daudé
@ 2019-10-21 13:24       ` Ard Biesheuvel
  2019-10-21 13:37         ` Pete Batard
  2019-10-21 13:46         ` Leif Lindholm
  0 siblings, 2 replies; 10+ messages in thread
From: Ard Biesheuvel @ 2019-10-21 13:24 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: edk2-devel-groups-io, Pete Batard, Leif Lindholm

On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> On 10/21/19 2:52 PM, Pete Batard wrote:
> > Hi Philippe,
> >
> > On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
> >> Hi Pete,
> >>
> >> On 10/21/19 1:25 PM, Pete Batard wrote:
> >>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
> >>> is restructured by factorizing all the drivers and libraries that are
> >>> going to be commonly used by the two platforms.
> >>>
> >>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
> >>> means that almost everything, except the ACPI tables, is moved up
> >>> into a new common RaspberryPi/ subdirectory that will serve both
> >>> platforms. The .dec is also moved to this directory, under a new
> >>> RaspberryPi.dec name, and existing references to it are updated.
> >>>
...
> >>
> >> This change seems not related to the rest of your refactor.
> >
> > It is. See https://edk2.groups.io/g/devel/message/49288
> >
> > The problem is we have no choice but to break the patch in two sections,
> > one that applies to edk2-platforms and the other to edk2-non-osi, since
> > these are separate repos, and the LogoDxe changes belong to non-osi.
> >
> > We need to have part of the non-osi patch that is applied to
> > edk2-platforms, and it would make little sense to break it down into the
> > non-osi related and platforms related, since it still relies on the
> > non-osi changes having been applied.
>
> I see.
>
> >
> > If anything, I guess we could consider that the non-osi patch should
> > come first. Still, whatever we do here, as long as only one of non-osi
> > and platform is applied, builds are going to be broken, and there is no
> > way to fix that unless you do consider the set of platforms + non-osi as
> > a single patch.
>
> Agreed, this is a egg/chicken problem.
>

I dealt with this in the past by just making sure the non-osi and
platform changes are applied at the same time. So it is good to make
note of this in the cover letter, but other than that, there is no way
we can apply interdependent changes to two separate repositories at
the same time without either breaking bisect for one of them, or
making a huge effort to add temporary code, defines etc that will be
removed again right after the changes have landed.

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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 13:24       ` Ard Biesheuvel
@ 2019-10-21 13:37         ` Pete Batard
  2019-10-21 13:46         ` Leif Lindholm
  1 sibling, 0 replies; 10+ messages in thread
From: Pete Batard @ 2019-10-21 13:37 UTC (permalink / raw)
  To: Ard Biesheuvel, Philippe Mathieu-Daudé
  Cc: edk2-devel-groups-io, Leif Lindholm

Hi Ard,

On 2019.10.21 14:24, Ard Biesheuvel wrote:
> On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>
>> On 10/21/19 2:52 PM, Pete Batard wrote:
>>> Hi Philippe,
>>>
>>> On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
>>>> Hi Pete,
>>>>
>>>> On 10/21/19 1:25 PM, Pete Batard wrote:
>>>>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
>>>>> is restructured by factorizing all the drivers and libraries that are
>>>>> going to be commonly used by the two platforms.
>>>>>
>>>>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
>>>>> means that almost everything, except the ACPI tables, is moved up
>>>>> into a new common RaspberryPi/ subdirectory that will serve both
>>>>> platforms. The .dec is also moved to this directory, under a new
>>>>> RaspberryPi.dec name, and existing references to it are updated.
>>>>>
> ...
>>>>
>>>> This change seems not related to the rest of your refactor.
>>>
>>> It is. See https://edk2.groups.io/g/devel/message/49288
>>>
>>> The problem is we have no choice but to break the patch in two sections,
>>> one that applies to edk2-platforms and the other to edk2-non-osi, since
>>> these are separate repos, and the LogoDxe changes belong to non-osi.
>>>
>>> We need to have part of the non-osi patch that is applied to
>>> edk2-platforms, and it would make little sense to break it down into the
>>> non-osi related and platforms related, since it still relies on the
>>> non-osi changes having been applied.
>>
>> I see.
>>
>>>
>>> If anything, I guess we could consider that the non-osi patch should
>>> come first. Still, whatever we do here, as long as only one of non-osi
>>> and platform is applied, builds are going to be broken, and there is no
>>> way to fix that unless you do consider the set of platforms + non-osi as
>>> a single patch.
>>
>> Agreed, this is a egg/chicken problem.
>>
> 
> I dealt with this in the past by just making sure the non-osi and
> platform changes are applied at the same time. So it is good to make
> note of this in the cover letter,

That is good advice. I'll make sure to follow that next time I have a 
non-osi + platforms dual patchset to submit, as it should indeed ease 
the review process.

Regards,

/Pete

> but other than that, there is no way
> we can apply interdependent changes to two separate repositories at
> the same time without either breaking bisect for one of them, or
> making a huge effort to add temporary code, defines etc that will be
> removed again right after the changes have landed.
> 


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 13:24       ` Ard Biesheuvel
  2019-10-21 13:37         ` Pete Batard
@ 2019-10-21 13:46         ` Leif Lindholm
  2019-10-21 14:28           ` Pete Batard
  1 sibling, 1 reply; 10+ messages in thread
From: Leif Lindholm @ 2019-10-21 13:46 UTC (permalink / raw)
  To: Ard Biesheuvel, Pete Batard
  Cc: Philippe Mathieu-Daudé, edk2-devel-groups-io

On Mon, Oct 21, 2019 at 03:24:47PM +0200, Ard Biesheuvel wrote:
> On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >
> > On 10/21/19 2:52 PM, Pete Batard wrote:
> > > Hi Philippe,
> > >
> > > On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
> > >> Hi Pete,
> > >>
> > >> On 10/21/19 1:25 PM, Pete Batard wrote:
> > >>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
> > >>> is restructured by factorizing all the drivers and libraries that are
> > >>> going to be commonly used by the two platforms.
> > >>>
> > >>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
> > >>> means that almost everything, except the ACPI tables, is moved up
> > >>> into a new common RaspberryPi/ subdirectory that will serve both
> > >>> platforms. The .dec is also moved to this directory, under a new
> > >>> RaspberryPi.dec name, and existing references to it are updated.
> > >>>
> ...
> > >>
> > >> This change seems not related to the rest of your refactor.
> > >
> > > It is. See https://edk2.groups.io/g/devel/message/49288
> > >
> > > The problem is we have no choice but to break the patch in two sections,
> > > one that applies to edk2-platforms and the other to edk2-non-osi, since
> > > these are separate repos, and the LogoDxe changes belong to non-osi.
> > >
> > > We need to have part of the non-osi patch that is applied to
> > > edk2-platforms, and it would make little sense to break it down into the
> > > non-osi related and platforms related, since it still relies on the
> > > non-osi changes having been applied.
> >
> > I see.
> >
> > >
> > > If anything, I guess we could consider that the non-osi patch should
> > > come first. Still, whatever we do here, as long as only one of non-osi
> > > and platform is applied, builds are going to be broken, and there is no
> > > way to fix that unless you do consider the set of platforms + non-osi as
> > > a single patch.
> >
> > Agreed, this is a egg/chicken problem.
> >
> 
> I dealt with this in the past by just making sure the non-osi and
> platform changes are applied at the same time. So it is good to make
> note of this in the cover letter, but other than that, there is no way
> we can apply interdependent changes to two separate repositories at
> the same time without either breaking bisect for one of them, or
> making a huge effort to add temporary code, defines etc that will be
> removed again right after the changes have landed.

Agreed. My preference would be to treat edk2-non-osi as the chicken,
and edk2-platforms the egg. I could put the requisite edk2-non-osi
hash into the edk2-platforms commit message before pushing, adding a
line like:

"This commit requires the edk2-non-osi in use to contain commit <hash>
in order to build."

If I'm feeling nitpicky, that could replace the comment
"No other changes are being applied at this stage."

Pete: would you be OK with those two changes?

Best Regards,

Leif

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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 13:46         ` Leif Lindholm
@ 2019-10-21 14:28           ` Pete Batard
  2019-10-21 14:39             ` Leif Lindholm
  0 siblings, 1 reply; 10+ messages in thread
From: Pete Batard @ 2019-10-21 14:28 UTC (permalink / raw)
  To: Leif Lindholm, Ard Biesheuvel
  Cc: Philippe Mathieu-Daudé, edk2-devel-groups-io

Hi Leif,

On 2019.10.21 14:46, Leif Lindholm wrote:
> On Mon, Oct 21, 2019 at 03:24:47PM +0200, Ard Biesheuvel wrote:
>> On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>>
>>> On 10/21/19 2:52 PM, Pete Batard wrote:
>>>> Hi Philippe,
>>>>
>>>> On 2019.10.21 13:28, Philippe Mathieu-Daudé wrote:
>>>>> Hi Pete,
>>>>>
>>>>> On 10/21/19 1:25 PM, Pete Batard wrote:
>>>>>> In preparation for adding Raspberry Pi 4 support, the Pi 3 platform
>>>>>> is restructured by factorizing all the drivers and libraries that are
>>>>>> going to be commonly used by the two platforms.
>>>>>>
>>>>>> Because much of the Pi 4 SoC is an extension of the Pi 3 one this
>>>>>> means that almost everything, except the ACPI tables, is moved up
>>>>>> into a new common RaspberryPi/ subdirectory that will serve both
>>>>>> platforms. The .dec is also moved to this directory, under a new
>>>>>> RaspberryPi.dec name, and existing references to it are updated.
>>>>>>
>> ...
>>>>>
>>>>> This change seems not related to the rest of your refactor.
>>>>
>>>> It is. See https://edk2.groups.io/g/devel/message/49288
>>>>
>>>> The problem is we have no choice but to break the patch in two sections,
>>>> one that applies to edk2-platforms and the other to edk2-non-osi, since
>>>> these are separate repos, and the LogoDxe changes belong to non-osi.
>>>>
>>>> We need to have part of the non-osi patch that is applied to
>>>> edk2-platforms, and it would make little sense to break it down into the
>>>> non-osi related and platforms related, since it still relies on the
>>>> non-osi changes having been applied.
>>>
>>> I see.
>>>
>>>>
>>>> If anything, I guess we could consider that the non-osi patch should
>>>> come first. Still, whatever we do here, as long as only one of non-osi
>>>> and platform is applied, builds are going to be broken, and there is no
>>>> way to fix that unless you do consider the set of platforms + non-osi as
>>>> a single patch.
>>>
>>> Agreed, this is a egg/chicken problem.
>>>
>>
>> I dealt with this in the past by just making sure the non-osi and
>> platform changes are applied at the same time. So it is good to make
>> note of this in the cover letter, but other than that, there is no way
>> we can apply interdependent changes to two separate repositories at
>> the same time without either breaking bisect for one of them, or
>> making a huge effort to add temporary code, defines etc that will be
>> removed again right after the changes have landed.
> 
> Agreed. My preference would be to treat edk2-non-osi as the chicken,
> and edk2-platforms the egg. I could put the requisite edk2-non-osi
> hash into the edk2-platforms commit message before pushing, adding a
> line like:
> 
> "This commit requires the edk2-non-osi in use to contain commit <hash>
> in order to build."
> 
> If I'm feeling nitpicky, that could replace the comment
> "No other changes are being applied at this stage."
> 
> Pete: would you be OK with those two changes?

Sounds good. Feel free to go ahead with these changes, thanks.

/Pete

> 
> Best Regards,
> 
> Leif
> 


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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 14:28           ` Pete Batard
@ 2019-10-21 14:39             ` Leif Lindholm
  2019-10-21 16:59               ` Pete Batard
  0 siblings, 1 reply; 10+ messages in thread
From: Leif Lindholm @ 2019-10-21 14:39 UTC (permalink / raw)
  To: Pete Batard
  Cc: Ard Biesheuvel, Philippe Mathieu-Daudé, edk2-devel-groups-io

On Mon, Oct 21, 2019 at 03:28:37PM +0100, Pete Batard wrote:
> Hi Leif,
> 
> On 2019.10.21 14:46, Leif Lindholm wrote:
> > On Mon, Oct 21, 2019 at 03:24:47PM +0200, Ard Biesheuvel wrote:
> > > On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> > > > > If anything, I guess we could consider that the non-osi patch should
> > > > > come first. Still, whatever we do here, as long as only one of non-osi
> > > > > and platform is applied, builds are going to be broken, and there is no
> > > > > way to fix that unless you do consider the set of platforms + non-osi as
> > > > > a single patch.
> > > > 
> > > > Agreed, this is a egg/chicken problem.
> > > 
> > > I dealt with this in the past by just making sure the non-osi and
> > > platform changes are applied at the same time. So it is good to make
> > > note of this in the cover letter, but other than that, there is no way
> > > we can apply interdependent changes to two separate repositories at
> > > the same time without either breaking bisect for one of them, or
> > > making a huge effort to add temporary code, defines etc that will be
> > > removed again right after the changes have landed.
> > 
> > Agreed. My preference would be to treat edk2-non-osi as the chicken,
> > and edk2-platforms the egg. I could put the requisite edk2-non-osi
> > hash into the edk2-platforms commit message before pushing, adding a
> > line like:
> > 
> > "This commit requires the edk2-non-osi in use to contain commit <hash>
> > in order to build."
> > 
> > If I'm feeling nitpicky, that could replace the comment
> > "No other changes are being applied at this stage."
> > 
> > Pete: would you be OK with those two changes?
> 
> Sounds good. Feel free to go ahead with these changes, thanks.

In that case:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Pushed as 03f36b8fcfb7.

Thanks!

Do you know when the Pi4 upstreaming is likely to start?
As you may have seen from my autoresponder, I'm traveling this week
and next.

Best Regards,

Leif (from the backseat of a car going down the M25)

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

* Re: [edk2-devel] [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4
  2019-10-21 14:39             ` Leif Lindholm
@ 2019-10-21 16:59               ` Pete Batard
  0 siblings, 0 replies; 10+ messages in thread
From: Pete Batard @ 2019-10-21 16:59 UTC (permalink / raw)
  To: Leif Lindholm
  Cc: Ard Biesheuvel, Philippe Mathieu-Daudé, edk2-devel-groups-io

On 2019.10.21 15:39, Leif Lindholm wrote:
> On Mon, Oct 21, 2019 at 03:28:37PM +0100, Pete Batard wrote:
>> Hi Leif,
>>
>> On 2019.10.21 14:46, Leif Lindholm wrote:
>>> On Mon, Oct 21, 2019 at 03:24:47PM +0200, Ard Biesheuvel wrote:
>>>> On Mon, 21 Oct 2019 at 15:09, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>>>>> If anything, I guess we could consider that the non-osi patch should
>>>>>> come first. Still, whatever we do here, as long as only one of non-osi
>>>>>> and platform is applied, builds are going to be broken, and there is no
>>>>>> way to fix that unless you do consider the set of platforms + non-osi as
>>>>>> a single patch.
>>>>>
>>>>> Agreed, this is a egg/chicken problem.
>>>>
>>>> I dealt with this in the past by just making sure the non-osi and
>>>> platform changes are applied at the same time. So it is good to make
>>>> note of this in the cover letter, but other than that, there is no way
>>>> we can apply interdependent changes to two separate repositories at
>>>> the same time without either breaking bisect for one of them, or
>>>> making a huge effort to add temporary code, defines etc that will be
>>>> removed again right after the changes have landed.
>>>
>>> Agreed. My preference would be to treat edk2-non-osi as the chicken,
>>> and edk2-platforms the egg. I could put the requisite edk2-non-osi
>>> hash into the edk2-platforms commit message before pushing, adding a
>>> line like:
>>>
>>> "This commit requires the edk2-non-osi in use to contain commit <hash>
>>> in order to build."
>>>
>>> If I'm feeling nitpicky, that could replace the comment
>>> "No other changes are being applied at this stage."
>>>
>>> Pete: would you be OK with those two changes?
>>
>> Sounds good. Feel free to go ahead with these changes, thanks.
> 
> In that case:
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> Pushed as 03f36b8fcfb7.
> 
> Thanks!

Great, thanks!

> Do you know when the Pi4 upstreaming is likely to start?

Well, as opposed to what was the case for the Pi 3 when we started 
upstreaming, we don't have a fully working Pi 4 platform yet (or at 
least, there's a fair amount of work left before we can put a checkmark 
against all the major elements we would like to see checked). So what 
we'll probably be aiming at is figure out some kind of minimum viable 
platform that can be officially submitted, that may not do much, but 
that we can then build upon in a more public and official manner.

Now, since there are quite a few people involved on this one, and we 
need to discuss this internally, I doubt we're going to start publicly 
submitting anything Pi 4 related before one week at least. Figuring out 
what we want to submit, or even if we're truly at a stage where we have 
something proper to submit, is the current next step for us, as we 
wanted to make sure mainline was okay with the structure we are planning 
to go with before moving further (which makes the quick turnover on this 
patchset much appreciated!).

For the record, we have a couple of staging repos at:

https://github.com/samerhaj/edk2-platforms/tree/pi4_staging
https://github.com/samerhaj/edk2-non-osi/tree/pi4_staging

as well as Andrei Warkentin's main development tree (over which the 
repos above are based) at:

https://github.com/andreiw/lampone-edk2-platforms/commits/pi4-hack
https://github.com/andreiw/lampone-edk2-platforms/commits/master

Of course, these are very much WIP still, and not something we can use 
to generate a patchset from.

At this stage, I would say that our biggest issue, apart from various 
drivers not being finalized, is that mainline ARM Trusted Firmware has 
recently integrated support for the Pi 4 in a way that is completely 
different from what we went for (because there was no Trusted Firmware 
to start with, Andrei had to figure out his own, which was based on 
extending the Pi 3's). For starters they went for a BL31 only approach: 
https://github.com/ARM-software/arm-trusted-firmware/commit/f5cb15b0c886afaa41c5d3dad8e859b6a41f76ab. 
This means that, depending on how complex it might be to retrofit 
official ATF, we may submit an initial patchset that relies on our own 
binaries, and leave the switching to official ATF done at a later date...

> As you may have seen from my autoresponder, I'm traveling this week
> and next.

Yes. We'll take that into account.

I believe you might also meet with Samer (El-Haj-Mahmoud), who is 
participating in the Pi 4 porting effort (the first repos above are 
his). So feel free to ask for his views as well.

I guess I'll wish you some pleasant and safe travels then.

Regards,

/Pete

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

end of thread, other threads:[~2019-10-21 16:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-21 11:25 [edk2-platforms][PATCH 1/1] Platforms/RPi3: Restructure platform in preparation for Pi 4 Pete Batard
2019-10-21 12:28 ` [edk2-devel] " Philippe Mathieu-Daudé
2019-10-21 12:52   ` Pete Batard
2019-10-21 13:09     ` Philippe Mathieu-Daudé
2019-10-21 13:24       ` Ard Biesheuvel
2019-10-21 13:37         ` Pete Batard
2019-10-21 13:46         ` Leif Lindholm
2019-10-21 14:28           ` Pete Batard
2019-10-21 14:39             ` Leif Lindholm
2019-10-21 16:59               ` Pete Batard

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