EmbeddedPkg: add DT platform driver to select between DT and ACPI
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 27 Mar 2017 09:57:31 +0000 (10:57 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 28 Mar 2017 17:58:15 +0000 (18:58 +0100)
EmbeddedPkg: add DT platform driver to select between DT and ACPI

As a follow up to the changes proposed by Laszlo to make ACPI and DT
mutually exclusive on ArmVirtQemu, this patch proposes a DT platform
DXE driver that either installs the NULL protocol PlatformHasAcpiGuid,
or installs the FV embedded DTB binary as a configuration table under
the appropriate GUID, depending on a preference setting recorded as
a UEFI variable, and configurable via a HII screen.

The DTB binary can be embedded in the firmware image by adding the
following to the platform .fdf file:

  FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 {
    SECTION RAW = SomePkg/path/to/foo.dtb

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c [new file with mode: 0644]
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.h [new file with mode: 0644]
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf [new file with mode: 0644]
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.uni [new file with mode: 0644]
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr [new file with mode: 0644]
EmbeddedPkg/Include/Guid/DtPlatformDefaultDtbFile.h [new file with mode: 0644]
EmbeddedPkg/Include/Guid/DtPlatformFormSet.h [new file with mode: 0644]