public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH 0/6] Platform/RPi4: ACPI improvements
@ 2019-12-18 11:41 Pete Batard
  2019-12-18 11:41 ` [edk2-platforms][PATCH 1/6] Platform/RPi4: Clean up ACPI definitions Pete Batard
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Pete Batard @ 2019-12-18 11:41 UTC (permalink / raw)
  To: devel; +Cc: ard.biesheuvel, leif.lindholm, philmd

This series aims at bringing the Raspberry Pi 4 platform to a state
where its firmware can actually be used with Linux OSes

For instance, we have tested installation of vanilla Debian 10.2 on
a USB 3.0 flash drive with a UEFI firmware built with these patches
and, notwhistanding the lack of NIC or SD support (that have to do
with these drivers not being included/finalized in the current Debian 
kernel), found that the system could be installed and could run
without trouble.

A few caveats are however required to achieve this:
* If using the serial console, the platform UART should be set to
  PL011 rather than miniUART, as the miniUART baudrate is altered
  when the CPU throttles.
* ACPI needs to be enforced over Device Tree, with some additional
  limitations regarding the maximum amount of RAM reported (3 GB
  max) due to DMA.

This series effectively introduces two new build flags (PL011_ENABLE,
ACPI_BASIC_MODE_ENABLE) to deal with the above.

The rest of the series has mostly to do with ACPI improvements to
make the above possible by:
* Harmonizing and cleaning up existing ACPI sources
* Using full aslc code for FADT, SPCR and DBG2
* Adding an XHCI table as well as a dummy MCFG table (the latter
  only being added to suppress a warning from the kernel about
  missing MCFG, since PCIe for that platform is not ECAM compliant)


Andrei Warkentin (1):
  Platform/RPi4: Add XHCI and MCFG ACPI tables

Ard Biesheuvel (1):
  Platform/RPi4: Add ACPI basic mode build option

Pete Batard (4):
  Platform/RPi4: Clean up ACPI definitions
  Platform/RPi4: Improve FADT ACPI table generation
  Platform/RPi4: Improve SPCR and DBG2 ACPI table generation
  Platform/RPi4: Add switch to select between PL011 and miniUART

 Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf  |   3 +
 Platform/RaspberryPi/Library/PlatformLib/RaspberryPiMem.c |   8 ++
 Platform/RaspberryPi/RPi4/AcpiTables/AcpiTables.h         |  12 +-
 Platform/RaspberryPi/RPi4/AcpiTables/AcpiTables.inf       |   9 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Csrt.aslc            |  42 +++---
 Platform/RaspberryPi/RPi4/AcpiTables/Dbg2.aslc            | 110 +++++++++++++--
 Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl             |   1 +
 Platform/RaspberryPi/RPi4/AcpiTables/Fadt.aslc            | 104 +++++++++++----
 Platform/RaspberryPi/RPi4/AcpiTables/Gtdt.aslc            |  30 ++---
 Platform/RaspberryPi/RPi4/AcpiTables/Madt.aslc            |  11 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Mcfg.aslc            |  81 +++++++++++
 Platform/RaspberryPi/RPi4/AcpiTables/Pep.asl              |   4 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Pep.c                |   6 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Pep.h                |   8 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Spcr.asl             |  48 -------
 Platform/RaspberryPi/RPi4/AcpiTables/Spcr.aslc            | 101 ++++++++++++++
 Platform/RaspberryPi/RPi4/AcpiTables/Uart.asl             |   6 +-
 Platform/RaspberryPi/RPi4/AcpiTables/Xhci.asl             | 140 ++++++++++++++++++++
 Platform/RaspberryPi/RPi4/RPi4.dsc                        |  29 ++++
 Platform/RaspberryPi/RPi4/RPi4.fdf                        |   7 +
 Platform/RaspberryPi/RPi4/Readme.md                       |  52 ++++++--
 Platform/RaspberryPi/RaspberryPi.dec                      |   3 +
 22 files changed, 657 insertions(+), 158 deletions(-)
 create mode 100644 Platform/RaspberryPi/RPi4/AcpiTables/Mcfg.aslc
 delete mode 100644 Platform/RaspberryPi/RPi4/AcpiTables/Spcr.asl
 create mode 100644 Platform/RaspberryPi/RPi4/AcpiTables/Spcr.aslc
 create mode 100644 Platform/RaspberryPi/RPi4/AcpiTables/Xhci.asl

-- 
2.21.0.windows.1


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

end of thread, other threads:[~2019-12-18 17:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-18 11:41 [edk2-platforms][PATCH 0/6] Platform/RPi4: ACPI improvements Pete Batard
2019-12-18 11:41 ` [edk2-platforms][PATCH 1/6] Platform/RPi4: Clean up ACPI definitions Pete Batard
2019-12-18 11:41 ` [edk2-platforms][PATCH 2/6] Platform/RPi4: Improve FADT ACPI table generation Pete Batard
2019-12-18 14:46   ` Ard Biesheuvel
2019-12-18 16:31     ` Pete Batard
2019-12-18 11:41 ` [edk2-platforms][PATCH 3/6] Platform/RPi4: Improve SPCR and DBG2 " Pete Batard
2019-12-18 15:57   ` Philippe Mathieu-Daudé
2019-12-18 16:36     ` Pete Batard
2019-12-18 17:00       ` Philippe Mathieu-Daudé
2019-12-18 17:10         ` Pete Batard
2019-12-18 11:41 ` [edk2-platforms][PATCH 4/6] Platform/RPi4: Add switch to select between PL011 and miniUART Pete Batard
2019-12-18 16:05   ` Philippe Mathieu-Daudé
2019-12-18 16:59     ` [edk2-devel] " Pete Batard
2019-12-18 17:05       ` Philippe Mathieu-Daudé
2019-12-18 11:41 ` [edk2-platforms][PATCH 5/6] Platform/RPi4: Add XHCI and MCFG ACPI tables Pete Batard
2019-12-18 14:55   ` Ard Biesheuvel
2019-12-18 16:31     ` Pete Batard
2019-12-18 11:41 ` [edk2-platforms][PATCH 6/6] Platform/RPi4: Add ACPI basic mode build option Pete Batard
2019-12-18 12:10   ` Leif Lindholm

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