summaryrefslogtreecommitdiff
path: root/Platform/RaspberryPi/RPi3
diff options
context:
space:
mode:
authorAndrei Warkentin <andrey.warkentin@gmail.com>2020-05-10 14:34:50 -0700
committerArd Biesheuvel <ard.biesheuvel@arm.com>2020-05-11 13:27:50 +0200
commitd492639638eee331ac3389e6cf53ea266c3c84b3 (patch)
tree763b56ae6a5b129ce0636a8656cd3e9b427ff5c7 /Platform/RaspberryPi/RPi3
parente52345a42fd37771514da9ef63569603280258ea (diff)
RPi: allow selecting DT-only mode
Today the Pies can be booted in a way where only ACPI is exposed, or both ACPI and DT are exposed. This adds one more mode - DT only, no ACPI. The target audience is developers. When both are exposed, it's up to the OS to decide which gets used, and that choice can differ between OSes, Note: this does _not_ change defaults. Pi 3 still defaults to ACPI + DT, while Pi 4 still defaults to ACPI only. We don't really want to remove DT + ACPI mode - it is the default on Pi 3, and removing it is bound to just annoy users - WoA and NetBSD (voa UEFI) on Pi 3 only work with ACPI, while everything else (Linux, FreeBSD) only work with DT. I'd make an analogy of MPS and ACPI being exposed for the longest time ever together on PCs. Testing: OpenBSD on Pi 4 with DT-only and ACPI-only boots. Signed-off-by: Andrei Warkentin <andrey.warkentin@gmail.com> Reviewed-by: Pete Batard <pete@akeo.ie>
Diffstat (limited to 'Platform/RaspberryPi/RPi3')
-rw-r--r--Platform/RaspberryPi/RPi3/RPi3.dsc8
1 files changed, 6 insertions, 2 deletions
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc
index bf645110..10ad7965 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dsc
+++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
@@ -484,9 +484,13 @@
gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|0
#
- # Device Tree
+ # Device Tree and ACPI selection.
#
- gRaspberryPiTokenSpaceGuid.PcdOptDeviceTree|L"OptDeviceTree"|gConfigDxeFormSetGuid|0x0|1
+ # 0 - SYSTEM_TABLE_MODE_ACPI
+ # 1 - SYSTEM_TABLE_MODE_BOTH (default)
+ # 2 - SYSTEM_TABLE_MODE_DT
+ #
+ gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|1
#
# Common UEFI ones.